featureCollection-element를 부모로 가진 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"}
}
]
}
아래의 답변에 따르면 거기에 넣는 것이 올바르지는 않지만 프로그램 / 스크립트는 그것을 알 수 없습니다.
그래서, 질문을 바꾸어 보겠습니다.
답변
2.3. 기능 콜렉션 오브젝트
“FeatureCollection”유형의 GeoJSON 오브젝트는 기능 콜렉션 오브젝트입니다.
“FeatureCollection”유형의 오브젝트에는 “features”라는 이름의 멤버가 있어야합니다. “기능”에 해당하는 값은 배열입니다. 배열의 각 요소는 위에서 정의한 기능 객체입니다.
나는 이것이 객체에 유효하지 않은 추가 멤버가있는 경우 분명히 의미한다고 생각합니다.
Ecmascript 객체는 매우 열려 있습니다.
예, 피처 컬렉션의 최상위 레벨에 properties 요소를 가질 수 있지만 도구가 알고 있거나 복사 할 것으로 기대하지는 않습니다.
답변
짧은 대답은 아니오입니다- 객체에 properties
요소 를 갖는 것은 유효하지 않습니다 FeatureCollection
.
https://tools.ietf.org/html/rfc7946#section-7.1
GeoJSON “geometry”및 “properties”멤버는 Feature 오브젝트를 정의합니다. FeatureCollection 및 Geometry 객체는 각각 “geometry”또는 “properties”멤버를 포함해서는 안됩니다 (MUST NOT).
답변
또한 기능 수집 수준에서 하나 인 최상위 ‘속성’이 유용 할 것이라고 생각합니다.
그러나 해결 방법은 기능 모음에 대한 추가 기능을 만들고 원하는대로 속성을 채우고 지오메트리 개체를 NULL로 설정하는 것이 었습니다. 사양을 읽었을 때 이것은 허용 된 것으로 보이며 표준 내에 유지됩니다.