13.1.10. Miscellaneous

13.1.10.1. Get resource data

Geodatata can be fetched for vector and raster layers. For vector layers (PostGIS and Vector) geodata returns in GeoJSON or CSV formats. For raster layers (Raster, WMS) - tiles (TMS) or image. For QGIS styles - qml file.

13.1.10.1.1. Export vector layer as file

The following request returns GPKG, GeoJSON or CSV file from vector layer:

GET /api/resource/(int: id)/export?format=GPKG&srs=4326&zipped=True&fid=ngw_id&encoding=UTF-8

Example request: https://sandbox.nextgis.com/api/resource/4308/export?format=GPKG&srs=4326&zipped=False&fid=ngw_id&encoding=UTF-8

Format string is case-sensitive. For formats and options list see https://docs.nextgis.ru/docs_ngcom/source/data_export.html

13.1.10.1.2. GeoJSON

The following request returns GeoJSON file from vector layer:

New in version 3.0.

GET /api/resource/(int: id)/geojson

GeoJSON file request

Request Headers
Parameters
  • id – resource identifier

Status Codes

Example request:

GET /api/resource/55/geojson HTTP/1.1
Host: ngw_url
Accept: */*

13.1.10.1.3. CSV

The following request returns CSV file from vector layer:

New in version 3.0.

GET /api/resource/(int: id)/csv

CSV file request

Request Headers
Parameters
  • id – resource identifier

Status Codes

Example request:

GET /api/resource/55/csv HTTP/1.1
Host: ngw_url
Accept: */*

13.1.10.1.4. Render

The following request returns TMS from raster layer:

New in version 3.0.

GET /api/component/render/tile?z=(int: z)&x=(int: x)&y=(int: y)&resource=(int: id1),(int: id2)...

Tile request

Request Headers
Query Parameters
  • id2 (id1,) – style resources id’s

  • z – zoom level

  • x – tile number on x axis (horizontal)

  • y – tile number on y axis (vertical)

  • cache – optional parameter (defaults true). If value set false tile will render from scratch

  • nd – Return code if tile not present. Available values are: 204, 404, 200. Defaults to 200.

Status Codes

The following request returns image from raster layer:

New in version 3.0.

GET /api/component/render/image?extent=(float: minx),(float: miny),(float: maxx),(float: maxy)&size=(int: width),(int: height)&resource=(int: id1),(int: id2)...

Image request

Request Headers
Query Parameters
  • id2 (id1,) – style resources id’s

  • maxy (minx, miny, maxx,) – image spatial extent

  • height (width,) – output image size

  • cache – optional parameter (defaults true). If value set false tile will render from scratch

Status Codes

Note

Styles order should be from lower to upper.

Example request:

GET /api/component/render/tile?z=7&x=84&y=42&resource=234 HTTP/1.1
Host: ngw_url
Accept: */*

13.1.10.1.5. QML Style (QGIS Layer style)

The following request returns QML from QGIS style:

New in version 3.0.1.

GET /api/resource/(int: id)/qml

QML file request

Request Headers
Parameters
  • id – resource identifier

Status Codes

Example request:

GET /api/resource/56/qml HTTP/1.1
Host: ngw_url
Accept: */*

13.1.10.1.6. MVT (vector tiles)

MVT data can be fetched only for NextGIS Web vector layer.

The following request returns MVT data:

New in version 3.0.4.

GET /api/component/feature_layer/mvt?x=(int: x)&y=(int: y)&z=(int: z)&resource=(int: id1),(int: id2)...&simplification=(int: s)

Vector tile request

Request Headers
Query Parameters
  • id2 (id1,) – Vector or PostGIS layers identifies

  • z – zoom level

  • x – tile number on x axis (horizontal)

  • y – tile number on y axis (vertical)

  • s – simplification level (0 - no simplification, 8 - default value)

Status Codes

Note

Vector or PostGIS layers identifies order should be from lower to upper.

Layers names in MVT will be ngw:(int:id), where id is vector or PostGIS layer identifier.

Example request:

GET /api/component/feature_layer/mvt?resource=56&z=11&x=1234&y=543 HTTP/1.1
Host: ngw_url
Accept: */*

Deprecated since version 3.0.4.

GET /api/resource/(int: id)/(int: z)/(int: x)/(int: y).mvt

MVT request

Deprecated

Request Headers
Parameters
  • id – resource identifier

  • z – zoom level

  • x – x tile column

  • y – y tile row

Status Codes

Example request:

GET /api/resource/56/11/1234/543.mvt HTTP/1.1
Host: ngw_url
Accept: */*

13.1.10.2. Identify by polygon

To get features intersected by a polygon execute following request.

PUT /feature_layer/identify

Identification request

Request Headers
Request JSON Object
  • srs (int) – Spatial reference identifier

  • geom (string) – Polygon in WKT format

Request JSON Array of Objects
  • layers (int) – layers id array

Status Codes

Example request:

POST /feature_layer/identify HTTP/1.1
Host: ngw_url
Accept: */*

{
    "srs":3857,
    "geom":"POLYGON((4188625.8318882 7511123.3382522,4188683.1596594 7511123.
                     3382522,4188683.1596594 7511180.6660234,4188625.8318882
                     7511180.6660234,4188625.8318882 7511123.3382522))",
    "layers":[2,5]
}

Example response:

{
  "2": {
    "featureCount": 1,
    "features": [
      {
        "fields": {
          "Id": 25,
          "name": "Church 1514-1925"
        },
        "id": 3,
        "label": "#3",
        "layerId": 2
      }
    ]
  },
  "5": {
    "featureCount": 0,
    "features": []
  },
  "featureCount": 1
}