벡터 데이터를 분석해서 서로 다른 피처들이 공간 안에서 어떻게 상호작용하는지 밝힐 수 있습니다. GIS에는 서로 다른 많은 분석 관련 기능들이 있는데, 모든 기능을 다 살펴보지는 않을 것입니다. 그보다는 문제를 제시하고 QGIS가 제공하는 도구들을 써서 그 문제를 해결하는 방식을 사용할 것입니다.
이 강의의 목표: 문제를 제시하고, 분석 도구를 써서 해결하기
시작하기 전 GIS 문제를 해결하는 데 사용할 수 있는 처리 과정을 간략히 살펴보는 것이 좋을 것입니다. 다음과 같은 처리 과정을 거칩니다.
문제를 정의
데이터 획득
문제를 분석
결과를 표출
해결해야 할 문제를 결정하는 것으로 처리 과정을 시작합시다. 예를 들어 여러분이 부동산 업자인데 다음 기준을 가진 고객을 위해 Swellendam 에 있는 거주지를 찾고 있다고 해봅시다.
이 문제들을 해결하려면 다음 데이터들이 필요합니다.
All of this data is available through OSM and you should find that the dataset you have been using throughout this manual can also be used for this lesson. However, in order to ensure we have the complete data, we will re-download the data from OSM using QGIS’ built-in OSM download tool.
주석
OSM 다운로드는 일관된 데이터 항목을 가지고 있지만, 커버리지 및 세부 내용은 다를 수 있습니다. 예를 들어 여러분이 선택한 지역에 식당 정보가 없다면, 다른 지역을 선택해야 할 수도 있습니다.
This will import the OSM data as separate layers into your map.
The data you just downloaded from OSM is in a geographic coordinate system, WGS84, which uses latitude and longitude coordinates, as you know from the previous lesson. You also learnt that to calculate distances in meters, we need to work with a projected coordinate system. Start by setting your project’s coordinate system to a suitable CRS for your data, in the case of Swellendam, WGS 84 / UTM zone 34S:
OK 를 클릭합니다.
We now need to extract the information we need from the OSM dataset. We need to end up with layers representing all the houses, schools, restaurants and roads in the region. That information is inside the multipolygons layer and can be extracted using the information in its Attribute Table. We’ll start with the schools layer:
Now we need to tell QGIS to only show us the polygons where the value of amenity is equal to school.
The word "amenity" has appeared. To build the rest of the query:
This will filter OSM’s multipolygons layer to only show the schools in your region. You can now either:
Using the above technique, use the Query Builder tool to extract the remaining data from OSM to create the following layers:
You may wish to re-use the roads.shp layer you created in earlier lessons.
Some of the roads in OSM’s dataset are listed as unclassified, tracks, path and footway. We want to exclude these from our roads dataset.
Open the Query Builder for the roads layer, click Clear and build the following query:
"highway" != 'NULL' AND "highway" != 'unclassified' AND "highway" != 'track' AND "highway" != 'path' AND "highway" != 'footway'
You can either use the approach above, where you double-clicked values and clicked buttons, or you can copy and paste the command above.
This should immediately reduce the number of roads on your map:
Because we are going to be measuring distances within our layers, we need to change the layers’ CRS. To do this, we need to select each layer in turn, save the layer to a new shapefile with our new projection, then import that new layer into our map.
주석
이 예제에서는 WGS 84 / UTM zone 34S CRS를 사용할 것이지만, 여러분이 다른 지역을 선택했다면 해당 지역에 더 적합한 UTM CRS를 사용할 수도 있습니다.
The new shapefile will be created and the resulting layer added to your map.
주석
If you don’t have activated Enable ‘on the fly’ CRS transformation or the Automatically enable ‘on the fly’ reprojection if layers have different CRS settings (see previous lesson), you might not be able to see the new layers you just added to the map. In this case, you can focus the map on any of the layers by right click on any layer and click Zoom to layer extent, or just enable any of the mentioned ‘on the fly’ options.
Repeat this process for each layer, creating a new shapefile and layer with “_34S” appended to the original name and removing each of the old layers.
각 레이어에 대해 이 과정을 완료한 다음 아무 레이어나 오른쪽 클릭하고 Zoom to layer extent 를 클릭해서 관심지역으로 맵을 이동시킵니다.
이제 OSM 데이터에 UTM 투영체를 적용시켰으니, 계산을 시작할 수 있습니다.
QGIS는 어떤 벡터 오브젝트부터의 거리도 계산할 수 있습니다.
This gives you a new dialog.
다음과 같이 설정하십시오.
The Distance is in meters because our input dataset is in a Projected Coordinate System that uses meter as its basic measurement unit. This is why we needed to use projected data.
이제 여러분의 맵이 다음처럼 보일 것입니다.
If your new layer is at the top of the Layers list, it will probably obscure much of your map, but this gives us all the areas in your region which are within 50m of a road.
However, you’ll notice that there are distinct areas within our buffer, which correspond to all the individual roads. To get rid of this problem, remove the layer and re-create the buffer using the settings shown here:
Once you’ve added the layer to the Layers list, it will look like this:
이제 필요 없는 부분들이 사라졌습니다.
앞 단계와 동일한 방법으로 학교를 중심으로 하는 버퍼를 생성하십시오.
It needs to be 1 km in radius, and saved under the usual directory as schools_buffer_1km.shp.
Now we have areas where the road is 50 meters away and there’s a school within 1 km (direct line, not by road). But obviously, we only want the areas where both of these criteria are satisfied. To do that, we’ll need to use the Intersect tool. Find it under Vector ‣ Geoprocessing Tools ‣ Intersect. Set it up like this:
The two input layers are the two buffers; the save location is as usual; and the file name is road_school_buffers_intersect.shp. Once it’s set up like this, click OK and add the layer to the Layers list when prompted.
다음 이미지에서 두 가지 거리 기준을 모두 만족시키는 파란색 구역을 볼 수 있습니다!
이제 두 버퍼 레이어를 제거하고 겹치는 구역만 보여주는 레이어만 남겨도 됩니다. 원래 그 레이어만을 원했기 때문입니다.
Now you’ve got the area that the buildings must overlap. Next, you want to select the buildings in that area.
다음과 같이 설정하십시오.
The buildings highlighted in yellow are those which match our criteria and are selected, while the buildings in green are those which do not. We can now save the selected buildings as a new layer.
OK 를 클릭합니다.
Now you have the selection as a separate layer and can remove the houses_34S layer.
이제 학교에서 1km, 도로에서 50m 이내에 있는 모든 건물들을 보여주는 레이어가 생성됐습니다. 다음으로 이 레이어에서 식당으로부터 500m 이내에 있는 건물들만 추려내야 합니다.
Using the processes described above, create a new layer called houses_restaurants_500m which further filters your well_located_houses layer to show only those which are within 500m of a restaurant.
To see which buildings are the correct size (more than 100 square meters), we first need to calculate their size.
다음과 같이 설정하십시오.
OK 를 클릭합니다.
편집 모드 버튼을 한 번 더 클릭해서 편집을 끝내고, 편집 내용을 저장하십시오.
QGIS 벡터 분석 도구와 함께 GIS 문제 해결 접근법을 이용하면, 복합적인 기준을 가진 문제를 쉽고 빠르게 해결할 수 있습니다.
다음 강의에서는 한 지점에서 다른 지점까지의 최단 거리를 도로를 따라 계산하는 방법을 배워보겠습니다.