将OpenLayers.Layer.WMS导出为GeoJSON/KML



我正在寻找一种使用OpenLayers和Geoserver将WMS层的特定区域导出为某种XML格式(GeoJSON、GML、KML)的方法。我已经找到了如何使用OpenLayers.Format.GeoJSON.write()导出特征对象,但这种方法只允许转换特征对象或几何对象。

我的想法的一个例子是:我正在查看某个国家的地图,其中有几个WMS层和一些数据。然后我放大到该国家的一个特定状态,我想将我正在查看的内容导出到GeoJSON或KML,以便在桌面GIS应用程序(如QGIS)中使用。

有人知道怎么做吗?

谢谢。

GeoServer WMS可以以KML格式返回数据,因为它是一种类似SVG的样式格式,但不能以GeoJSON格式返回,GeoJSON是由WFS生成的,因为它只是原始数据。为了返回KML,只需发出与PNG相同的请求,但要求将"KML"作为输出格式

Web地图服务(WMS)只处理图像。要"导出"为XML,您需要使用类似于Web Map Context(WMC)的东西,详细信息如下:

  • http://dev.openlayers.org/docs/files/OpenLayers/Format/WMC-js.html

  • http://dev.openlayers.org/releases/OpenLayers-2.12/examples/wmc.html

  • http://www.opengeospatial.org/standards/wmc

我不确定Qgis是否支持使用WMC。

最新更新