GeoJSONビューア - 地図表示・構文チェック

GIS・地理ツール

GeoJSONを貼り付けると、地図に描画して確認できます。入力がJSONとして正しいか、type が RFC 7946 で定義された9種類のGeoJSONの型のいずれかかをチェックし、インデント付きで整形します。Point・LineString・Polygon とそれぞれの Multi 系、GeometryCollection、Feature、FeatureCollection に対応しています。

GeoJSON ガイド

使い方

テキストエリアにGeoJSONを貼り付けて View GeoJSON を押します。正しい入力は地図に描画され、スペース2つのインデントで整形されます。JSONとして壊れている場合は、どの位置で失敗したかを含むパーサーのエラーが表示されます。JSONとしては正しくても type がGeoJSONの型でない場合は型エラーになります。入力欄の内容は消えないので、そのまま直せます。

GeoJSONの9つの型

Point

単一の座標。

{ "type": "Point", "coordinates": [139.7, 35.68] }

MultiPoint

座標の配列。

{
  "type": "MultiPoint",
  "coordinates": [[139.7, 35.68], [135.5, 34.7]]
}

LineString

2点以上を結んだ線。

{
  "type": "LineString",
  "coordinates": [[139.7, 35.68], [135.5, 34.7]]
}

MultiLineString

LineString の配列。

{
  "type": "MultiLineString",
  "coordinates": [[[139.7, 35.68], [135.5, 34.7]]]
}

Polygon

1つ以上の閉じたリング。最初のリングが外周、2つ目以降は穴を表します。

{
  "type": "Polygon",
  "coordinates": [
    [
      [139.7, 35.6], [139.8, 35.6],
      [139.8, 35.7], [139.7, 35.6]
    ]
  ]
}

MultiPolygon

Polygon の配列。

{
  "type": "MultiPolygon",
  "coordinates": [
    [
      [
        [139.7, 35.6], [139.8, 35.6],
        [139.8, 35.7], [139.7, 35.6]
      ]
    ]
  ]
}

GeometryCollection

型の異なるジオメトリをまとめた集合。

{
  "type": "GeometryCollection",
  "geometries": [
    { "type": "Point", "coordinates": [139.7, 35.68] }
  ]
}

Feature

ジオメトリに属性(properties)を組にしたもの。

{
  "type": "Feature",
  "geometry": {
    "type": "Point",
    "coordinates": [139.7, 35.68]
  },
  "properties": { "name": "Tokyo" }
}

FeatureCollection

Feature の配列。実データの最上位としてもっともよく使われます。

{ "type": "FeatureCollection", "features": [] }

使うときのコツ

  • 構文エラーで多いのは、末尾の余分なカンマ、ダブルクォートではなくシングルクォート、キーのクォート忘れです。エラーメッセージが何文字目で失敗したかを示すので、そこから読むと早く見つかります。
  • 図形が想定と違う場所に描画されたときは、データそのものより先に座標の順序を疑ってください。
  • 地物が複数あるときは、1件ずつ確認するより FeatureCollection にまとめて貼るほうが一度で描画されます。
  • 平面直角座標系などの投影座標系のデータは、変換してからでないと正しい位置に描画されません。
  • このツールが見るのは構文と型だけです。座標値の範囲やリングの回転方向はチェックしません。

用語集

RFC 7946
GeoJSON を定義する仕様。座標参照系を WGS84 に、座標の順序を経度・緯度に固定し、型をちょうど9種類と定めています。2008年の草案に沿って作られた古いデータは、別の座標系を使っていることがあります。
Position(座標)
座標1点を表す配列で、経度・緯度の順に書き、任意で標高を続けます。GeoJSONのすべてのジオメトリはこの座標から組み立てられるため、ここを間違えると図形全体がずれます。
GeometryCollection
型の異なるジオメトリを geometries 配列にまとめたジオメトリ。FeatureCollection と違って属性を持たないため、属性なしで図形だけを表現したいときに使います。
構文の検証と意味の検証
構文の検証は「テキストとして解析できるか」「その型が仕様に存在するか」を見ます。意味の検証は「座標値が有効な範囲か」「リングが閉じているか」「回転方向が正しいか」といった値の妥当性を見ます。このツールが行うのは前者です。

よくある質問

Q: 貼り付けたGeoJSONはサーバーに送信されますか?
A: 送信されません。解析・検証・描画はすべてブラウザ内で行われ、サーバーには何も送られません。社外に出せないデータでもそのまま貼れます。
Q: 「JSONとしては正しいですが、GeoJSONではありません」と出るのはなぜ?
A: JSONとしては解析できたものの、type が無いか、9種類のGeoJSONの型のいずれでもない場合に出ます。たとえば {"a":1} はJSONとしては正しくても GeoJSON ではありません。
Q: RFC 7946 に完全準拠した検証をしますか?
A: しません。JSONとして正しいことと、type が9種類のGeoJSONの型のいずれかであることだけを確認します。座標値の範囲、リングの回転方向、bbox メンバーは検証しないため、ここを通っても厳密なバリデータでは弾かれることがあります。

関連ツール & ゲーム