ジオJSON

ジオJSON
ファイル名拡張子.json.geojson
インターネットメディアの種類application/geo+json[ 1 ]
フォーマットの種類GISファイル形式
延長JSON
標準RFC  7946
オープンフォーマット?はい
Webサイトgeojson.org

GeoJSON [ 1 ]は、単純な地理的特徴とその非空間属性を表現するために設計されたオープンスタンダードフォーマットです。JSONフォーマットをベースにいます。

フィーチャには、ポイント(住所や場所など)、ラインストリング(道路、高速道路、境界線など)、ポリゴン(国、州、土地区画など)、そしてこれらのタイプの複数の部分からなるコレクションが含まれます。GeoJSONフィーチャは、物理世界のエンティティの表現に限定されません。例えば、モバイルルーティングやナビゲーションアプリは、GeoJSONを使用してサービス提供範囲を記述する場合があります。[ 2 ]

GeoJSONフォーマットは、正式な標準化団体ではなく、インターネット上の開発者ワーキンググループによって作成、管理されている点で、他の地理情報システム標準とは異なります。 [ 3 ]

GeoJSON の注目すべき派生としてTopoJSONがあります。これは地理空間トポロジをエンコードし、通常はファイル サイズが小さくなる GeoJSON の拡張機能です。

歴史

GeoJSONフォーマットワーキンググループと議論は2007年3月に開始され[ 4 ]、フォーマット仕様は2008年6月に完成しました。

2015年4月にインターネットエンジニアリングタスクフォースは地理JSONワーキンググループ[ 5 ]を設立し、2016年8月にGeoJSONをRFC 7946としてリリースしました。

