[QGIS 문의] 렌더링 속도 향상 방안의 건

180 views
Skip to first unread message

shJeong

unread,
Mar 2, 2022, 10:24:00 PMMar 2
to OSGeo(Open Source GeoSpatial) 한국어 지부 - OSGeo Korean Chapter
안녕하세요. 

아직 QGIS 사용 경험이 많지 않아 매번 문의만 드리게 되네요. 양해 말씀 드립니다.

QGIS 렌더링 관련하여, QGIS 온라인 문서에서 렌더링 속도 향상을 위한 옵션 변경을 시도해 보았으나, 생각 만큼의 속도가 나오지 않아 문의 드리게 되었습니다.

이전 문의 시에 말씀드린 것처럼 Postgresql에 데이터를 Import 한 상태에서 데이터를 읽어와 전체 노드, 링크 데이터를 사용하였을 때, 속도가 너무 느려, 일정 영역에 해당하는 뷰를 생성하여 테스트 해 보고 있습니다.

첫번째 문의는 QGIS는 화면에 보이는 영역 만큼을 렌더링 하는 것인지 아니면 화면외 영역에 대해서도 렌더링 하는 것인지 궁금합니다. (노드, 링크를 그리는 속도가 너무 느려 OpenStreetMap 타일맵을 백그라운드 레이어에 추가 하였을 때, OpenStreetMap은 빠르게 갱신됩니다.)

두번째 문의는 QGIS는 지도를 이동할 때 현재 그려진 영역외 부분이 실시간으로 그려지지 않고 잠시 후 그려지고 있습니다. 이동과 함께 지도가 렌더링 되도록 할 수 있는 방안은 없는 것인지 궁금합니다. (두번째 문의 현상을 보면 첫번째 문의 답변이 보이는 영역만 그려지는 것처럼 보이는데 생각만큼 속도가 나지 않습니다.)

행복하세요~

신상희(Sanghee Shin)

unread,
Mar 3, 2022, 1:01:43 AMMar 3
to OSGeo(Open Source GeoSpatial) 한국어 지부 - OSGeo Korean Chapter
안녕하세요?

제가 아는 범위 내에서 QGIS 화면 디스플레이 속도 향상법을 알려 드립니다. 

1. Create Spatial Index를 실행해 주십시오. 레이어에 오른쪽 마우스 버튼 -> Properties -> Geometry -> Create Spatial Index 그리고 Update Extent

