7

假设我有一个运行有两个由 WFS 公开的层的 Geoserver(带有属性):

StreetLayer (geom, StreetName, Lanes, Length)
HouseLayer (geom, Address)

现在,如果我想查询 StreetLayer 的所有街道但只获取 StreetName 和 Lanes 属性,我会向此发送 GET 请求:

http://geoserver/wfs?REQUEST=GetFeature&VERSION=1.1.0&typename=StreetLayer&propertyname=StreetName,Lanes

但是如果我现在想同时查询 HouseLayer 和 StreetLayer 怎么办?这不起作用:

http://geoserver/wfs?REQUEST=GetFeature&VERSION=1.1.0&typename=StreetLayer,HouseLayer&propertyname=StreetName,Lanes,Address

我得到一个例外,说 StreetName 和 Lanes 不在 HouseLayer 中,反之亦然。我需要提出多个请求吗?

编辑:

所以我想做的是这样的:

http://geoserver/wfs?REQUEST=GetFeature&VERSION=1.1.0&typename=StreetLayer,HouseLayer&propertyname=(StreetName,Lanes),(Address)
4

1 回答 1

11

几乎在那里,您只是在 propertyName 中多了一个逗号。这个适用于 vanilla GeoServer 安装:

http://localhost:8087/gswps/topp/ows?service=WFS&version=1.0.0&request=GetFeature&typeName=topp:tasmania_cities,topp:tasmania_roads&propertyName=(ADMIN_NAME,CITY_NAME)(TYPE)

区别: ) 和 ( 之间没有逗号

于 2012-06-08T20:11:07.657 回答