NGW -- NextGIS Web

2.4 新版功能.

司机简称

NGW

生成依赖项

利勃曲尔

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

下一代网站具有以下功能:

  • 在web浏览器中显示地图(具有不同图层和样式的不同地图)

  • 灵活的权限管理

  • 从PostGIS加载geodata或从GIS格式(ESRI Shape、GeoJSON或GeoTIFF)导入geodata

  • 以以下格式加载矢量geodata:GeoJSON、CSV、ESRI Shape、Mapinfo tab

  • 从QGIS项目导入或手动设置地图样式

  • 充当TMS、WMS、MVT、WFS的服务器

  • 作为WMS的客户

  • 用户可以通过web界面或WFS-T协议向记录添加照片、更改记录属性

NextGIS Web-是一个开源软件(许可证GPL v2+,请参阅 GNU General Public License, version 2

驱动程序功能

Supports Georeferencing

This driver supports georeferencing

驱动程序

驱动程序可以连接到实现NextGIS Web REST API的服务。NGW驱动程序需要GDAL中的cURL支持。驱动程序支持读写操作。

数据集名称语法

打开NGW数据源的最小语法是:NGW: [下一个网站URL] [/resource/] [资源标识符]

  • 下一个网站URL 可以是指向nextgis.com云服务的URL(例如,https://demo.nextgis.com),也可以是其他一些URL,包括端口和附加路径(例如,http://192.168.1.1:8000/test)。

  • 资源 是将资源标识符与URL的其余部分分隔开的必需关键字。

  • 资源标识符 这是0及以上的正数。这可以是资源组、矢量、PostGIS或栅格图层、样式。

如果标识符是资源组,则所有矢量图层、PostGIS、栅格图层、样式都将作为子资源列出。在其他情况下,这将是一个单独的层。

配置选项

The following configuration options are available:

  • NGW_USERPWD: User name and password separated with colon. Optional and can be set using open options.

  • NGW_BATCH_SIZE: Size of feature insert and update operations cache before send to server. If batch size is -1 batch mode is disabled. Delete operation will execute immediately.

  • NGW_PAGE_SIZE: If supported by server, fetch features from remote server will use paging. The -1 value disables paging even it supported by server.

  • NGW_NATIVE_DATA: Whether to store the json extensions key in feature native data.

  • NGW_JSON_DEPTH: The depth of json response that can be parsed. If depth is greater than this value, parse error occurs.

  • NGW_EXTENSIONS: Comma separated extensions list. Available values are description and attachment. This needed to fill native data.

认证

任何操作(读、写、获取元数据、更改属性等)都可能需要经过身份验证的访问。通过在“打开”、“创建”或“配置”选项中指定用户名和密码,可以获得经过身份验证的访问。

特征

如果NATIVE_DATA open选项设置为YES,则 扩展 json对象将作为序列化的json对象存储在OGRFeature对象的NativeData属性中(以及NativeMediaType属性中的“application/json”)。如果编写OGRFeature的NativeMediaType属性设置为“application/json”,而NativeData属性设置为序列化的json对象,则新的NGW特性 扩展 json对象将从此json对象填充。

扩展json对象结构参见 NextGIS Web API documentation

几何图形

NextGIS Web只支持一个几何列。默认的空间参考是WebMercator(EPSG:3857)。以下几何图形类型可用:

  • POINT

  • LINESTRING

  • POLYGON

  • MULTIPOINT

  • MULTILINESTRING

  • MULTIPOLYGON

还支持Z值的几何图形。

字段数据类型

NextWeb只支持以下字段类型:

  • OFTInteger

  • 整数64

  • OFTReal

  • OFTString

  • OFTDate

  • OFTTime

  • OFTDateTime

分页

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

写入支持

可以创建和删除数据源和层。只有在数据源以更新模式打开且用户具有适当权限时,才启用写支持。如果批处理大小大于0,则会缓存矢量和PostGIS图层的插入和更新操作。删除操作立即执行。

打开选项

以下打开选项可用:

  • USERPWD-用户名和密码,用冒号分隔。

  • 页面大小=-1-从服务器提取时限制功能计数。默认值为-1-无限制。

  • 批处理大小=-1-发送到服务器之前功能插入和更新操作缓存的大小。如果批大小为-1,则禁用批处理模式。默认值为-1。

  • NATIVE_DATA=NO-是否存储json 扩展 输入功能本机数据。默认值为否。

  • JSON_DEPTH=32—可以解析的JSON响应的深度。如果深度大于此值,则发生分析错误。

  • EXTENSIONS - Comma separated extensions list. Available values are description and attachment. This needed to fill native data.

数据集创建选项

以下数据集/数据源创建选项可用:

  • 密钥-密钥值。在整个下一个Web实例中必须是唯一的。可选。

  • 说明-资源说明。可选。

  • USERPWD-用户名和密码,用冒号分隔。

  • 页面大小=-1-从服务器提取时限制功能计数。默认值为-1-无限制。

  • 批处理大小=-1-发送到服务器之前功能插入和更新操作缓存的大小。如果批大小为-1,则禁用批处理模式。默认值为-1。

  • NATIVE_DATA=NO-是否存储json 扩展 输入功能本机数据。默认值为否。

  • JSON_DEPTH=32—可以解析的JSON响应的深度。如果深度大于此值,则发生分析错误。

  • EXTENSIONS - Comma separated extensions list. Available values are description and attachment. This needed to fill native data.

图层创建选项

以下图层创建选项可用:

  • 覆盖-是否用要创建的图层名覆盖现有表。资源将被删除并创建新资源。这将导致资源标识符发生更改。默认为“否”。可选。

  • 密钥-密钥值。在整个下一个Web实例中必须是唯一的。可选。

  • 说明-资源说明。可选。

元数据

在数据源、矢量、PostGIS、栅格图层和样式中支持NextGIS Web元数据。元数据存储在特定的域“NGW”中。下一个Web支持的元数据是字符串和数字。带有十进制数字的元数据键将具有后缀 .d 对于实数- .f . 要创建新的元数据项,请使用 SetMetadataItem 函数和适当的后缀。在传输到下一个站点时,后缀将被忽略。必须确保数字从字符串正确转换为数字。

资源描述和密钥映射到适当的 描述关键字表 默认域中的元数据项。更改这些元数据项将导致资源属性的更新。

资源创建日期、类型和父标识符映射到适当的只读元数据项 creation_dateresource_typeparent_id 在默认域中。

矢量图层字段属性(别名、标识符、标签字段、网格可见性)按以下方式映射到图层元数据:

  • 字段别名->字段{字段号}别名(例如字段别名)

  • 标识符->字段{字段号}u ID(例如字段0 ID)

  • 标签字段->字段{字段编号}标签字段(例如字段0标签字段)

  • 网格可见性->字段{字段号}网格可见性(例如字段0网格可见性)

Starting from GDAL 3.3 field alias can be set/get via SetAlternativeName and GetAlternativeNameRef.

过滤器

矢量和PostGIS图层支持SetIgnoredFields方法。当此方法执行时,将释放任何缓存的功能。

矢量和PostGIS图层支持SetAttributeFilter和SetSpatialFilter方法。如果条件是以下比较运算符之一,则属性筛选器将在服务器端求值:

  • 更大(>)

  • 下(<)

  • 大于或等于(>=)

  • 低于或等于(<=)

  • 相等(=)

  • 不相等(!=)

  • LIKE SQL语句(用于字符串比较)

  • ILIKE SQL语句(用于字符串比较)

也只有和运算符之间不支持括号的比较。例如,

FIELD_1 = 'Value 1'
FIELD_1 = 'Value 1' AND FIELD_2 > Value 2

在其他情况下,属性过滤器将在客户端计算。

可以使用NextGIS Web本机格式设置属性筛选器。例如,

NGW:fld_FIELD_1=Value 1&fld_FIELD_2__gt=Value 2

别忘了在where子句中添加“NGW:”perefix,在字段名中添加“fld”前缀。

数据集支持ExecuteSQL方法。仅支持以下查询:

  • DELLAYER:layer_name;-删除具有layer_name的层。

  • 从图层名中删除;-从图层名为的图层中删除任何要素。

  • DROP TABLE layer_name;-删除具有layer_name的层。

  • 将TABLE src_layer RENAME改为dst_layer;-RENAME layer。

  • 从src_layer中选择field_1,field_2,field_1=值1,field_2=值2;

在SELECT语句中,可以提供字段列表或星号。WHERE子句具有与SetAttributeFilter方法输入相同的限制。

实例

读取数据源内容(1730是资源组标识符):

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

读取层详细信息 (1730 是资源组标识符, Parks 是vecror层名称):

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

使用标识符1730从现有资源组中的shapefile创建和填充向量层。新的矢量层名称将是“一些新名称”:

ogr2ogr -f NGW -nln "some new name" -update -doo "BATCH_SIZE=100" -t_srs EPSG:3857 "NGW:https://demo.nextgis.com/resource/1730" myshapefile.shp

警告

这个 -update 键是必需的,否则目标数据源将自动删除。这个 -t_srs EPSG:3857 键是必需的,因为NextGIS Web中的矢量层空间引用只能在EPSG:3857中。

备注

这个 -doo "BATCH_SIZE=100" 建议使用键来加速特征传输。

从名为“new group”且父标识符为1730的新资源组中的shapefile创建并填充向量层。新的矢量层名称将是“一些新名称”:

ogr2ogr -f NGW -nln "Название на русском языке" -dsco "BATCH_SIZE=100" -t_srs EPSG:3857 "NGW:https://demo.nextgis.com/resource/1730/new group" myshapefile.shp

也见