GeoJSON

出典: フリー百科事典『ウィキペディア(Wikipedia)』
ナビゲーションに移動 検索に移動
GeoJSON
拡張子 .json, .geojson
MIMEタイプ application/json
種別 GISファイル形式
派生元 JSON
オープン
フォーマット
yes
ウェブサイト geojson.org

GeoJSON[1]JavaScript Object Notation (JSON) を用いて空間データをエンコードし非空間属性を関連付けるファイルフォーマットである。 属性にはポイント(住所や座標)、ライン(各種道路や境界線)、 ポリゴン(国や地域)などが含まれる。 他のGISファイル形式との違いとして、Open Geospatial Consortiumではなく世界各地の開発者達が開発し管理している点で異なる[2]TopojsonはGeoJSONに影響され開発された。

歴史[編集]

GeoJSONフォーマットについての議論は2007年3月に始まり[3]、フォーマット仕様は2008年6月に完成した。

[編集]

{ "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"}
           }
         }
       ]
     }

ジオメトリの例[編集]

プリミティブ
タイプ
Point SFA Point.svg
{ "type": "Point", 
    "coordinates": [30, 10]
}
LineString SFA LineString.svg
{ "type": "LineString", 
    "coordinates": [
        [30, 10], [10, 30], [40, 40]
    ]
}
Polygon SFA Polygon.svg
{ "type": "Polygon", 
    "coordinates": [
        [[30, 10], [40, 40], [20, 40], [10, 20], [30, 10]]
    ]
}
SFA Polygon with hole.svg
{ "type": "Polygon", 
    "coordinates": [
        [[35, 10], [45, 45], [15, 40], [10, 20], [35, 10]], 
        [[20, 30], [35, 35], [30, 20], [20, 30]]
    ]
}
複数の部分から成るジオメトリ
Type
MultiPoint SFA MultiPoint.svg
{ "type": "MultiPoint", 
    "coordinates": [
        [10, 40], [40, 30], [20, 20], [30, 10]
    ]
}
MultiLineString SFA MultiLineString.svg
{ "type": "MultiLineString", 
    "coordinates": [
        [[10, 10], [20, 20], [10, 40]], 
        [[40, 40], [30, 30], [40, 20], [30, 10]]
    ]
}
MultiPolygon SFA MultiPolygon.svg
{ "type": "MultiPolygon", 
    "coordinates": [
        [
            [[30, 20], [45, 40], [10, 40], [30, 20]]
        ], 
        [
            [[15, 5], [40, 10], [10, 20], [5, 10], [15, 5]]
        ]
    ]
}
SFA MultiPolygon with hole.svg
{ "type": "MultiPolygon", 
    "coordinates": [
        [
            [[40, 40], [20, 45], [45, 30], [40, 40]]
        ], 
        [
            [[20, 35], [10, 30], [10, 10], [30, 5], [45, 20], [20, 35]], 
            [[30, 20], [20, 15], [20, 25], [30, 20]]
        ]
    ]
}

対応状況[編集]

OpenLayers[4]Leaflet[5]GeoServer[6]Django[7]GDAL[8]CartoDB[9]PostGIS[10]及びMapnik[11](GDAL OGR変換ライブラリを経由し扱う)など多くのGIS関連ソフトウェアが対応しており、 Bing MapsYahoo!GoogleAPIが対応している。 Googleマップにはライブラリを使用するか[12]、オブジェクトをインスタンス化することによって利用できる。 GitHubはGeoJSONのレンダリングに対応している[13]

TopoJSON[編集]

TopoJSONはGeoJSONの拡張であり、トポロジーを記述する。

脚注[編集]

外部リンク[編集]