LogoMark.png

JSON

JSON

JavaScript Object Notation

JSONとは、データを key とvalue の組み合わせで記述する連想配列のひとつで、データを記述する方法は無限にあります。相手が人間の場合は、例えば「表」を使えば、情報を整理して伝えることができますが、相手がコンピュータの場合、それを厳密なルールに則って記述する必要があります。

JSONは、複雑な構造のデータを、人間にも読みやすく、かつコンピュータにも読みやすい記法の1つとして誕生したものです。ここでは、活用事例のひとつとして、地理情報を記述する GeoJSON についても概説します。

CONTENTS


JSON

データ形式

{ 
  Key:Value,
  Key:Value,
  :
}

書き方の事例

{
  "foo": [ 1, null ],
  "bar": {
     "hoge": [ true, "kos" ] ,
     "piyo": "qux"
   }
}


Key:キーワード

データを取り出す際に使うキーワードで、ダブルクォーテーション [ ” ] で囲みます(通常の配列では、データの取り出しに「添字」を使います)。

Value:値

JSONには以下の6種類の「値」があります。値は1つとは限らず、複数の値を対応させる場合には [ ] で括った配列を使うこともできます。

Member:メンバー

名前(name)と、その名前に対する「値」を、コロン(:)でつないだものをメンバーと呼びます。

参考:メタ構文変数
https://ja.wikipedia.org/wiki/%E3%83%A1%E3%82%BF%E6%A7%8B%E6%96%87%E5%A4%89%E6%95%B0





GeoJSON

GeoJSONとは、様々な地理的データをJSON形式でコーディングしたデータでファイルフォーマットです。拡張子は json または geojson

オブジェクトのタイプ


ジオメトリオブジェクト

富士山頂点の情報を書いた例

{
    "type": "Point",
    "crs": {
        "type": "name",
        "properties": {
            "name": "urn:ogc:def:crs:OGC:1.3:CRS84"
        }
    },
    "coordinates": [138.7309, 35.3628]
}


フィーチャーオブジェクト

{
    "type": "Feature",
    "geometry": {
        "type": "Point",
        "coordinates": [125.6, 10.1]
    },
    "properties": {
        "name": "Dinagat Islands"
    }
}


フィーチャーコレクションオブジェクト

{
    "type": "FeatureCollection",
    "features": [
        {
            "type": "Feature",
            "geometry": {
                "type": "Point",
                "coordinates": [ ]
            },
            "properties": { }
        },
        {
            "type": "Feature",
            "geometry": {
                "type": "Polygon",
                "coordinates": [ ]
            },
            "properties": { }
        }
    ]
}

フィーチャーオブジェクトをグルーピングした書き方になります。

GeoJSON のデータ


関連情報

参考:GIS

地理情報システム(GIS:Geographic Information System)とは、地理的位置を手がかりに、位置に関する情報を持ったデータ(空間データ)を総合的に管理・加工し、視覚的に表示し、高度な分析や迅速な判断を可能にする技術。




PAGES

GUIDE

DATA

Last-modified: 2021-12-01 (水) 12:56:25