GeoJSON 형식 규범 설명

11629 단어
1. 프로필
GeoJSON 은 각종 지리 데이터 구 조 를 인 코딩 하 는 형식 이다.GeoJSON 대상 은 기 하, 특징 또는 특징 집합 을 나 타 낼 수 있다.GeoJSON 은 점, 선, 면, 다 점, 다 선, 다 면 과 기하학 적 집합 을 지원 합 니 다.GeoJSON 의 특징 은 기하학 적 대상 과 다른 속성 을 포함 하고 특징 집합 은 일련의 특징 을 나타 낸다.
하나의 완전한 GeoJSON 데이터 구 조 는 항상 하나의 대상 이다.GeoJSON 에서 대상 은 이름 / 값 쌍 - 구성원 의 집합 으로 구성 된다.모든 구성원 에 게 이름 은 항상 문자열 입 니 다.구성원 의 값 은 문자열, 숫자, 대상, 배열 이거 나 아래 텍스트 상수 중 하나 입 니 다. "true", "false", "null".배열 은 값 이 위 에서 말 한 요소 로 구성 된다.
1.1 예
GeoJSON 특징 집합:
{
    "type": "FeatureCollection",
    "features": [
        {
            "type": "Feature",
            "geometry": {
                "type": "Point",
                "coordinates": [102.0, 0.5]
            },
            "properties": {
                "prop0": "value0"
            }
        },
        {
            "type": "Feature",
            "geometry": {
                "type": "LineString",
                "coordinates": [
                    [102.0, 0.0],
                    [103.0, 1.0],
                    [104.0, 0.0],
                    [105.0, 1.0]
                ]
            },
            "properties": {
                "prop0": "value0",
                "prop1": 0.0
            }
        },
        {
            "type": "Feature",
            "geometry": {
                "type": "Polygon",
                "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": {
                    "this": "that"
                }
            }
        }
    ]
}

