GeoJSON
GeoJSON파일 이름 확장명 | .json , .geojson |
---|---|
인터넷 미디어 유형 | application/geo+json [1] |
형식 유형 | GIS 파일 형식 |
연장 위치 | 제이슨 |
표준 | RFC 7946 |
오픈 포맷? | 네 |
웹사이트 | geojson |
GeoJSON은[1] 단순한 지리적 특징과 비공간적 특성을 나타내도록 설계된 개방형 표준 형식이다. 그것은 JSON 포맷을 기반으로 한다.
특징에는 점(따라서 주소와 위치), 선 문자열(따라서 도로, 고속도로 및 경계), 다각형(국, 도, 토지) 및 이러한 유형의 다중 부분 집합이 포함된다. 예를 들어, 모바일 라우팅과 내비게이션 앱은 GeoJSON을 사용한 서비스 범위를 설명할 수 있다.[2]
GeoJSON 형식은 작성되었다는 점에서 다른 GIS 표준과 다르며 공식적인 표준 기관이 아니라 인터넷 개발자 그룹이 유지한다.[3]
GeoJSON의 눈에 띄는 자손은 TopoJ이다.SON, 지리공간 토폴로지를 인코딩하고 일반적으로 더 작은 파일 크기를 제공하는 GeoJSON의 확장자.
역사
2007년[4] 3월부터 GeoJSON 포맷 워킹그룹 및 논의가 시작되었고, 2008년 6월에 포맷 사양이 확정되었다.
2015년 4월 인터넷 엔지니어링 태스크포스는 2016년 8월 GeoJSON을 RFC 7946으로 출시한 지오그래픽 JSON 워킹그룹을[5] 설립했다.
예
{ "형식": "FeatureCollection", "features": [ { "형식": "특징", "geometry": { "형식": "점", "coordinates": [102.0, 0.5] }, "properties": { "prop0": "value0" } }, { "형식": "특징", "geometry": { "형식": "라인스트링", "coordinates": [ [102.0, 0.0], [103.0, 1.0], [104.0, 0.0], [105.0, 1.0] ] }, "properties": { "prop0": "value0", "prop1": 0.0 } }, { "형식": "특징", "geometry": { "형식": "폴리곤", "coordinates": [ [ [100.0, 0.0], [101.0, 0.0], [101.0, 1.0], [100.0, 1.0], [100.0, 0.0] ] ] }, "properties": { "prop0": "value0", "prop1": { "이것": "그것" } } } ] }
기하학
점수는 [x, y] 또는 [x, y, z]이다. 그것들은 [경도, 위도 ] 또는 [동측, 북경]일 수 있다. 표고는 선택적인 세 번째 숫자다. 그것들은 십진수다. [6]
예를 들어 런던(북 51.5074°, 서부 0.1278°)은 [-0.1278, 51.5074]이다.
유형 | 예 | |
---|---|---|
포인트 | ![]() | { "형식": "점", "coordinates": [30.0, 10.0] } |
라인스트링 | ![]() | { "형식": "라인스트링", "coordinates": [ [30.0, 10.0], [10.0, 30.0], [40.0, 40.0] ] } |
폴리곤 | ![]() | { "형식": "폴리곤", "coordinates": [ [[30.0, 10.0], [40.0, 40.0], [20.0, 40.0], [10.0, 20.0], [30.0, 10.0]] ] } |
![]() | { "형식": "폴리곤", "coordinates": [ [[35.0, 10.0], [45.0, 45.0], [15.0, 40.0], [10.0, 20.0], [35.0, 10.0]], [[20.0, 30.0], [35.0, 35.0], [30.0, 20.0], [20.0, 30.0]] ] } |
유형 | 예 | |
---|---|---|
멀티포인트 | ![]() | { "형식": "멀티포인트", "coordinates": [ [10.0, 40.0], [40.0, 30.0], [20.0, 20.0], [30.0, 10.0] ] } |
멀티라인 스트링 | ![]() | { "형식": "멀티라인 문자열", "coordinates": [ [[10.0, 10.0], [20.0, 20.0], [10.0, 40.0]], [[40.0, 40.0], [30.0, 30.0], [40.0, 20.0], [30.0, 10.0]] ] } |
멀티폴리곤 | ![]() | { "형식": "멀티폴리곤", "coordinates": [ [ [[30.0, 20.0], [45.0, 40.0], [10.0, 40.0], [30.0, 20.0]] ], [ [[15.0, 5.0], [40.0, 10.0], [10.0, 20.0], [5.0, 10.0], [15.0, 5.0]] ] ] } |
![]() | { "형식": "멀티폴리곤", "coordinates": [ [ [[40.0, 40.0], [20.0, 45.0], [45.0, 30.0], [40.0, 40.0]] ], [ [[20.0, 35.0], [10.0, 30.0], [10.0, 10.0], [30.0, 5.0], [45.0, 20.0], [20.0, 35.0]], [[30.0, 20.0], [20.0, 15.0], [20.0, 25.0], [30.0, 20.0]] ] ] } | |
지오메트리컬렉션 | ![]() | { "형식": "GeometryCollection", "여유": [ { "형식": "점", "coordinates": [40.0, 10.0] }, { "형식": "라인스트링", "coordinates": [ [10.0, 10.0], [20.0, 20.0], [10.0, 40.0] ] }, { "형식": "폴리곤", "coordinates": [ [[40.0, 40.0], [20.0, 45.0], [45.0, 30.0], [40.0, 40.0]] ] } ] } |
토포제이슨
TopoJSON은 토폴로지를 인코딩하는 GeoJSON의 확장이다. 지오메트리를 분리하여 나타내기 보다는 TopoJ의 지오메트리SON 파일은 arcs라는 공유 회선 세그먼트에서 함께 연결된다.[7] 호는 점의 순서인 반면, 선 문자열과 다각형은 호들의 순서인 것으로 정의된다. 각 호는 한 번만 정의되지만 다른 도형으로 여러 번 참조할 수 있어 중복성을 줄이고 파일 크기를 줄일 수 있다.[8] 게다가, TopoJ.SON은 위상 보존 형태 단순화, 자동 지도 색소화, 카토그램과 같은 위상 사용 애플리케이션을 촉진한다.
TopoJ의 참조 구현SON 사양은 TopoJ를 인코딩하는 명령줄 도구로 사용 가능GeoJSON(또는 ESRI Shapefiles) 및 TopoJ를 디코딩하는 클라이언트 측 JavaScript 라이브러리의 SON다시 GeoJSON으로 돌아온 SON. TopoJSON은 버전 1.11[9] 및 Post 현재 인기 있는 OGR 툴로도 지원된다.버전 2.1.0의 GIS.[10]
TopoJSON 스키마
좌표 위도 0° 및 경도 0°에 가까운 GIS 형상에 따라 모든 메타데이터, Polygon, LineString, Point 요소, arcs 및 속성을 포함하는 단순하지만 유효하고 완전한 topojson 파일을 다음과 같이 정의한다.
{ "형식":"토폴로지", "transform":{ "척도": [1,1], "translate": [0,0] }, "objects":{ "두 개짜리":{ "형식": "GeometryCollection", "여유":[ {"형식": "폴리곤", "arcs":[[0,1]],"properties": {"이름": "왼쪽_폴리곤" }}, {"형식": "폴리곤", "arcs":[[2,-1]],"properties": {"이름": "오른쪽_폴리곤" }} ] }, "한 줄": { "형식":"GeometryCollection", "여유":[ {"형식": "라인스트링", "arcs": [3],"properties":{"이름":"Under_LineString"}} ] }, "2개소":{ "형식":"GeometryCollection", "여유":[ {"형식":"점","coordinates":[0,0],"properties":{"이름":"Originine_Point"}}, {"형식":"점","coordinates":[0,-1],"properties":{"이름":"Under_Point"}} ] } }, "arcs": [ [[1,2],[0,-2]], [[1,0],[-1,0],[0,2],[1,0]], [[1,2],[1,0],[0,-2],[-1,0]], [[0,-1],[2,0]] ] }
참고 항목
참조
- ^ Jump up to: a b Butler, Howard; Daly, Martin; Doyle, Allan; Gillies, Sean; Hagen, Stefan; Schaub, Tim (August 2016). RFC 7946. IETF. doi:10.17487/RFC7946.
- ^ "Providing Directions". developer.apple.com.
- ^ "GeoJSON Info Page". lists.geojson.org.
- ^ "The GeoJSON March 2007 Archive by thread". lists.geojson.org.
- ^ "Geographic JSON (geojson) -". datatracker.ietf.org.
- ^ "GeoJSON RFC #3.1.1".
- ^ "topojson/topojson-specification". December 11, 2020 – via GitHub.
- ^ "topojson/topojson". GitHub.
- ^ "Release/1.11.0-News – GDAL". trac.osgeo.org.
- ^ "AsTopoJSON". postgis.net.
원천
- Andrews, Christopher (18 September 2007). "Emerging Technology: AJAX and GeoJSON". Archived from the original on 22 May 2009.
- "Geoweb Guru: Technical Overview: GeoJSON". 16 February 2009. Archived from the original on 2009-02-21.
- Lambert, Chris (4 May 2009). "Google Geo Developers Blog: Build on top of your public Latitude location with GeoJSON & KML".