geoJSON featureCollectionにproperties要素を含めることは有効ですか?


16

featureCollection要素を親とするproperties要素を持つことは有効ですか?

geojson.orgによると、これは有効です。

{ "type": "FeatureCollection",
  "features": [
              { "type": "Feature",
                "geometry": {"type": "Point", "coordinates": [102.0, 0.5]},
                "properties": {"prop0": "value0"}
              }
              ]
}

しかし、私はそれが有効であるか、これを持っていることが無効であるかどうかを見つけることができません:

{ "type": "FeatureCollection",
  "properties" : { "description" : "This is the geometry for..." }
  "features": [
              { "type": "Feature",
                "geometry": {"type": "Point", "coordinates": [102.0, 0.5]},
                "properties": {"prop0": "value0"}
              }
              ]
}

下の答えによれば、そこに置くことは無効ではありませんが、プログラム/スクリプトはそのことを知りません。

それでは、質問を言い換えてみましょう:(どこ)プロパティについての説明的な情報を全体として入れることは可能ですか??

回答:


10

2.3。機能コレクションオブジェクト

タイプが「FeatureCollection」のGeoJSONオブジェクトは、機能コレクションオブジェクトです。

タイプ「FeatureCollection」のオブジェクトには、「features」という名前のメンバーが必要です。「機能」に対応する値は配列です。配列内の各要素は、上記で定義された機能オブジェクトです。

これは、オブジェクトに追加のメンバーがあり、それが無効にならないことを明らかに暗示していると思います。

Ecmascriptオブジェクトは非常にオープンです。

そのため、はい、機能コレクションの最上位にプロパティ要素を置くことができますが、そこにツールが存在することを知ったり、コピーしたりすることを期待しないでください...


1
OKまあまあ:)しかし、機能の代わりにコレクション自体に関する情報を保存する場所は何ですか?
stUrb

仕様にはありません。
カルバン

FeatureCollectionはファーストクラスオブジェクトであるため、プロパティはコレクションに関するものであり、機能ではありません。好きなだけ追加するか、値がマップである「メタデータ」プロパティを追加します。
ジュリアン

別の考え方として、ニーズに合わせてFeatureCollectionをサブクラス化する必要があります。ECMAscriptはオブジェクトをまったくそのように考えていないので、それはプログラミングの構成というよりも、実際のメタファーです。
ジュリアン

1
仕様では、セクション6.1の外国人メンバーを許可しています。tools.ietf.org/html/draft-ietf-geojson-03#section-6。したがって、それは合法ですが、動作はアプリケーションに依存します。
intotecho

9

短い答えはノーです- オブジェクトにproperties要素を持つことは無効ですFeatureCollection

https://tools.ietf.org/html/rfc7946#section-7.1

GeoJSONの「ジオメトリ」および「プロパティ」メンバーは、Featureオブジェクトを定義します。FeatureCollectionおよびGeometryオブジェクトには、それぞれ「geometry」または「properties」メンバーを含めることはできません。


私の読書から、この文言では、OPのようにFeatureCollectionのメンバーに名前付けることはできません"properties"が、またはのような何かを呼び出すことを妨げるものはありません。geojsonに依存するWebマップでいくつかのトップレベルメンバーを使用しました。良い更新、@ Niel。"metadata""description"
nronnei

1

私も、トップレベルの「プロパティ」が機能コレクションレベルで役立つと思います。

しかし、私が行った回避策は、フィーチャコレクションに追加のフィーチャを作成し、必要に応じてプロパティを設定し、ジオメトリオブジェクトをNULLに設定することでした。私の仕様を読んだところ、これは許可されているようで、標準内にとどまっています。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.