1.2 정의
  • JavaScript 대상 표시 와 용어 대상, 이름, 값, 배열 과 숫자 는 IETF RFC 4627 즉 IETF RFC 4627 에서 정의 된다.
  • 이 문서 의 키 워드 는 "필수", "허용 되 지 않 습 니 다", "필요 합 니 다", "당연 합 니 다", "당연 합 니 다", "당연 합 니 다", "추천 하지 않 습 니 다", "아마도" 와 "선택 할 수 있 는" 은 IETF RFC 2119, 즉 IETF RFC 2119 에서 설명 합 니 다.
  • 2. GeoJSON 대상
    2.1 기하학 적 대상
    기 하 는 GeoJSON 대상 입 니 다. 이때 type 멤버 의 값 은 다음 문자열 중 하나 입 니 다. "Point", "MultiPoint", "LineString", "MultiLineString", "Polygon", "MultiPolygon" 또는 "Geometry Collection" 입 니 다. "Geometry Collection" 을 제외 한 다른 모든 유형의 GeoJSON 기하학 적 대상 은 하나의 이름 으로 "coordinates" 여야 합 니 다.이 배열 의 요소 구 조 는 기하학 적 형식 으로 확 정 됩 니 다.
    2.1.1 위치
    위 치 는 기본 적 인 기하학 적 구조 입 니 다. 기하학 적 대상 의 "coordinates" 구성원 은 하나의 위치 (여 기 는 기하학 적 점), 위치 배열 (선 또는 기하학 적 다 점), 위치 배열 의 배열 (면, 다 선) 또는 위치의 다 차원 배열 (다 면) 로 구성 되 어 있 습 니 다.
    위 치 는 디지털 배열 로 표시 합 니 다. 최소 두 개의 요소 가 있어 야 합 니 다. 더 많은 요 소 를 가 질 수 있 습 니 다. 요소 의 순 서 는 x, y, z 순서 (투영 좌 표 는 시스템 에서 좌표 의 동쪽 방향, 북쪽 방향, 높이 또는 지리 좌표 참조 시스템 의 좌표 길이, 위도, 높이) 를 따라 야 합 니 다.모든 수량의 다른 요 소 는 허용 된다 - 다른 요소 의 설명 과 의 미 는 이 규격 설명 의 범 위 를 넘 어 섰 다.
    위치 와 기하학 적 예 는 부록 A. 기하학 적 예 에서 나타난다.
    2.1.2 시
    유형 Point 에 있어 서 coordinates 구성원 은 반드시 하나의 단독 position 이 어야 한다.
    2.1.3 멀 티 포인트
    유형 MultiPoint 에 있어 서 coordinates 구성원 은 반드시 position 이 어야 한다.
    2.1.4 선
    유형 LineString 에 있어 서 coordinates 멤버 는 반드시 MultPoint 이 어야 한다. LinearRing (선형 링) 은 4 개 이상 position 의 폐쇄 된 선 이다. 첫 번 째 와 마지막 위 치 는 같다.정의 에 그것 이 언급 되 어 있다.
    2.1.5 멀 티 라인
    유형 LinearRing 에 있어 서 MultiLineString 구성원 은 반드시 한 명 coordinates 이 어야 한다.
    2.1.6 면
    유형 LineString 에 있어 서 Polygon 구성원 은 반드시 하나 coordinates 여야 한다. 여러 개 LinearRing (선형 고리) 를 가 진 면 에 있어 서 첫 번 째 고 리 는 외부 고리 여야 하고, 다른 것 은 내부 고리 나 구멍 이 어야 한다.
    2.1.7 다 면
    유형 LinearRing 에 있어 서 MultiPlygon 구성원 은 반드시 coordinates 이 어야 한다.
    2.1.8 기하학 적 집합
    유형 Polygon 의 GeoJSON 대상 은 기하학 적 대상 (geometry objects) 의 집합 을 나타 내 는 집합 대상 이다.
    기하학 적 집합 에는 GeometryCollection 이라는 이름 의 구성원 이 있어 야 합 니 다. geometries 와 대응 하 는 값 은 하나의 배열 입 니 다. 이 배열 의 모든 요 소 는 GeoJSON 기하학 적 대상 입 니 다.
    2.2 특징 대상
    유형 이 'Feature' 인 GeoJSON 대상 은 특징 대상 이다.
  • 특징 대상 은 'geometry' 라 는 이름 의 구성원 이 어야 합 니 다. 이 기하학 적 구성원 의 값 은 위 에서 정 의 된 기하학 적 대상 이나 JSON 의 null 값 입 니 다.
  • 특징 은 연극 에 'properties' 라 는 이름 을 가 진 멤버 가 있어 야 한 다 는 것 이다. 이 속성 멤버 의 값 은 하나의 대상 (그 어떠한 JSON 대상 이나 JSON 의 null 값) 이다.
  • 특징 이 자주 사용 하 는 식별 자 라면 이 식별 자 는 'id' 라 는 특징 대상 구성원 을 포함해 야 한다.
  • 2.3 특징 집합 대상
    유형 이 'Feature Collection' 인 GeoJSON 대상 은 특징 집합 대상 이다.
    "Feature Collection" 의 대상 은 "features" 라 는 이름 의 멤버 가 있어 야 합 니 다. "features" 와 대응 하 는 값 은 하나의 배열 입 니 다. 이 배열 의 모든 요 소 는 위 에서 정 의 된 특징 대상 입 니 다.
    3. 좌표 참조 시스템 대상
    GeoJSON 대상 의 좌표 참조 시스템 (CRS) 은 "crs" 구성원 (아래 CRS 대상 을 가리 키 는 말) 에 의 해 확 정 됩 니 다. 대상 이 crs 구성원 이 없 으 면 부모 대상 이나 조부 대상 의 crs 구성원 이 crs 로 받 을 수 있 습 니 다. 이렇게 crs 구성원 을 얻 지 못 하면 기본 CRS 는 GeoJSON 대상 에 적 용 됩 니 다.
  • 기본 CRS 는 지리 좌표 참조 시스템 으로 WGS 84 데 이 터 를 사용 하고 길이 와 높이 의 단 위 는 10 진법 표시 입 니 다.
  • 이름 이 'crs' 인 멤버 의 값 은 JSON 대상 (아래 CRS 대상 을 가리 키 는 말) 이나 JSON 의 null 이 어야 합 니 다. CRS 값 이 null 이면 CRS 가 없다 고 가정 합 니 다.
  • crs 구성원 은 (특징 집합, 특징, 기하학 적 순서) 등급 구조 에서 GeoJSON 대상 의 최상 위 에 위치 해 야 하 며, 대상 이나 손자 대상 에서 중복 되 거나 덮어 서 는 안 된다.
  • 비어 있 지 않 은 CRS 대상 은 두 개의 강제 소유 대상 이 있다. 'type' 과 'properties' 이다.
  • type 구성원 의 값 은 문자열 이 어야 합 니 다. 이 문자열 은 CRS 대상 의 종 류 를 설명 합 니 다.
  • 속성 구성원 의 값 은 대상 이 어야 합 니 다.
  • CRS 는 좌표 순 서 를 변경 할 수 없습니다.
  • 3.1 이름 CRS
    CRS 대상 은 이름 을 통 해 좌표 참조 시스템 을 표시 할 수 있 습 니 다. 이 경우 "type" 구성원 의 값 은 문자열 "name" 이 어야 합 니 다. "properties" 구성원 의 값 은 "name" 구성원 을 포함 하 는 대상 이 어야 합 니 다. 이 "name" 구성원 의 값 은 좌표 참조 시스템 을 표시 하 는 문자열 이 어야 합 니 다. 예 를 들 어 geometries OGC CRS 의 URN 은 이전 식별 자 "urn:ogc:def:crs:OGC:1.3:CRS84" 보다 우선 해 야 합 니 다.선택:
    "crs": {
        "type": "name",
        "properties": {
            "name": "urn:ogc:def:crs:OGC:1.3:CRS84"
        }
    

    3.2 CRS 연결
    CRS 대상 도 인터넷 에서 CRS 인 자 를 연결 할 수 있 습 니 다. 이 경우 "type" 구성원 의 값 은 문자열 "link" 여야 합 니 다. "properties" 구성원 의 값 은 연결 대상 이 어야 합 니 다.
    3.2.1 연결 대상
    연결 대상 은 "href" 와 선택 할 수 있 는 구성원: "type" 이 필요 합 니 다.
    필요 한 "href" 구성원 의 값 은 인 용 된 URI (자원 표지 통일) 를 풀 어야 합 니 다.
    선택 할 "type" 구성원 의 값 은 문자열 이 어야 합 니 다. 이 문자열 은 CRS 인 자 를 나타 내 는 URI 형식 을 암시 합 니 다. 권장 값 은 "proj 4", "ogcwkt", esriwkt "이지 만 다른 값 을 사용 할 수 있 습 니 다.
    "crs": {
        "type": "link",
        "properties": {
            "href": "http://example.com/crs/42",
            "type": "proj4"
        }
    }
    

    상대 연결 은 항상 보조 파일 에 있 는 CRS 의 직접 프로세서 로 사 용 됩 니 다.
    "crs": {
        "type": "link",
        "properties": {
            "href": "data.crs",
            "type": "ogcwkt"
        }
    }
    

    4. 경계 상자
    기하학 적, 특징 또는 특징 집합 을 포함 하 는 좌표 범위 정 보 를 위해 GeoJSON 대상 에 '라 는 이름 이 있 을 수 있 습 니 다.bbox 의 구성원 입 니 다. bbox 구성원 의 값 은 2 * n 배열 이 어야 합 니 다. 여기 n 은 기하학 적 대상 을 포함 하 는 차원 이 고 모든 좌표 축 의 최저 값 뒤에 최고 자 값 을 따라 야 합 니 다. bbox 의 좌표 축 순 서 는 기하학 적 좌표 축 순 서 를 따 릅 니 다. 그 밖 에 bbox 의 좌표 참고 시스템 은 GeoJSON 대상 과 일치 하 는 좌표 참고 시스템 을 가설 합 니 다.
    특징 대상 의 bbox 구성원 의 예:
    {
        "type": "Feature",
        "bbox": [-180.0, -90.0, 180.0, 90.0],
        "geometry": {
            "type": "Polygon",
            "coordinates": [
                [
                    [-180.0, 10.0],
                    [20.0, 90.0],
                    [180.0, -5.0],
                    [-30.0, -90.0]
                ]
            ]
        }
      ...
    }
    

    특징 집합 대상 bbox 구성원 의 예:
    {
        "type": "FeatureCollection",
        "bbox": [100.0, 0.0, 105.0, 1.0],
        "features": [
        ...
        ]
    }
    

    부록 A. 집합 예
    다음 예 에서 모든 것 은 하나의 완전한 GeoJSON 대상 을 표시 합 니 다. JSON 대상 의 끝 에 있 는 공백 문 자 는 의미 가 없습니다. 예 에서 사용 하 는 공백 문 자 는 이 데이터 구 조 를 설명 하 는 데 도움 이 되 지만 필요 한 것 은 아 닙 니 다.
    점.
    점 좌 표 는 x, y 순서에 따라 (투영 좌표 의 동쪽 방향, 북쪽 방향, 지리 좌표 의 길이, 높이):
    {
        "type": "Point",
        "coordinates": [100.0, 0.0]
    }
    

    실.
    선의 좌 표 는 위치 배열 입 니 다.
    {
        "type": "LineString",
        "coordinates": 
        [
            [100.0, 0.0],
            [101.0, 1.0]
        ]
    }
    

    얼굴
    면 좌 표 는 선형 링 좌표 배열 의 배열 입 니 다. 이 배열 의 첫 번 째 요 소 는 외부 링 을 표시 합 니 다. 다른 후속 요 소 는 내부 링 (또는 구멍) 을 표시 합 니 다.
    구멍 없 는:
    {
        "type": "Polygon",
        "coordinates": 
        [
            [
                [100.0, 0.0],
                [101.0, 0.0],
                [101.0, 1.0],
                [100.0, 1.0],
                [100.0, 0.0]
            ]
        ]
    }
    

    구멍 의가 있다
    {
        "type": "Polygon",
        "coordinates": 
        [
            [
                [100.0, 0.0], 
                [101.0, 0.0], 
                [101.0, 1.0], 
                [100.0, 1.0], 
                [100.0, 0.0] 
            ],
            [ 
                [100.2, 0.2], 
                [100.8, 0.2], 
                [100.8, 0.8], 
                [100.2, 0.8], 
                [100.2, 0.2] 
            ]
        ]
    }
    

    많이
    다 중 좌 표 는 위치 배열 입 니 다:
    {
        "type": "MultiPoint",
        "coordinates": 
        [
            [100.0, 0.0],
            [101.0, 1.0]
        ]
    }
    

    다 선
    다 선의 좌 표 는 선 좌표 배열 의 배열 이다.
    {
        "type": "MultiLineString",
        "coordinates": 
        [
            [ 
                [100.0, 0.0], 
                [101.0, 1.0] 
            ],
            [ 
                [102.0, 2.0], 
                [103.0, 3.0] 
            ]
        ]
    }
    

    다방면
    다 면 의 좌 표 는 면 좌표 배열 의 배열 이다.
    {
        "type": "MultiPolygon",
        "coordinates": 
        [
            [
                [
                    [102.0, 2.0], 
                    [103.0, 2.0], 
                    [103.0, 3.0], 
                    [102.0, 3.0], 
                    [102.0, 2.0]
                ]
            ],
            [
                [
                    [100.0, 0.0], 
                    [101.0, 0.0], 
                    [101.0, 1.0], 
                    [100.0, 1.0], 
                    [100.0, 0.0]
                ],
                [
                    [100.2, 0.2], 
                    [100.8, 0.2], 
                    [100.8, 0.8], 
                    [100.2, 0.8], 
                    [100.2, 0.2]
                ]
            ]
        ]
    }
    

    기하학 적 집합
    기 하 집합 기하학 적 배열 의 모든 요 소 는 위 에서 묘사 한 기하학 적 대상 중의 하나 이다.
    {
        "type": "GeometryCollection",
        "geometries": 
        [
            {
                "type": "Point",
                "coordinates": [100.0, 0.0]
            },
            {
                "type": "LineString",
                "coordinates": 
                [
                    [101.0, 0.0],
                    [102.0, 1.0]
                ]
            }
        ]
    }
    

    좋은 웹페이지 즐겨찾기