新入社員に教えた GIS の用語をまとめました。
QGIS
シェープファイルを閲覧、加工できるGISフリーソフトです。
OSM
https://www.openstreetmap.org/
https://wiki.openstreetmap.org/wiki/Main_Page
OSM(OpenStreetMap)は地理情報をフリーで利用出来るように立ち上げられたプロジェクトです。
OSM から地図やシェープファイルがフリーで提供されています。
シェープファイル
https://www.esrij.com/gis-guide/esri-dataformat/shapefile/
https://www.esrij.com/cgi-bin/wp/wp-content/uploads/documents/shapefile_j.pdf
図形情報や属性情報がまとまったファイルのことです。
ESRI 社が提唱したフォーマットで GIS で標準となっています。
シェープファイルには少なくとも下記ファイルが含まれます。
拡張子 | 内容 |
---|---|
.shp | 図形情報が格納されている |
.dbf | 属性情報が格納されている |
.shx | 図形と属性の対応関係が格納されている |
現行の制約では、「1つのシェープファイルには1つのジオメトリしか格納することができない」となっています。
ベースマップ
背景地図のことです。
ESRI から無償のベースマップが公開されています。
ベースマップにレイヤを重ねることで任意の情報と地理情報を組み合わせて分析することができます。
空間参照系
CRS(Coordinate Reference System)ともいいます。
地球の実際の場所を二次元でどのように表現するかを決定します。
主に投影座標系と地理座標系に分類されます。
投影座標系
3 次元の地球を 2 次元の平面に投影して XY 座標で表現する座標系を投影座標系といいます。
地図アプリのデファクトスタンダードとして使用されている投影座標系は Web メルカトルです。
Web メルカトル
Web メルカトルは昔 EPSG:900913 が使われていましたが現在は EPSG:3857 を使います。
Web メルカトルでは地球に円筒をかぶせて、2次元の平面に投影します。
経線はそれぞれ等間隔、平行となります。
緯線は平行ですが、経度が赤道から離れるほど間隔が大きくなります。
赤道と本初子午線の交点を中心とし、中心から何m離れているかを座標で表現します。
地理座標系
EPSGコードは 4326 です。
緯度、経度、高度を用いて表現します。
赤道と本初子午線の交点を中心とし、座標の単位は角度で表します。
EPSG
EUROPEAN Petroleum Survey Group の略です。
空間参照系や座標変換の定義をまとめています。
フィーチャ
現実世界の物(標識、道路、建物等)をベクターデータ化したものです。
地物ともいいます。
ポイント、ライン、ポリゴンの3種類存在します。
WKT(Well-known text)
フィーチャをテキスト形式で表現するフォーマットです。
Type | Exanple | Image |
---|---|---|
Point | POINT (139.621002802592 35.7119406409266) | |
Line | LINESTRING (139.548599326586 35.7376245768467,139.607394853493 35.7118940200852,139.657922259429 35.7230822398456) | |
Polygon | POLYGON ((139.540790545669 35.7797450710378,139.600504752684 35.7756458256734,139.599126732522 35.741352953488,139.552733387072 35.7424714324349,139.540790545669 35.7797450710378)) |
WKT の実用例
SQL Server での実用例になります。
例えば以下のようなフィーチャを格納するテーブルがあったとします。
CREATE TABLE SAMPLE_FEATURE(SHAPE geometry NULL);
以下のように WKT から geometry インスタンスを生成することでフィーチャを登録することができます。
INSERT INTO SAMPLE_FEATURE(SHAPE) VALUES(geometry::STPointFromText('POINT(135 35)', 4326));
DB を確認すると確かにフィーチャが登録されていることがわかります。
SELECT SHAPE FROM SAMPLE_FEATURE;
SHAPE |
---|
0xE6100000010C0000000000E060400000000000804140 |
WKT形式でフィーチャを取得することもできます。
SELECT SHAPE.STAsText() FROM SAMPLE_FEATURE;
SHAPE |
---|
POINT(135 35) |