Publishing vector data to OGC API - Features

OGC API - Features provides geospatial data access functionality to vector data.

To add vector data to pygeoapi, you can use the dataset example in Configuration as a baseline and modify accordingly.

Providers

The following feature providers are supported:

  • CSV

  • GeoJSON

  • Elasticsearch

  • OGR

  • MongoDB

  • PostgreSQL

  • SQLiteGPKG

Below are specific connection examples based on supported providers.

Connection examples

CSV

To publish a CSV file, the file must have columns for x and y geometry which need to be specified in geometry section of the provider definition.

provider:
    name: CSV
    data: tests/data/obs.csv
    id_field: id
    geometry:
        x_field: long
        y_field: lat

GeoJSON

To publish a GeoJSON file, the file must be a valid GeoJSON FeatureCollection.

provider:
    name: GeoJSON
    data: tests/data/file.json
    id_field: id

Elasticsearch

Note

Elasticsearch 7 or greater is supported.

To publish an Elasticsearch index, the following are required in your index:

  • indexes must be documents of valid GeoJSON Features

  • index mappings must define the GeoJSON geometry as a geo_shape

provider:
    name: Elasticsearch
    data: http://localhost:9200/ne_110m_populated_places_simple
    id_field: geonameid
    time_field: datetimefield

OGR

Todo

add overview and requirements

MongoDB

Todo

add overview and requirements

provider:
    name: MongoDB
    data: mongodb://localhost:27017/testdb
    collection: testplaces

PostgreSQL

Todo

add overview and requirements

provider:
    name: PostgreSQL
    data:
        host: 127.0.0.1
        dbname: test
        user: postgres
        password: postgres
        search_path: [osm, public]
    id_field: osm_id
    table: hotosm_bdi_waterways
    geom_field: foo_geom

SQLiteGPKG

Todo

add overview and requirements

SQLite file:

provider:
    name: SQLiteGPKG
    data: ./tests/data/ne_110m_admin_0_countries.sqlite
    id_field: ogc_fid
    table: ne_110m_admin_0_countries

GeoPackage file:

provider:
    name: SQLiteGPKG
    data: ./tests/data/poi_portugal.gpkg
    id_field: osm_id
    table: poi_portugal