WFS输出格式¶
WFS以多种格式返回特性和特性信息。指定输出格式的语法为:
outputFormat=<format>
在哪里? <format>
是以下选项之一:
格式 |
句法 |
笔记 |
---|---|---|
GML2级 |
|
WFS 1.0.0的默认选项 |
GML3型 |
|
WFS 1.1.0和2.0.0的默认选项 |
Shapefile |
|
将生成包含形状文件的zip存档(请参见 形状文件输出 下面)。 |
JSON |
|
返回geojson或json输出。注意 |
JSONP |
|
返回A JSONP 形式: |
CSV |
|
返回csv(逗号分隔值)文件 |
备注
一些额外的输出格式(例如 Excel )可以使用扩展名。通过执行WFS可以找到特定地理服务器实例支持的完整输出格式列表。 GetCapabilities 请求。
geoserver提供 format_options
供应商特定参数,用于指定特定于每个格式的参数。语法是:
format_options=param1:value1;param2:value2;...
形状文件输出¶
shapefile格式有许多限制,这些限制会阻止将数据源转换为等效的shapefile。为了遵守这些限制,shape-zip输出格式将自动对源数据应用一些转换,并最终将单个集合拆分为多个shapefile。特别是,shape zip格式将:
将属性名减少到DBF接受的长度,确保没有冲突(在属性名末尾添加计数器以处理此问题)。
将多个几何图形类型扇出到以原始特征类型命名的平行形状文件中,再加上几何图形类型作为后缀。
扇出多个形状文件以防达到最大大小
.shp和.dbf文件的默认最大大小都是2gb,可以通过将GS-SHP-Max-U大小和GS-DBF-Max-U大小系统变量设置为不同的值(作为字节计数,默认值为2147483647)来修改这些限制。
形状文件输出 format_options
:
format_option=filename:<zipfile>
:如果提供了文件名,则该名称将用作输出文件名。例如,format_options=filename:roads.zip
.
形状文件名自定义¶
如果未指定文件名,则从请求的功能类型名称推断输出文件名。可以通过准备 Freemarker template 它将配置归档文件(zip文件)的文件名及其包含的文件。默认模板为:
zip=${typename}
shp=${typename}${geometryName}${geometryType}
txt=wfsrequest
这个 zip
属性是存档的名称, shp
属性是给定功能类型的形状文件的名称,以及 txt
是实际WFS请求的转储。
模板中可用的属性包括:
typename
-功能类型名称(用于zip
属性如果请求包含多个功能类型,则这将是第一个功能类型)
geometryName
-几何属性的名称。仅当原始要素类型具有多个几何图形属性时使用。
geometryType
-形状文件中包含的几何图形类型。仅当输出几何图形类型是通用的,并且各种几何图形存储在每个类型的一个shapefile中时才使用此选项。
workspace
-功能类型的工作区
timestamp
-带有请求时间戳的日期对象
iso_timestamp
-中的字符串(请求的ISO时间戳)yyyyMMdd_HHmmss
格式
JSON和JSONP输出¶
json输出格式(和jsonp,如果启用)将功能内容作为 GeoJSON 文件。下面是一个简单的geojson文件的例子;
{ "type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [125.6, 10.1]
},
"properties": {
"name": "Dinagat Islands"
}
}
输出属性可以包括使用列表和映射:
{
"type": "Feature",
"id": "example.3",
"geometry": {
"type": "POINT",
"coordinates": [ -75.70742, 38.557476 ],
},
"geometry_name": "geom",
"properties": {
"CONDITION": "Orange",
"RANGE": {"min":"37","max":"93"}
}
}
JSON输出 format_options
:
format_options=id_policy:<attribute name>=<attribute|true|false>
用于确定ID值是否包含在输出中。使用
format_options=id_policy:reference_no
用于使用引用无属性生成功能ID,或format_options=id_policy:reference_no=true
用于生成默认功能ID,或format_options=id_policy:reference_no=false
抑制特征ID输出。如果未指定id_策略,则使用geotools默认功能id生成。
format_options=callback:<parseResponse>
仅适用于JSONP输出格式。参见 WMS供应商参数 更改回调名称。请注意,此格式在默认情况下是禁用的(请参见 影响WMS的全局变量 )format_option=filename:<file>
: if a file name is provided, the name is used as the output file name. The extensionjson
is optional, for exampleformat_options=filename:export
orformat_options=features.json
JSON输出 system properties
:
json.maxDepth=<max_value>
用于确定编码阶段允许的JSON嵌套对象的最大数量。默认情况下,该值为100。
CSV输出¶
默认CSV文件使用逗号分隔值。文件的每一行都是一条数据记录。每条记录由一个或多个用逗号分隔的字段组成。可以使用FORMAT_OPTIONS更改分隔符,如下所示。
CSV文件输出 format_options
:
format_option=filename:<file>
:如果提供了文件名,则该名称将用作输出文件名。例如,format_options=filename:roads.csv
。format_option=csvseparator:<csvseparator>
(默认为`,
):如果提供分隔符,则用于分隔输出CSV文件中的值。例如, ``format_options=csvseparator:-` 用于获取短划线分隔的文件。
某些特殊字符需要使用关键字处理,如下所示:
空格分隔:
format_options=csvseparator:space
制表符分隔:
format_options=csvseparator:tab
分号分隔:
format_options=csvseparator:semicolon