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