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_date , resource_type 和 parent_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