{ "type" : "FeatureCollection" , "features" : [{ "type" : "Feature" , "geometry" : { "type" : "Point" , "coordinates" : [ 102.0 , 0.5 ] }, "properties" : { "prop0" : "value0" } }, { "type" : "Feature" , "geometry" : { "type" : "LineString" , "coordinates" : [ [ 102.0 , 0.0 ], [ 103.0 , 1.0 ], [ 104.0 , 0.0 ], [ 105.0 , 1.0 ] ] }, "properties" : { "prop0" : "value0" , "prop1" : 0.0 } }, { "type" : "Feature" , "geometry" : { "type" : "Polygon" , "coordinates" : [ [ [ 100.0 , 0.0 ], [ 101.0 , 0.0 ], [ 101.0 , 1.0 ], [ 100.0 , 1.0 ], [ 100.0 , 0.0 ] ] ] }, "properties" : { "prop0" : "value0" , "prop1" : { "this" : "that" } } }] }
地図
GeoJSONの例(地図データ

幾何学

ポイントは[x, y]または[x, y, z]で表されます。 [経度, 緯度]または[東経, 北緯]で表されます。標高(メートル) [ 6 ]はオプションの3番目の数値です。これらは小数です。[ 7 ]

例えば、ロンドン(北緯51.5074度、西経0.1278度)は[-0.1278, 51.5074]

すべてのGeoJSON座標の座標参照系は、世界測地系1984(WGS 84)[WGS84]データムを使用した地理座標参照系であり、経度と緯度の単位は10進度です。[ 8 ]

ジオメトリプリミティブ
タイプ
ポイント
{ "type" : "Point" , "coordinates" : [ 30.0 , 10.0 ] }
ラインストリング
{ "タイプ" : "LineString" , "座標" : [ [ 30.0 , 10.0 ], [ 10.0 , 30.0 ], [ 40.0 , 40.0 ] ] }
ポリゴン
{ "type" : "Polygon" , "coordinates" : [ [ [ 30.0 , 10.0 ], [ 40.0 , 40.0 ], [ 20.0 , 40.0 ], [ 10.0 , 20.0 ], [ 30.0 , 10.0 ] ] ] }
{ "type" : "Polygon" , "coordinates" : [ [ [ 35.0 , 10.0 ], [ 45.0 , 45.0 ], [ 15.0 , 40.0 ], [ 10.0 , 20.0 ], [ 35.0 , 10.0 ] ], [ [ 20.0 , 30.0 ], [ 35.0 , 35.0 ], [ 30.0 , 20.0 ], [ 20.0 , 30.0 ] ] ] }
マルチパートジオメトリ
タイプ
マルチポイント
{ "type" : "MultiPoint" , "coordinates" : [ [ 10.0 , 40.0 ], [ 40.0 , 30.0 ], [ 20.0 , 20.0 ], [ 30.0 , 10.0 ] ] }
マルチラインストリング
{ "type" : "MultiLineString" , "coordinates" : [ [ [ 10.0 , 10.0 ], [ 20.0 , 20.0 ], [ 10.0 , 40.0 ] ], [ [ 40.0 , 40.0 ], [ 30.0 , 30.0 ], [ 40.0 , 20.0 ], [ 30.0 , 10.0 ] ] ] }
マルチポリゴン
{ "type" : "MultiPolygon" , "coordinates" : [ [ [ [ 30.0 , 20.0 ], [ 45.0 , 40.0 ], [ 10.0 , 40.0 ], [ 30.0 , 20.0 ] ] ], [ [ [ 15.0 , 5.0 ], [ 40.0 , 10.0 ], [ 10.0 , 20.0 ] , [ 5.0 , 10.0 ], [ 15.0 , 5.0 ] ] ] }
{ "type" : "MultiPolygon" , "coordinates" : [ [ [ [ 40.0 , 40.0 ], [ 20.0 , 45.0 ], [ 45.0 , 30.0 ], [ 40.0 , 40.0 ] ] ], [ [ [ 20.0 , 35.0 ], [ 10.0 , 30.0 ], [ 10.0 , 10.0 ], [ 30.0 , 5.0 ], [ 45.0 , 20.0 ], [ 20.0 , 35.0 ] ], [ [ 30.0 , 20.0 ], [ 20.0 , 15.0 ], [ 20.0 , 25.0 ], [ 30.0 , 20.0 ] ] ] ] }
ジオメトリコレクション
{ "type" : "GeometryCollection" , "geometries" : [ { "type" : "Point" , "coordinates" : [ 40.0 , 10.0 ] }, { "type" : "LineString" , "coordinates" : [ [ 10.0 , 10.0 ], [ 20.0 , 20.0 ], [ 10.0 , 40.0 ] ] }, { "type" : "Polygon" , "coordinates" : [ [ [ 40.0 , 40.0 ], [ 20.0 , 45.0 ], [ 45.0 , 30.0 ], [ 40.0 , 40.0 ] ] ] } ] }

改行区切りの GeoJSON

GeoJSON の代替として、行ごとに 1 つの地理的特徴をエンコードし、改行 (またはレコード区切り文字) でレコード間の区切りを指定する方法もあります。

この形式は、ツールが個々のレコードを並列に読み取ることができるため、通常のGeoJSONよりもはるかに高速かつ効率的に解析できます。この形式は改行区切りのJSONに似ています。

改行区切りの GeoJSON のバリエーションには次のものがあります:

  • GeoJSONSeq(GeoJSON Text Sequencesの略) - レコードセパレータ(RS)文字で特徴を区切る[ 9 ]
  • GeoJSONL(GeoJSON Linesの略) - 改行文字で地物を区切る[ 10 ]

トポJSON

TopoJSONはGeoJSONの拡張版であり、トポロジをエンコードします。TopoJSONファイル内のジオメトリは、個別に表現するのではなく、円弧と呼ばれる共有線分をつなぎ合わせて表現されます。[ 11 ]円弧は点のシーケンスであり、ラインストリングとポリゴンは円弧のシーケンスとして定義されます。各円弧は一度だけ定義されますが、異なるシェイプから複数回参照できるため、冗長性が低減され、ファイルサイズが縮小されます。[ 12 ]さらに、TopoJSONは、トポロジを保持するシェイプの簡素化、自動マップカラーリング、カートグラムなど、トポロジを使用するアプリケーションを容易にします。

TopoJSON仕様のリファレンス実装は、GeoJSON(またはESRIシェープファイル)からTopoJSONをエンコードするためのコマンドラインツールと、 TopoJSONを再びGeoJSONにデコードするためのクライアントサイドJavaScriptライブラリとして提供されています。TopoJSONは、人気のOGRツールのバージョン1.11以降[ 13 ]とPostGISのバージョン2.1.0以降でもサポートされています。[ 14 ]

TopoJSONスキーマ

座標緯度0°、経度0°付近のGISシェイプが与えられた場合、すべてのメタデータ、 PolygonLineStringPoint要素、円弧プロパティを含むシンプルだが有効で完全な topojson ファイルは次のように定義されます。

Topojson シェイプ
{ "type" : "Topology" , "transform" : { "scale" : [ 1 , 1 ], "translate" : [ 0 , 0 ] }, "objects" : { "two-squares" : { "type" : "GeometryCollection" , "geometries" : [ { "type" : "Polygon" , "arcs" : [[ 0 , 1 ]], "properties" : { "name" : "Left_Polygon" }}, { "type" : "Polygon" , "arcs" : [[ 2 , - 1 ]], "properties" : { "name" : "Right_Polygon" }} ] }, "one-line" : { "type" : "GeometryCollection" , "geometries" : [ { "type" : "LineString" , "arcs" : [ 3 ], "properties" : { "name" : "Under_LineString" }} ] }, "two-places" : { "type" : "GeometryCollection" , "geometries" : [ { "type" : "Point" , "coordinates" : [ 0 , 0 ], "properties" : { "name" : "Origine_Point" }}, { "type" : "Point" , "coordinates" : [ 0 , - 1 ], "properties" : { "name" :"Under_Point" }} ] } }, "arcs" : [ [[ 1 , 2 ],[ 0 , - 2 ]], [[ 1 , 0 ],[ - 1 , 0],[ 0 , 2 ],[ 1 , 0 ]], [[ 1 , 2 ],[ 1 , 0 ],[ 0 , - 2 ],[ - 1 , 0 ]], [[ 0 , - 1 ],[ 2 , 0 ]] ] }

参照

参考文献

  1. ^ a b Butler, Howard; Daly, Martin; Doyle, Allan; Gillies, Sean; Hagen, Stefan; Schaub, Tim (2016年8月). RFC 7946 . IETF . doi : 10.17487/RFC7946 .
  2. ^ 「道順の提供」 . developer.apple.com .
  3. ^ 「GeoJSON 情報ページ」 . lists.geojson.org .
  4. ^ 「GeoJSON 2007年3月のスレッド別アーカイブ。lists.geojson.org
  5. ^ 「地理JSON(geojson) -」 . datatracker.ietf.org .
  6. ^ Butler, H.; Daly, M.; Doyle, A.; Gillies, Sean; Schaub, T.; Hagen, Stefan (2016年8月). GeoJSONフォーマット(レポート). Internet Engineering Task Force.
  7. ^ Butler, H.; Daly, M.; Doyle, A.; Gillies, Sean; Schaub, T.; Hagen, Stefan (2016年8月). 「GeoJSON RFC #3.1.1」 .
  8. ^ Butler, H.; Daly, M.; Doyle, A.; Gillies, Sean; Schaub, T.; Hagen, Stefan (2016年8月). GeoJSONフォーマット(レポート). Internet Engineering Task Force.
  9. ^ Gillies, Sean (2017年4月). GeoJSONテキストシーケンス(レポート). インターネットエンジニアリングタスクフォース.
  10. ^ 「GeoJSONL:大規模な地理データセット向けに最適化されたフォーマット」 Interline Technologies . 2018年9月11日. 2024年11月11日閲覧
  11. ^ "topojson/topojson-specification" . 2020年12月11日 – GitHub経由.
  12. ^ "トポジソン/トポジソン" . GitHub
  13. ^ 「リリース/1.11.0-ニュース – GDAL」 . trac.osgeo.org .
  14. ^ "AsTopoJSON" . postgis.net

出典