주석
이 강의에서는 사용자가 처리 과정 프레임워크 요소에 더 익숙해질 수 있도록 툴박스만을 사용해서 실제 분석 작업을 수행할 것입니다.
필요한 모든 설정을 끝내고 외부 알고리듬을 사용할 수 있으므로, 공간 분석을 수행할 수 있는 강력한 도구를 갖게 되었습니다. 이제 실재 세계의 데이터를 써서 광범위한 예제를 풀어볼 때가 되었습니다.
존 스노우(John Snow)가 자신의 획기적인 작업에 사용했던 유명한 데이터셋을 이용해서 흥미로운 결과를 얻을 것입니다. 이 데이터셋을 분석하는 작업은 꽤 명확한 편으로 제대로 된 결과물 및 결론을 얻는 데 복잡한 GIS 기술이 필요하지는 않지만, 이 공간 문제들을 서로 다른 처리 과정 도구들을 써서 어떻게 분석하고 해결할 수 있는지 알 수 있는 훌륭한 방법입니다.
이 데이터셋은 콜레라에 의한 사망자 수 및 펌프 위치를 담고 있는 shapefile과 TIFF 포맷으로 렌더링된 OSM 맵을 포함합니다. 이 강의에 해당하는 QGIS 프로젝트를 여십시오.
먼저 Pumps 레이어의 보로노이 도표(Voronoi diagram, 일명 티센(Thyessen) 폴리곤)을 계산해서 각 펌프의 영향 범위를 계산해야 합니다. 이 작업에 Voronoi Diagram 알고리듬을 사용할 수 있습니다.
꽤 쉬운 작업이지만, 벌써 흥미로운 정보를 알려주고 있습니다.
명백히 보이듯이, 폴리곤 중 하나 안에 사망자 대부분이 존재합니다.
좀더 정량적인 결과를 얻으려면 각 폴리곤에서의 사망자 수를 세어볼 수 있습니다. 각 포인트가 사망자가 발생한 건물을 나타내고 사망자 수는 포인트의 속성에 저장돼 있으므로, 그냥 포인트만 세어서는 안 됩니다. 숫자에 가중치를 부여해야 하므로, Count points in polygon (weighted) 도구를 사용할 것입니다.
새 필드에 DEATHS 라는 명칭을 부여하고, 가중치 항목에 COUNTS 필드를 이용합니다. 그 결과 생성되는 테이블은 첫 번째 펌프에 해당하는 폴리곤에서의 사망자 수가 다른 폴리곤들보다 훨씬 많다는 사실을 분명히 반영하고 있습니다.
Cholera_deaths
레이어의 각 포인트와 Pumps
레이어의 포인트 사이의 의존성을 시각화하는 또다른 훌륭한 방법은 각 Cholera_deaths
포인트에서 가장 가까운 Pumps
포인트로 라인을 그려보는 것입니다. Distance to closest hub 도구를 다음과 같이 설정해서 이 작업을 할 수 있습니다.
결과는 다음과 같습니다.
중앙에 있는 펌프의 라인 개수가 가장 많지만, 이것은 사망자 수가 아니라 콜레라가 발생한 위치의 개수라는 점을 잊어서는 안 됩니다. 분명 결과를 대표할 수 있는 파라미터이긴 하지만 일부 위치의 사망자 수가 다른 곳보다 더 많을 수 있다는 사실을 고려하지 않고 있습니다.
A density layer will also give us a very clear view of what is happening. We can create it with the Kernel density algorithm. Using the Cholera_deaths layer and its COUNT field as weight field, and with a radius of 100, we get something like this.
The resulting layer has the extent and cellsize of the streets raster layer.
산출물의 범위를 설정하기 위해 직접 입력할 필요가 없다는 사실을 기억하십시오. Output extent... 항목 오른쪽에 있는 버튼을 클릭한 다음 Use layer/canvas extent 를 선택하면 됩니다.
그리고 도로 래스터 레이어를 선택하면 해당 레이어의 범위가 자동적으로 텍스트 란에 채워질 것입니다. 셀 크기도 동일한 방법으로, 해당 레이어의 셀 크기를 선택해서 설정해야 합니다.
Pumps
레이어와 결합하면, 콜레라 발생 지역에서 명확하게 사망자 수가 최대 밀도를 보이는 곳에 펌프 하나가 있다는 사실을 알 수 있습니다.