Vector data can also be analyzed to reveal how different features interact with each other in space. There are many different analysis-related functions in GIS, so we won’t go through them all. Rather, we’ll pose a question and try to solve it using the tools that QGIS provides.
**このレッスンの目標:**質問を尋ね、分析ツールを使ってそれを解決すること。
始める前に、任意のGISの問題を解決するために使用できるプロセスの簡単な概要を与えることが有用でしょう。それを行う方法は次のとおりです。
問題の状態
データの入手
問題の分析
結果のプレゼン
Let’s start off the process by deciding on a problem to solve. For example, you are an estate agent and you are looking for a residential property in Swellendam for clients who have the following criteria:
Swellendam である必要がある。
学校前の距離が、合理的にアクセスできる距離(例えば1km)である必要がある。
サイズが100m四方以上である必要がある。
主要道路から50mより近い。
レストランから500m以内にある。
これらの疑問に答えるため、次のデータが必要になるでしょう:
このエリアの住宅地属性(建物)。
街とその周辺の道路
学校とレストランの位置
建物のサイズ
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.
ノート
Although OSM downloads have consistent data fields, the coverage and detail does vary. If you find that your chosen region does not contain information on restaurants, for example, you may need to chose a different region.
新規のQGISプロジェクトの開始
osm_data.osm を選択し 開く をクリックします。
表示されたダイアログで、 except the other_relations と multilinestrings layer: のすべてのレイヤを選択します。
これで、あなたのマップに分断されたレイヤとしてOSMデータをインポートできます。
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:
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:
一般情報 メニューに進みます。
それを1回だけクリックします。
さて我々はQGISに:kbd:amenity が :kbd:`school`に等しいポリゴンであることのみ示す必要があります。
フィールド リストの amenity をダブルクリックします。
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:
roads (OSMの lines レイヤ由来)
restaurants (OSMの multipolygons レイヤ由来)
houses (OSMの multipolygons レイヤ由来)
前のレッスンで作成した roads.shp を再利用するのが望ましいです。
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.
直ちにマップから多くの道路を減らすべきです:
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.
ノート
In this example, we are using the WGS 84 / UTM zone 34S CRS, but you may use a UTM CRS which is more appropriate for your region.
Save as... をクリックします。
新しいシェープファイルが作成され、あなたのマップに結果のレイヤとして追加されます。
ノート
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.
古い roads レイヤを削除します。
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.
Once you have completed the process for each layer, right click on any layer and click Zoom to layer extent to focus the map to the area of interest.
Now that we have converted OSM’s data to a UTM projection, we can begin our calculations.
QGISはいかなるベクタからの距離を計算することができます。
新しいダイアログを表示します。
このように設定します:
The Buffer 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.
OK をクリックし、バッファを作成します。
今すぐあなたのマップは次のようになります:
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:
バッファのディゾルブ結果 ボックスを今チェックしていることに注目ください。
OK をクリックし バッファ ダイアログを再度閉じます。
レイヤリスト にいったんレイヤを追加すると、このように見えます:
今不要な下位区分はありません。
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.
In the image below, the blue areas show us where both distance criteria are satisfied at once!
You may remove the two buffer layers and only keep the one that shows where they overlap, since that’s what we really wanted to know in the first place:
Now you’ve got the area that the buildings must overlap. Next, you want to select the buildings in that area.
このように設定します:
OK をクリックし、 閉じる をクリックします。
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.
ダイアログにてこのように設定します:
ファイル名は well_located_houses.shp です。
Now you have the selection as a separate layer and can remove the houses_34S layer.
We now have a layer which shows us all the buildings within 1km of a school and within 50m of a road. We now need to reduce that selection to only show buildings which are within 500m of a restaurant.
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.
編集モードにし、フィールド演算を開きます。
このように設定します:
Using the GIS problem-solving approach together with QGIS vector analysis tools, you were able to solve a problem with multiple criteria quickly and easily.
In the next lesson, we’ll look at how to calculate the shortest distance along the road from one point to another.