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