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 メンバーは検証しないため、ここを通っても厳密なバリデータでは弾かれることがあります。