手动生成 WMS GetFeatureInfo URL
Posted
技术标签:
【中文标题】手动生成 WMS GetFeatureInfo URL【英文标题】:Generate WMS GetFeatureInfo URL manually 【发布时间】:2015-06-21 14:39:15 【问题描述】:我将使用wms getfeatureinfo
来获取没有任何库的层的信息。事实上,我正在使用 android 并且找不到任何可以为我做的事情,所以我必须从 manually generated URL
获取信息。我已经看到 WMS 参考,并且可以找到从地理服务器请求的所需参数。 Here 是引用。
我尝试为位于ESPG 3857
中7547018.12374 -3645681.16486
位置的功能构建一个示例url 我的图层名称是Hazard:point_4326
,我将bbox 和高度和宽度设置为bbox=-2.002637639E7,-2.00489661E7,2.002637639E7,2.00489661E7&width=767&height=768
,但它给出了我no features were found
我认为问题在于设置 bbox。这是我使用的网址
http://151.80.201.170/geoserver/Hazard/wms?request=GetFeatureInfo&service=WMS&version=1.1.1&layers=Hazard:point_4326&styles=&srs=EPSG%3A3875&format=image%2Fpng&bbox=-2.002637639E7,-2.00489661E7,2.002637639E7,2.00489661E7&width=767&height=768&query_layers=Hazard:point_4326&info_format=text%2Fplain&feature_count=50&x=0&y=0&exceptions=application%2Fvnd.ogc.se_xml
this 正在使用 openlayer url
你能帮我找出我做错了什么吗?非常感谢。
【问题讨论】:
【参考方案1】:问题正如你所说的边界框。你不能定义你的上角和你的下角相同。据说下角一定要低。
如果您只查找 1 个点的原始图层数据;你可以使用GetFeatureInfo of Geoserver WMS
。但是,您应该小心定义您的输入 (Bounding box, width, height, x, y
)。宽度和高度以及 x y 应尽可能小。例如。 1,1,0,0 的顺序。至于边界框,您需要原始数据的频率,我的意思是单元格之间的差异(就 lon、lat 而言)。如果你的单元格之间的差异是0.2个,并且你要查询的点在Point(2.4,3.6)上;那么你的边界框应该是这样的:
&bbox=2.3,3.5,2.5,3.7&width=1&height=1&x=0&y=0
如果您正在寻找原始数据的全部或部分矩形区域,那么您应该查看我发布的here 的答案。
【讨论】:
谢谢你的回答,我看看你的其他回答,谢谢以上是关于手动生成 WMS GetFeatureInfo URL的主要内容,如果未能解决你的问题,请参考以下文章
怎样使GeoServer在WMS的GetFeatureInfo请求返回JSON格式数据