Monday 21 November 2016

OpenLayers and WFS: Using a mapfile correctly with featureType and featureNS


For starters, I went off the example at http://openlayers.org/dev/examples/wfs-reprojection.js and got that working just fine with the states vector layer showing up.


Now I'm trying to use my own mapfile (wfs_navdata_02.map) and do the same. Just one layer for now, cities_1x.


var wfs = new OpenLayers.Layer.Vector("My Layer", {
strategies: [new OpenLayers.Strategy.Fixed()],
protocol: new OpenLayers.Protocol.WFS({
version: "1.1.0",
srsName: "EPSG:4326",
url: "http://my_local_url/cgi-bin/mapserv.exe?map=/file_location/wfs_navdata_02.map",
featureType: "cities_1x",

featurePrefix: "",
featureNS: "http://yourdomain/application/catalogLayer"
}),
});
map.addLayer(wfs);

What do I put in for featureNS? For the url, is referencing the mapfile like that ok? I read one poster that said he needed to use featurePrefix but I don't think thats necessary here.


Also for featureType, is that the name of the LAYER or the wms_title within the layer?


I've successfully used WMS before but WFS is a bit more confusing. I am not having any errors in the javascript console via Chrome.


Snippet of mapfile can be seen here: http://codeshare.io/C1hki



Not sure if OUTPUTFORMAT is necessary.


Any input is appreciated.



Answer



This might help you move forward: by default, MapServer uses "ms:" as a prefix, and http://mapserver.gis.umn.edu/mapserver as a namespace:


featurePrefix: "ms",
featureNS: "http://mapserver.gis.umn.edu/mapserver"

OpenLayers might/did have some quirks when specifying both of these, so you might want to try setting only one of those at a time, c.f. http://lists.osgeo.org/pipermail/openlayers-users/2009-August/013320.html


Edit:


You can also try with version: '1.0.0' as this will prevent lat/lon coordinate inversion. I also found a few issues with your mapfile:




  • The mapfile should end with an END at the map level.

  • The OUTPUTFORMAT is not mandatory.

  • Make sure to use "init=epsg:4326" as your projection.


Using the NameSpace and prefix above and fixing the mapfile, I successfully got points in OpenLayers.


No comments:

Post a Comment

arcpy - Changing output name when exporting data driven pages to JPG?

Is there a way to save the output JPG, changing the output file name to the page name, instead of page number? I mean changing the script fo...