地理情報フォーマットについて
地理情報フォーマットについて
はじめに
初めまして。アイディオットCTOの小倉です。
弊社ではmapboxを利用し地理情報システム(GIS)の開発を行っております。
GIS上では様々な地理情報データを扱うことができます。
今回は地理情報データのフォーマットについてのお話です。
地理情報データとは
地理情報データとは、地理空間データ(ポイント、ライン、ポリゴンなど)と属性情報(名称、住所、電話番号など)を含むデータのことです。
例えば、地図上に表示される店舗の位置情報や、店舗の名称、住所、電話番号などが地理情報データとなります。
地理情報フォーマットについて
地理情報のフォーマットにはShapefile, GeoJSON, KML, GML, GDB, PostGIS
主に弊社で利用している地理情報データはShapefileやGeoJSONとなります。
それぞれのフォーマットの解説は以下の通りです。
Shapefile
- ShapefileはEsri社が提唱した地理情報のファイルフォーマットです。拡張子は.shp、.shx、.dbf、.prjなどの複数のファイルで構成されています。
- それぞれのファイルには、地理空間データ(ポイント、ライン、ポリゴンなど)のジオメトリ情報、属性情報、座標系情報などが格納されています。
- Shapefileは長年にわたって広く使われてきたフォーマットであり、多くのGISソフトウェアが対応しています。しかし、ファイルサイズが大きくなる場合や複雑なデータ構造を扱う場合にはパフォーマンスの問題が発生することがあります。
- 多くのGISソフトウェアで利用可能です。
GeoJSON
- GeoJSONはJSONをベースにした地理情報のフォーマットです。拡張子は.geojsonです。
- GeoJSONはシンプルで人間にも理解しやすいテキスト形式でデータを表現します。JSON形式のため、JavaScriptやWebアプリケーションとの連携に適しています。
- GeoJSONは地理空間データのジオメトリ情報(ポイント、ライン、ポリゴンなど)と属性情報を含むことができます。また、座標系情報も指定することができます。
- Shapefileと比較して、GeoJSONはファイルサイズが小さく、Web上での利用に適しています。ただし、大規模なデータセットを扱う場合にはパフォーマンスが問題になることがあります。
mapboxが対応している地理情報フォーマット
mapboxでは上記のフォーマットはどちらも対応しており、利用が可能です。
Shapefileに関しては、一度ベクトルタイルセットとして、Mapbox Studioにアップロードして利用する必要があります。
一方、GeoJsonに関しては以下のような形で直接利用が可能です。
map.addSource('source-id', {
type: 'geojson',
data: 'https://foo.com/bar.geojson' // GeoJSONのURL
});
なぜShapefileを扱うのか?
Shapefileを扱う必要が発生する要因となるのは提供元によることが大きいです。
例えば国土交通省の国土数値情報ダウンロードサイトで提供されているデータによっては、はShapefileとGeoJSONの両方のフォーマットが含まれていたり、Shapefileのみの場合もあります。
この場合、mapbox上で扱いたい場合、Mapbox Studioにアップロードしタイルセットにするか、GeoJSONに変換する必要があります。
ShapefileからGeoJSONへの変換は可能なのか
結論からすると、ShapefileからGeoJSONへの変換は可能です。
ただし変換については、文字コードや座標系を考慮して変換する必要があります。
こちらは次回以降のお話とさせていただきます。
アイディオットではGISを開発したいエンジニアを募集中!
AI・データ利活用をリードし、世界にインパクトを与えるプロダクトを開発しませんか?
アイディオットでは、今後の事業拡大及びプロダクト開発を担っていただけるエンジニアチームの強化を行っております。
さらに会社の成長を加速させるため、フロントエンドエンジニア、バックエンドエンジニア、インフラエンジニアのメンバーを募集しております!
日本を代表する企業様へ自社プロダクトを活用した、新規事業コンサルティング、開発にご興味のある方はお気軽にご連絡ください。
【リクルートページ】
https://aidiot.jp/recruit/
【募集ポジション一覧】
https://open.talentio.com/r/1/c/aidiot/homes/3925
【採用についてのお問合せ先】
株式会社アイディオット 採用担当:大島
メールアドレス:recruit@aidiot.jp
Discussion