重新认识GeoServer中的WFS
WFS(Web Feature Service)是Geoserver提供的一个重要服务,与WMS(Web Map Service)相比,WFS提供了更透明和更开放的地理数据的获取方式。Geoserver提供了较为丰富的WFS服务,过去一直忽视了WFS的研究。
WFS的GetCapability请求详细列出了当前Geoserver所提供的WFS的所有功能和数据的列表:
1- ServiceIdentification
提供对WFS的身份确认,包括Title(标题),Abstract(摘要),Keyword(关键字),ServiceType(服务类型),ServiceTypeversion(服务类型版本),Fee(费用),AcceessContraints(访问限制)等
2- ServiceProvider
关于服务提供者的信息,包括ProviderName(名称),ServiceContact(联系人),ContactInfo(联系方式)等
3- OperationsMetadata
关于WFS操作的元数据,即可进行哪些操作,包括
a) GetCapabilities(获取能力),
参数包括
i. DCP
1. Http
a) Get
b) Post
ii. AcceptVersion(可接受的版本)
1. 1.0.0
2. 1.1.0
iii. AcceptFormats(可接受的格式)
1. Text/xml
b) DescribeFeatureType(描述Feature类型)
参数包括
i. DCP
ii. OutputFormat(输出格式)
1. Text/xml,子类型是gml/3.1.1
c) GetFeature (获取Feature)
参数包括
i. DCP
ii. ResultType(包括results(返回查询结果,缺省值)和hits(返回符合查询条件的feature的数量))
iii. outputFormat,包括
1. text/xml;subtype=gml/3.1.1
2. GML2
3. GML-GZIP GML的压缩格式,我没测试过,报错
4. csv excell也逗号为分割符的文件格式
5. gml3
6. json (JavaScript object notation)一种轻量级的数据交换格式,易于阅读 编写,也易于机器解析和生成
7. text/xml;subtype=gml/3.1.1
限制性条件:LocalTraverseXLinkScope,本地可穿越的链接数,默认为2
d) GetGmlObject
e) LockFeature 必须和spatial filter结合起来使用
f) GetFeatureWithLock 必须和spatial filter 结合起来使用,参数同getFeature
g) Transaction
i. DCP
ii. InputFormat
iii. Idgen (产生ID的方式)
1. GenerateNew
2. UseExisting
3. ReplaceDuplicate
iv. releaseAction (释放)
1. ALL
2. SOME
4- FeatureTypeList
列举了所有可以访问的数据,
首先是Operations,包括Query,Insert,Update,Delete,Lock等;
每个数据集包括Name,Title,Abstract,Keywords,DefaultSRS(缺省的空间参考),WGS84BoundingBox(WGS84坐标系统的外围边界)
5- Filter_Capabilities
a) Spatial_Capabilities
i. GeometryOperand
1. Gml:Envelop
2. Gml:Point
3. Gml:LineString
4. Gml:Polygon
ii. SpatialOperators
1. Disjoint
2. Equals
3. DWithin 使用距离buffer
4. Beyond
5. Intersects
6. Touches
7. Crosses
8. Contains
9. Overlaps
10. BBOX
b) Scalar_Capabilities
i. LogicalOperators
ii. ComparisonOperator
1. LessThan
2. GreaterThan
3. LessThanEqualTo
4. GreaterThanEqualTo
5. EqualTo
6. NotEqualTo
7. Like
8. Between
9. NullCheck
iii. ArithmeticOperators
1. SimpleArithmetic
2. Functions
a) Abs
b) Abs_2
c) Abs_3
d) Abs_4
e) Acos
f) Area
g) Asin
h) Atan
i) Atn2
j) Between
k) Boundary
l) boundaryDimension
m) buffer
n) ceil
o) centroid
p) classify
q) Collection_Average
r) Collection_Bounds
s) Collection_Count
t) Collection_Max
u) Collection_Median
v) Collection_Min
w) Collection_Sum
x) Collection_Unique
y) ……
c) Id_Capabilities