2. 대용량 자료 처리라면 Windows 보다는 Linux에서 QGIS 자료 처리를 권해 드립니다. 대용량 자료일 경우 두 OS간의 속도차가 엄청납니다. Linux에 익숙하지 않으시면 WSLg(https://github.com/microsoft/wslg)를 Windows에 설치한 뒤 여기에 Linux용 QGIS를 설치해서 사용하는 것도 한 방법입니다. 

3. OSM은 이미지 타일셋이라 크기가 작아 원래 빨리 그려질 수밖에 없습니다. 

4. 빵빵한 사양(램과 SSD)의 기기를 사용한다. 

5. PostGIS랑 연결해서 보는 것보다 파일 시스템에서 바로 당겨서 보는 게 더 빠릅니다. 

6. 더불어, 앞선 다른 질문에서 QGIS 좌표변환이 잘 안 된다고 문의하셨는데 그런 경우를 본 적이 없어 어떻게 답을 드릴 수가 없네요. QGIS로 잘 안 되시면 그냥 컴맨드툴인 ogr2ogr로 파일을 변환해 보십시오. https://gdal.org/programs/ogr2ogr.html 참고. 

더불어, 벡터 데이터 양이 많으면 화면 갱신 속도가 느려지는 건 어찌할 수 없습니다. 멀리서 봤을 때 불필요한 자료는 해당 스케일에서 끄고 확대했을 때 상세 데이터를 켜는 소위 Scale Filtering 등을 적용해야 합니다. 사실 전국적 범위를 보면서 연속지적도를 다 켜서 볼 필요는 없으니까요. 전국적인 범위에서는 광역시도 경계 정보 보다가 확대하면 기초자치단체 경계 이후 더 확대하면 상세한 데이터를 뿌리는 식입니다. 

참고하시기 바랍니다. 
신상희
---
Shin, Sanghee
Gaia3D, Inc. - The GeoSpatial Company
www.gaia3d.com
--
이 메일은 Google 그룹스 'OSGeo(Open Source GeoSpatial) 한국어 지부 - OSGeo Korean Chapter' 그룹에 가입한 분들에게 전송되는 메시지입니다.
이 그룹에서 탈퇴하고 더 이상 이메일을 받지 않으려면 osgeo-kr+u...@googlegroups.com에 이메일을 보내세요.
웹에서 이 토론을 보려면 https://groups.google.com/d/msgid/osgeo-kr/20caed4d-d3f7-4ee5-9abd-961f082afcecn%40googlegroups.com을(를) 방문하세요.

shJeong

unread,
Mar 3, 2022, 1:46:06 AMMar 3
to OSGeo(Open Source GeoSpatial) 한국어 지부 - OSGeo Korean Chapter
안녕하세요.

답변해 주셔서 감사드립니다.

1. 공간인덱스 생성 및 범위 갱신
(1) Postgresql에서 가져온 데이터는 공간인덱스 생성이 되지 않아 확인하지 못하였습니다. (어찌 보면 생성 안되는 것이 맞을거 같으면서도 같은 효과를 낼 수 있는 방안을 찾아봐야 할 것 같습니다.)
(2) 원본 Shape 파일을 QGIS에서 바로 열어 확인해 본 결과 공간인덱스를 생성하고 범위 갱신을 한 후 속도가 확연하게 빨라진 것을 확인 할 수 있었습니다. 감사합니다.
(3) 시스템 구축 시 어떤 구조를 가져가야 할 지 좀 더 숙고 해봐야 할 것 같습니다.

2. 리눅스에서 대용량 정보 처리에 더 유리하다고 말씀하신 부분은 Shape 파일 자체를 말씀하시는 것인지요? Postgresql을 리눅스에 설치해서 처리해야 한다는 것인지요?
(1) Linux에 익숙하지 않아  말씀해 주신 WSLg도 함께 검토해 보아야 할 것 같습니다.
(2) 결국 전체 시스템 구축 시에 OS 선정도 고려 사항에 포함해야 할 것 같습니다. 감사합니다.

3. OSM 보다 너무 느려 함께 테스트 해 본 것입니다. 감사합니다.

4. 램과 SSD도 시스템 구축 시에 고려해 보아야 할 것 같습니다. 저도 아직 어느 정도 시스템을 구축해야 할 지 범위가 정해져 있지 않아 고민이 많습니다.
(1) 다만, 여러 작업자가 동시에 작업을 진행하는 환경을 구축해야 해서 DBMS(Postgresql 등)을 사용해야 할 것 같습니다.
(2) "QGIS 서버"라는 것이 있던데 이 내용은 아직 확인해 보지 못하였습니다. 혹시 동시 사용자가 함께 작업할 수 있는 환경을 구성할 수 있는지요?

5. Postgresql에 데이터를 가져오는 것보다 원본 Shape에 공간 인덱스를 설정한 것이 월등히 빠른 것은 확인 하였습니다.
(1) 시스템 구축 시 중앙 관리 데이터는 DBMS(Postgresql 등)에서 사용하고 사용자들은 Shape을 가지고 작업하고
(2) 데이터 입력시에만 DBMS(Postgresql 등)에 입력하는 방안에 대해 프로세스가 필요 할 것 같습니다.

6. 커멘드 툴에는 아직 익숙하지 않지만, 작성해 주신 URL에서 ogr2ogr 확인 후 테스트 해 보도록 하겠습니다.

7. 현재 데이터가 통판으로 되어 있는데  Scale Filtering이 가능한 것인지요? 
(1) 아직 행정계 단위 또는 메시 단위를 결정하지 못한 상태입니다.
(2) 행정계 단위 또는 메시 단위가 정의 되고 나면 해당 영역의 데이터만 추출하여 속도를 개선 시키는 것까지만 구상하고 있습니다.
(3) 하지만, 각 단위의 경계 부분 처리에 대해 추가 고려해야 하는 부분에 대해 아직 결정하지 못한 상태입니다.

이렇게 작성하고 보니 해야 할 일은 많은데 너무 국소적으로 접근하는 것은 아닌지 의문이 좀 생기네요.
다만, 시스템을 구성하는 요소들에 대한 경험 부족으로 여쭙는 내용이 많은 것도 사실 입니다.

다시 한 번 답변 해 주셔서 감사드립니다.

행복하세요~

2022년 3월 3일 목요일 오후 3시 1분 43초 UTC+9에 Shin, Sanghee님이 작성:

shJeong

unread,
Mar 3, 2022, 6:52:37 PMMar 3
to OSGeo(Open Source GeoSpatial) 한국어 지부 - OSGeo Korean Chapter
안녕하세요. 신상희님

QGIS에서 공간인덱스를 생성하면 렌더링 속도가 향상된다고 하셔서, QGIS에서 Shape을 로딩하여 실제 속도가 향상되는 것을 확인 한 후

Postgresql에서 받아온 데이터는 공간인덱스 생성이 안된다고 말씀 드렸는데

이 부분 힌트가 되어, Postgresql에서 공간인덱스를 생성한 결과, QGIS에서 속도가 향상된 것과 유사한 결과를 호출하는 것을 확인 하였습니다.

이제 다음 단계로 넘어갈 수 있을 것 같습니다.

감사합니다.

행복하세요~

2022년 3월 3일 목요일 오후 3시 46분 6초 UTC+9에 shJeong님이 작성:

신상희(Sanghee Shin)

unread,
Mar 4, 2022, 2:21:04 AMMar 4
to OSGeo(Open Source GeoSpatial) 한국어 지부 - OSGeo Korean Chapter
감사합니다!

이렇게 자신이 체득한 노하우와 지식을 함께 공유하는 곳이 우리 커뮤니티입니다. 다른 분들도 실무를 하다 알게 된 좋은 경험을 공유해 주시면 감사하겠습니다. 

다들 좋은 주말 되십시오. 
Reply all
Reply to author
Forward
0 new messages