我将使用 wms getfeatureinfo
来获取图层的信息,而无需任何库。事实上,我正在使用 Android,找不到任何适合我的东西,所以我必须从 手动生成的 URL
中获取信息。我已经看到 WMS refrence 并且可以找到 requiered 参数以从 geoserver 请求。 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
,但它没有给我 任何功能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个点上寻找原始图层数据;您可以使用 Geoserver WMS 的 GetFeatureInfo
。但是,您应该小心定义您的输入(Bounding box, width, height, x, y
)。宽度和高度以及 x y 应尽可能小。例如。 1,1,0,0 顺序。至于边界框,您需要原始数据的频率,我的意思是单元格之间的差异(就经度、纬度而言)。如果你的单元格之间的差异是每个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 .
关于android - 手动生成 WMS GetFeatureInfo URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30965701/