OGC API - 피처

New in version 2.3.

드라이버 단축 이름

OAPIF

빌드 의존성

libcurl

OAPIF 드라이버는 OGC API - 피처(OGC API - Features) 서비스에 접속할 수 있습니다. 이 드라이버는 서비스가 각각 API 설명, 객체 집합(feature collection) 메타데이터 그리고 객체 집합 데이터를 위한 OpenAPI 3.0, JSON 그리고 GeoJSON 인코딩을 지원한다고 가정합니다.

Note

GDAL 3.1 이전 버전들에서는 이 드라이버를 WFS3 드라이버라고 했으며 서비스 사양의 초안 버전들만 지원했습니다.

드라이버 케이퍼빌리티

지리참조 작업 지원

이 드라이버는 지리참조 작업을 지원합니다.

데이터셋 이름 문법

OGC API - 피처 데이터소스를 열기 위한 문법은 다음과 같습니다:

OAPIF:http://path/to/OAPIF/endpoint

이때 ‘endpoint’는 랜딩 페이지 또는 ‘collections/{id}’를 가리키는 경로입니다.

레이어 스키마

OGR는 레이어별 고정 스키마를 필요로 하지만 OGC API - 피처 코어는 고정 스키마를 요구하지 않습니다. 따라서 이 드라이버는 객체들의 첫 페이지를 (객체 10개를) 가져와서 스키마를 확립할 것입니다.

필터링

이 드라이버는 OGRLayer::SetSpatialFilter() 함수에 설정된 모든 공간 필터를 서버로 포워딩할 것입니다. OGC API - 피처 코어에서는 서버가 허용하는 속성 부분 집합만 잠재적인 AND 논리 연산자와 함께 쿼리할 수 있습니다. 더 복잡한 요청은 부분적으로 또는 완전히 클라이언트 쪽에서 평가될 것입니다.

직사각형 공간 필터도 서버로 포워딩합니다.

열기 옵션

다음과 같은 열기 옵션들을 사용할 수 있습니다:

  • URL=url: OGC API - 피처 서버 랜딩 페이지 또는 지정한 집합을 가리키는 URL입니다. “OAPIF:” 문자열을 연결 문자열로 사용하는 경우 필수입니다.

  • PAGE_SIZE=integer: 요청 당 가져올 객체의 개수입니다. 기본값은 10입니다. 최소 1개에서 최대 10,000개까지 지정할 수 있습니다.

  • USERPWD: 원격 서버에 사용자 ID와 비밀번호를 전송하기 위해 userid:password 를 지정할 수도 있습니다.

  • IGNORE_SCHEMA=YES/NO: (GDAL 3.1 이상 버전) 서버가 제공할 수도 있는 XML 스키마 또는 JSon 스키마를 무시하려면 YES로 설정하십시오.

예시

  • OGC API - 피처 서버의 유형들을 목록화하기:

    $ ogrinfo OAPIF:https://www.ldproxy.nrw.de/rest/services/kataster
    
    INFO: Open of `OAPIF:https://www.ldproxy.nrw.de/rest/services/kataster'
          using driver `OAPIF' successful.
    1: flurstueck (Multi Polygon)
    2: gebaeudebauwerk (Multi Polygon)
    3: verwaltungseinheit (Multi Polygon)
    
  • OGC API - 피처 레이어의 요약 정보를 목록화하기:

    $ ogrinfo -al -so OAPIF:https://www.ldproxy.nrw.de/rest/services/kataster flurstueck
    
    Layer name: flurstueck
    Metadata:
      TITLE=Flurstück
    Geometry: Multi Polygon
    Feature Count: 9308456
    Extent: (5.612726, 50.237351) - (9.589634, 52.528630)
    Layer SRS WKT:
    GEOGCS["WGS 84",
        DATUM["WGS_1984",
            SPHEROID["WGS 84",6378137,298.257223563,
                AUTHORITY["EPSG","7030"]],
            AUTHORITY["EPSG","6326"]],
        PRIMEM["Greenwich",0,
            AUTHORITY["EPSG","8901"]],
        UNIT["degree",0.0174532925199433,
            AUTHORITY["EPSG","9122"]],
        AUTHORITY["EPSG","4326"]]
    id: String (0.0)
    aktualit: Date (0.0)
    flaeche: Real (0.0)
    flstkennz: String (0.0)
    land: String (0.0)
    gemarkung: String (0.0)
    flur: String (0.0)
    flurstnr: String (0.0)
    gmdschl: String (0.0)
    regbezirk: String (0.0)
    kreis: String (0.0)
    gemeinde: String (0.0)
    lagebeztxt: String (0.0)
    tntxt: String (0.0)
    
  • 속성에 대해 필터링하기(서버가 필터링 기능을 지원하느냐에 따라 달라질 수 있습니다. 필터는 부분적으로 또는 완전히 클라이언트 쪽에서 평가될 것입니다.):

    $ ogrinfo OAPIF:https://www.ldproxy.nrw.de/rest/services/kataster flurstueck -al -q -where "flur = '028'"
    Layer name: flurstueck
    Metadata:
      TITLE=Flurstück
    OGRFeature(flurstueck):1
      id (String) = DENW19AL0000geMFFL
      aktualit (Date) = 2017/04/26
      flaeche (Real) = 1739
      flstkennz (String) = 05297001600193______
      land (String) = Nordrhein-Westfalen
      gemarkung (String) = Wünnenberg
      flur (String) = 016
      flurstnr (String) = 193
      gmdschl (String) = 05774040
      regbezirk (String) = Detmold
      kreis (String) = Paderborn
      gemeinde (String) = Bad Wünnenberg
      lagebeztxt (String) = Bleiwäscher Straße
      tntxt (String) = Platz / Parkplatz;1739
      MULTIPOLYGON (((8.71191 51.491084,8.7123 51.491067,8.712385 51.491645,8.712014 51.491666,8.711993 51.491603,8.71196 51.491396,8.711953 51.491352,8.71191 51.491084)))
    
    [...]
    
  • 공간에 대해 필터링하기

    $ ogrinfo OAPIF:https://www.ldproxy.nrw.de/rest/services/kataster flurstueck -al -q -spat 8.7 51.4 8.8 51.5
    
    Layer name: flurstueck
    Metadata:
      TITLE=Flurstück
    OGRFeature(flurstueck):1
      id (String) = DENW19AL0000ht7LFL
      aktualit (Date) = 2013/02/19
      flaeche (Real) = 18
      flstkennz (String) = 05292602900206______
      land (String) = Nordrhein-Westfalen
      gemarkung (String) = Fürstenberg
      flur (String) = 029
      flurstnr (String) = 206
      gmdschl (String) = 05774040
      regbezirk (String) = Detmold
      kreis (String) = Paderborn
      gemeinde (String) = Bad Wünnenberg
      lagebeztxt (String) = Karpke
      tntxt (String) = Fließgewässer / Bach;18
      MULTIPOLYGON (((8.768521 51.494915,8.768535 51.494882,8.768569 51.494908,8.768563 51.494925,8.768521 51.494915)))
    [...]
    

참고