[GIS] Exporting OpenLayers.Layer.WMS to GeoJSON / KML

geojsongeoserverkmlopenlayers-2wms

I'm looking the way to exporting an especific region of a WMS layer to some XML format (GeoJSON, GML, KML) using OpenLayers and Geoserver. I've found how to export features objects with OpenLayers.Format.GeoJSON.write(), but this method only allow converting feature objects or geometry objects.

An example of my idea: I'm viewing a map of a certain country with a couple of WMS layers with some data. Then I zoom to a particular state of that country and I want to export what I'm viewing to GeoJSON or KML for use that in a desktop GIS application (like QGIS).

Does anyone know how to do this?

Thanks.

Best Answer

You can do the following:

  • Get the bounding box of the area that you are requesting

    layer.getExtent().toBBOX()

  • Build a WFS request using the BBOX here a simple request. As output format choose json