geoJSON featureCollection에 properties 요소를 갖는 것이 유효합니까?


16

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"}
              }
              ]
}

아래의 답변에 따르면 거기에 넣는 것이 올바르지는 않지만 프로그램 / 스크립트는 그것을 알 수 없습니다.

그래서, 질문을 바꾸어 보겠습니다.

답변:


10

2.3. 기능 콜렉션 오브젝트

"FeatureCollection"유형의 GeoJSON 오브젝트는 기능 콜렉션 오브젝트입니다.

"FeatureCollection"유형의 오브젝트에는 "features"라는 이름의 멤버가 있어야합니다. "기능"에 해당하는 값은 배열입니다. 배열의 각 요소는 위에서 정의한 기능 객체입니다.

나는 이것이 객체에 유효하지 않은 추가 멤버가있는 경우 분명히 의미한다고 생각합니다.

Ecmascript 객체는 매우 열려 있습니다.

예, 피처 컬렉션의 최상위 레벨에 properties 요소를 가질 수 있지만 도구가 알고 있거나 복사 할 것으로 기대하지는 않습니다.


1
OK Fair enough :) 그러나 기능 대신 컬렉션 자체에 대한 정보를 저장할 장소는 무엇입니까?
stUrb

사양에는 없습니다.
Calvin

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 "geometry"및 "properties"멤버는 Feature 오브젝트를 정의합니다. FeatureCollection 및 Geometry 객체는 각각 "geometry"또는 "properties"멤버를 포함해서는 안됩니다 (MUST NOT).


내 독서에서,이 의무의 표현을 것을 당신은 FeatureCollection의 멤버 이름을 지정할 수 없습 "properties" 영업 이익이하는 것처럼,하지만 다른 뭔가를 호출에서 당신을 배제하지 않는다 처럼 "metadata""description". geojson을 사용하는 웹 맵에서 여러 최상위 멤버를 사용했습니다. @Niel, 좋은 업데이트.
nronnei

1

또한 기능 수집 수준에서 하나 인 최상위 '속성'이 유용 할 것이라고 생각합니다.

그러나 해결 방법은 기능 모음에 대한 추가 기능을 만들고 원하는대로 속성을 채우고 지오메트리 개체를 NULL로 설정하는 것이 었습니다. 사양을 읽었을 때 이것은 허용 된 것으로 보이며 표준 내에 유지됩니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.