NextGIS Web

NextGIS Web - is a server GIS, which allows to store and edit geodata and to display maps in web browser. Also NextGIS Web can share geodata with other NextGIS software.

NextGIS Web has the following features:

NextGIS Web - is an open source software (license GPL v2+, see GNU General Public License, version 2).

Driver

The driver is available since GDAL/OGR >= 2.4. This driver can connect to the services implementing the NextGIS Web API. GDAL/OGR must be built with Curl support in order for the NGW driver to be compiled. The driver supports read and write operations.

Dataset name syntax

The minimal syntax to open a NGW datasource is: NGW:[NextGIS Web URL][/resource/][resource identifier] If identifier is resource group, all vector layers, PostGIS, raster layers, styles will listed as child resources. In other case this will be a separate layer.

Configuration options

The following configuration options are available:

Authentication

Any operations (read, write, get metadata, change properties, etc.) may require an authenticated access. Authenticated access is obtained by specifying user name and password in open, create or configuration options.

Feature

If the NATIVE_DATA open option is set to YES, the extensions json object will be stored as a serialized json object in the NativeData property of the OGRFeature object (and "application/json" in the NativeMediaType property). On write, if a OGRFeature to be written has its NativeMediaType property set to "application/json" and its NativeData property set to a string that is a serialized json object, then members of this object will be set to extensions json object of feature.

Extensions json object structure see in NextGIS Web API documentation

Geometry

NextGIS Web supports only one geometry column. Default spatial reference is Web Mercator (EPSG:3857). The following geometry types are available:

Field data types

NextWeb supports only following field types:

Paging

Features can retrieved from NextGIS Web by chunks if supported by server (available since NextGIS Web 3.1). This chunk size can be altered with the NGW_PAGE_SIZE configuration option or PAGE_SIZE open option.

Write support

Datasource and layers creation and deletion is possible. Write support is only enabled when the datasource is opened in update mode and user has permissions. Vector and PostGIS layers insert and update operations may be cached if BATCH_SIZE is greater 0. Delete operation executes immediately.

Open options

The following open options are available:

Dataset creation options

The following dataset/datasource creation options are available:

Layer creation options

The following layer creation options are available:

Metadata

NextGIS Web metadata are supported in datasource, vector, PostGIS, raster layers and styles. Metadata are stored at specific domain "NGW". NextGIS Web supported metadata are strings and numbers. Metadata keys with decimal numbers will have suffix .d and for real numbers - .f. To create new metadata item, add new key=value pair in NGW domain use the SetMetadataItem function and appropriate suffix. During transferring to NextGIS Web, suffix will be omitted. You must ensure that numbers correctly transform from string to number.

Resource description and key map to appropriate description and keyname metadata items in default domain. Changing those metadata items will cause an update of resource properties.

Resource creation date, type and parent identifier map to appropriate read-only metadata items creation_date, resource_type and parent_id in default domain.

Vector layer field properties (alias, identifier, label field, grid visibility) map to layer metadata the following way:

Filters

Vector and PostGIS layers support SetIgnoredFields method. Any cached features will be freed then this method executed.

Vector and PostGIS layers support SetAttributeFilter and SetSpatialFilter methods. The SetAttributeFilter method accepts only field equal value condition and AND operator without brackets. For example,

FIELD_1 = 'Value 1'
FIELD_1 = 'Value 1' AND FIELD_2 = 'Value 2'
In other cases attribute filter will be evaluated on client side.

You can set attribute filter using NextGIS Web native format. For example,

NGW:fld_FIELD_1=Value 1&fld_FIELD_2=Value 2
Don't forget to add 'NGW:' perefix to where clause and 'fld_' prefix to field name.

Dataset supports ExecuteSQL method. Only the following queries are supported:

In SELECT statement field list or asterisk can be provided. The WHERE clause has same limitations as SetAttributeFilter method input.

Examples

Read datasource contensts (1730 is resource group identifier):
    ogrinfo -ro NGW:https://demo.nextgis.com/resource/1730

Read layer details (1730 is resource group identifier):

    ogrinfo -ro -so NGW:https://demo.nextgis.com/resource/1730 Parks

Creating and populating a vector layer from a shapefile (1730 is resource group identifier):

    ogr2ogr -f NGW "NGW:https://demo.nextgis.com/resource/1730" myshapefile.shp

See also: