17.14. 첫 번째 분석 예제

참고

이 강의에서는 사용자가 공간처리 프레임워크 요소에 더 익숙해질 수 있도록 툴박스만을 사용해서 실제 분석 작업을 수행할 것입니다.

필요한 모든 설정을 끝내고 외부 알고리듬을 사용할 수 있으므로, 공간 분석을 수행할 수 있는 강력한 도구를 갖게 되었습니다. 이제 실재 세계의 데이터를 써서 광범위한 예제를 풀어볼 때가 되었습니다.

We will be using the well-known dataset that John Snow used in 1854, in his groundbreaking work (https://en.wikipedia.org/wiki/John_Snow_%28physician%29), and we will get some interesting results. The analysis of this dataset is pretty obvious and there is no need for sophisticated GIS techniques to end up with good results and conclusions, but it is a good way of showing how these spatial problems can be analyzed and solved by using different processing tools.

이 데이터셋은 콜레라에 의한 사망자 수 및 펌프 위치를 담고 있는 shapefile과 TIFF 포맷으로 렌더링된 OSM 맵을 포함합니다. 이 강의에 해당하는 QGIS 프로젝트를 여십시오.

../../../_images/project2.png

The first thing to do is to calculate the Voronoi diagram (a.k.a. Thiessen polygons) of the pumps layer, to get the influence zone of each pump. The Voronoi Diagram algorithm can be used for that.

../../../_images/voronoi.png

꽤 쉬운 작업이지만, 벌써 흥미로운 정보를 알려주고 있습니다.

../../../_images/voronoi2.png

명백히 보이듯이, 폴리곤 중 하나 안에 사망자 대부분이 존재합니다.

좀더 정량적인 결과를 얻으려면 각 폴리곤에서의 사망자 수를 세어볼 수 있습니다. 각 포인트가 사망자가 발생한 건물을 나타내고 사망자 수는 포인트의 속성에 저장돼 있으므로, 그냥 포인트만 세어서는 안 됩니다. 숫자에 가중치를 부여해야 하므로, Count points in polygon (weighted) 도구를 사용할 것입니다.

../../../_images/pointsinpoly.png

새 필드에 DEATHS 라는 명칭을 부여하고, 가중치 항목에 COUNTS 필드를 이용합니다. 그 결과 생성되는 테이블은 첫 번째 펌프에 해당하는 폴리곤에서의 사망자 수가 다른 폴리곤들보다 훨씬 많다는 사실을 분명히 반영하고 있습니다.

../../../_images/pointsinpolytable.png

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.

../../../_images/nearest.png

결과는 다음과 같습니다.

../../../_images/nearestresult.png

중앙에 있는 펌프의 라인 개수가 가장 많지만, 이것은 사망자 수가 아니라 콜레라가 발생한 위치의 개수라는 점을 잊어서는 안 됩니다. 분명 결과를 대표할 수 있는 파라미터이긴 하지만 일부 위치의 사망자 수가 다른 곳보다 더 많을 수 있다는 사실을 고려하지 않고 있습니다.

밀도 레이어로도 어떤 일이 일어나는지를 명확하게 시각화할 수 있습니다. Kernel density 알고리듬을 써서 밀도 레이어를 생성할 수 있습니다. 입력 레이어에 Cholera_deaths 레이어를, 가중치 항목에 COUNT 필드를 사용하고, 반경을 100으로 설정한 다음 streets 래스터 레이어의 범위 및 셀 크기를 사용하면 다음과 같은 결과를 얻을 수 있습니다.

../../../_images/density.png

산출물의 범위를 설정하기 위해 직접 입력할 필요가 없다는 사실을 기억하십시오. Output extent… 항목 오른쪽에 있는 버튼을 클릭한 다음 Use layer/canvas extent 를 선택하면 됩니다.

../../../_images/layerextent.png

그리고 도로 래스터 레이어를 선택하면 해당 레이어의 범위가 자동적으로 텍스트 란에 채워질 것입니다. 셀 크기도 동일한 방법으로, 해당 레이어의 셀 크기를 선택해서 설정해야 합니다.

Pumps 레이어와 결합하면, 콜레라 발생 지역에서 명확하게 사망자 수가 최대 밀도를 보이는 곳에 펌프 하나가 있다는 사실을 알 수 있습니다.