koop-provider-pg

    1.0.6 • Public • Published

    Koop PostGIS provider

    npm version Build Status

    Koop provider to query PostGIS spatial data, convert it to GeoJSON as input into Koop and convert into the GeoServices specification supported by ArcGIS products.

    Database configuration

    Database connection parameters can be configured to any connection using the following environment variables:

    # All values should be in "" except PG_PORT
    PG_HOST=<host>
    PG_PORT=<port>
    PG_DATABASE=<database>
    PG_USER=<user>
    PG_PASSWORD=<password>

    If database connection environment variables are not set the provider will use the default configuration.

    • Open config/default.json and set your database connection parameters, an example is provided in config/example.json.
    {
      "db": {
        "host": "host",
        "port": 5432,
        "database": "dbname",
        "user": "user",
        "password": "password"
      }
    }

    Custom idField

    The provider use gid as the OBJECTID unique identifier. Optionally, if you prefer to use another column from you database table, you can add/set the following environment variable for your data's custom feature unique identifier.

    # value should be in "", eg. "id"
    export PG_OBJECTID=<idField>

    Install

    Koop providers require you to first install Koop. You can add koop-provider-pg to your Koop server dependencies by installing it with npm:

    # install koop cli using npm
    $ npm install -g @koopjs/cli
    
    # create a new koop app
    $ koop new app pg-koop
    
    # cd into the pg-koop app
    $ cd pg-koop
    
    # install provider
    $ koop add provider koop-provider-pg
    
    # start koop server
    $ koop serve

    Example API Query:

    Replace ${schema}.${table} with schema.table from your PostGIS db to translate.

    curl localhost:8080/pg/${schema}.${table}/FeatureServer/0/query

    Add as Feature Layer

    • Esri Leaflet
    // esri leaflet feature layer
    L.esri.featureLayer({
        url: 'http://localhost:8080/pg/${schema}.${table}/FeatureServer/layers'
      }).addTo(map);

    feature-service

    • ArcGIS Online WebMap
    https://www.arcgis.com/home/webmap/viewer.html?url=http://localhost:8080/pg/${schema}.${table}/FeatureServer/

    agol feature-service

    Test it out

    Run server:

    • npm install
    • npm start

    Dependencies

    Contributors

    Licensing

    A copy of the license is available in the repository's LICENSE file.

    Install

    npm i koop-provider-pg

    DownloadsWeekly Downloads

    2

    Version

    1.0.6

    License

    Apache-2.0

    Unpacked Size

    644 kB

    Total Files

    22

    Last publish

    Collaborators

    • jdoneill-dev