Simon,
Are you also setting the "wms_srs" metadata in the map's web object? If
not then perhaps try setting the "wms_srs" metadata in the web object to
"EPSG:27700" and see if that helps.
Daniel
Simon Greig wrote:
Hi,
We have made the changes to remove the explicit layer setProjection and
allow each layer to inherit the projection from its map.
However for some vector layers we consistently get:
"Layer must have an EPSG or AUTO projection code (in its PROJECTION
object or wms_srs metadata)"
A layer either works or does not work, but 30% of our layers fail with
this error. Also layers that work or fail differ between environments.
We don't use a map file for layer data (just for mapObj config) as all
of our layer configurations are stored in a database. Our WMS_LAYERS
table stores all of the data that you would normally see within the
LAYERS section of a mapfile.
I have checked the PROJECTION setting and for all layers it is set to
"init='epsg:27700'".
Our code manually constructs mapObj and layerObj objects taking the
configuration from our config database.
When our code constructs the layerObj JNI objects it checks the
PROJECTION value from the database and if the DB value is the same as
the mapObj projection then the code skips the layerObj.setProjection
because it assumes that the layer will inherit the projection from the
mapObj used in the constructor of the layerObj.
None of the layers in the list are WMS layers and the layers that fail
are all going to our Oracle Spatial database.
I have asked the database team to investigate the differences between
layers that work and fail in the same environment and layers that work
in one environment and fail in another. I have inspected the
development database and a I cannot see anything different between a
layer that works and one that does not.
e.g. If I simulate the mapfile syntax for our layers for the benefit of
the email, if we had defined our layers in the mapfile they would look
like this:
LAYER
NAME "2001UrbanAreas(Census)"
CONNECTION "<usr>/<pwd>@SPR01"
STATUS ON
TYPE POLYGON
DATA "GEOMETRY FROM OTHERAGENCIES.DCLG00000001 USING SRID 81989"
MAXSCALE 99999999
MINSCALE 0
TRANSPARENCY 60
PROJECTION "init=epsg:27700"
END
LAYER
NAME "EnglishHeritageRegions"
CONNECTION "<usr>/<pwd>@SPR01"
STATUS ON
TYPE POLYGON
DATA "GEOMETRY FROM OTHERAGENCIES.ENGH00000001 USING SRID 81989"
MAXSCALE 99999999
MINSCALE 0
TRANSPARENCY 60
PROJECTION "init=epsg:27700"
END
2001Urban layer fails with the projection error, the
EnglishHeritageRegions works for the exact same bounding box/scale.
We have not applied the METADATA change as the layers are not external
WMS layers and presumably setting the METADATA wms_srs would provide the
same effect as calling layerObj.setProjection?
If we restore the code to setProjection for every layer then the errors
go away - but our performance goes down.
Does any of this description allow anyone to suggest areas that I should
get the database team to focus on?
Any advice appreciated :-)
Simon
------------------------------------------------------------------------
/
/
/Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number
741598.
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU/
------------------------------------------------------------------------
_______________________________________________
mapserver-users mailing list
mapserver-users@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/mapserver-users
--
Daniel Morissette
http://www.mapgears.com/
_______________________________________________
mapserver-users mailing list
mapserver-users@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/mapserver-users