Hi, Have you checked the MapServer logs?
To enable it, set the env variable MS_ERRORFILE to the log file path and MS_DEBUGLEVEL to "5". It will detail interesting details about how your layers are built. Jeff 2011/2/8 myOpenLayersUName <[email protected]>: > > First, the background... > > I have a WMS Service that has an "empty" point layer in it. I use it to > display labels at dynamically generated coordinates by passing x,y within > the request. For example: > > http://<domain>/ogc/mapserv?map=/path/fenceLabelWms_en.map&map.layer[fencelabel]=FEATURE > POINTS -105.5620661354989 51.14394472618872 END TEXT "Fence 1" > END&map.layer[fencelabel].class[0]=COLOR 255 0 0 > END&map.layer[fencelabel].class[0]=LABEL COLOR 255 0 0 SIZE 10 POSITION UR > END&LAYERS=fencelabel&mode=map > > > The entire map file is as follows: > > MAP > NAME "fenceLabelWms_en" > FONTSET "../../../mapserv/etc/fonts.txt" > SYMBOLSET "../../../mapserv/etc/symbols.sym" > SIZE 400 300 > IMAGETYPE PNG > IMAGECOLOR 255 255 255 > RESOLUTION 96 > EXTENT -141.5 41.5 -51.5 83.5 # all of Canada > UNITS METERS > PROJECTION > "init=epsg:4269" # lat/long > END > WEB > METADATA > "wms_srs" "EPSG:42304" > END > END > > OUTPUTFORMAT > NAME png > DRIVER 'GD/PNG' > MIMETYPE 'image/png' > IMAGEMODE PC256 #RGB > FORMATOPTION "INTERLACE=OFF" > EXTENSION 'png' > TRANSPARENT ON > END > > LAYER > NAME "fencelabel" > STATUS ON > TYPE point > CLASS > SIZE 0 > COLOR 0 0 0 > LABEL > TYPE truetype > FONT verdana > ANTIALIAS false > END > END > END > END > > > A number of applications use this WMS and each has its own projection but, > as in the request above, all pass the x,y as lat/long (EPSG:4269). The MAP > METADATA's "wms_srs" lists the supported projections (for the purposes of > this example, I'm simplifying by only including EPSG:42304). > > > So, this allows me to provide the point coordinates in lat/long, but display > them using the projection from the application itself. For example: > > http://<domain>/ogc/mapserv?map=/path/fenceLabelWms_en.map&map.layer[fencelabel]=FEATURE > POINTS -105.5620661354989 51.14394472618872 END TEXT 'Fence 1' > END&map.layer[fencelabel].class[0]=COLOR 255 0 0 > END&map.layer[fencelabel].class[0]=LABEL COLOR 255 0 0 SIZE 10 POSITION UR > END&LAYERS=fencelabel&FORMAT=image/png&SRS=EPSG:42304&TRANSPARENT=true&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&EXCEPTIONS=application/vnd.ogc.se_inimage&BBOX=-2903297.000,-789911.0000,3431059.000,3959683.000&WIDTH=1219&HEIGHT=601 > > > Knowing this, I can define this "dynamic" layer within a WMC <Layer> tag and > load it into an OpenLayers Map (whose projection is set to EPSG:42304 and > extents encompass all of Canada). The WMC definition for the above layer is > as follows (we use a batch script to set the path to the MapServer > executable and MAP file, "fenceLabelWms_en"): > > <Layer queryable="0" hidden="0"> > <Server service="OGC:WMS" version="1.1.1"> > <OnlineResource xlink:type="simple" > xlink:href="http://<domain>/ogc/fenceLabelWms_en?map.layer[fencelabel]=FEATURE%20POINTS%20-105.5620661354989%2051.14394472618872%20END%20TEXT%20'Fence%201'%20END&map.layer[fencelabel].class[0]=COLOR%20255%20105%200%20END&map.layer[fencelabel].class[0]=LABEL%20COLOR%20255%20105%200%20SIZE%2010%20POSITION%20LR%20END"/> > </Server> > <Name>fencelabel</Name> > <Title>Fence 1</Title> > <SRS>EPSG:42304</SRS> > <FormatList> > <Format current="1">image/png</Format> > </FormatList> > <Extension> > <ol:maxExtent minx="-2903297.000" miny="-789911.0000" > maxx="3431059.000" maxy="3959683.000"/> > <ol:transparent>true</ol:transparent> > <ol:numZoomLevels>5</ol:numZoomLevels> > <ol:units>m</ol:units> > <ol:isBaseLayer>false</ol:isBaseLayer> > <ol:displayInLayerSwitcher>false</ol:displayInLayerSwitcher> > <ol:singleTile>true</ol:singleTile> > </Extension> > </Layer> > > > Okay, everything works fine up to this point. The fence label WMS is > displayed in the OpenLayers Map correctly in relation to the other layers it > contains, all of which have projections of EPSG:42304. > > > Now, the problem ... > > I’d like to print the image displayed to the user. To do this, I have > another "empty" MAP file that I use to print the WMC; the same WMC I loaded > into OpenLayers. The entire contents of this MAP file are: > > MAP > NAME "wmsContextServer" > FONTSET "../../../mapserv/etc/fonts.txt" > SYMBOLSET "../../../mapserv/etc/symbols.sym" > SIZE 400 300 > STATUS ON > IMAGETYPE PNG > IMAGECOLOR 255 255 255 > EXTENT -2338951 -800000 3008692 3900000 > UNITS METERS > CONFIG "CGI_CONTEXT_URL" "1" > PROJECTION > "init=epsg:42304" > END > > RESOLUTION 96 > > REFERENCE > # Parameter settings NOT to change > STATUS ON > COLOR -1 -1 -1 > OUTLINECOLOR 255 0 0 > # Parameter settings that will change if you replace the default > 'refmap.png' > IMAGE "../htdocs/images/refmap.png" > SIZE 100 74 > EXTENT -2.2e+006 -712631 3.0728e+006 3.84e+006 > END # REFERENCE > > SCALEBAR > STATUS EMBED > INTERVALS 1 > POSITION LL > TRANSPARENT true > UNITS kilometers > STYLE 1 > SIZE 100 7 > LABEL > SIZE small > END > END > > WEB > INCLUDE "../../../mapserv/conf/imagepath.inc.map" > METADATA > # Used for App Page Title > "wms_title" "WMC Context Client" > "wms_connectiontimeout" "60" > END > END > OUTPUTFORMAT > NAME png > DRIVER 'GD/PNG' > MIMETYPE 'image/png' > IMAGEMODE RGB > FORMATOPTION "INTERLACE=OFF" > EXTENSION 'png' > #TRANSPARENT ON > END > > OUTPUTFORMAT > NAME gif > DRIVER 'GD/GIF' > MIMETYPE 'image/gif' > IMAGEMODE RGB > FORMATOPTION "INTERLACE=OFF" > EXTENSION 'gif' > END > > END > > > Unfortunately, the "dynamic" WMS layer doesn't appear in the output image. I > can use the following URL to get an image of all the other layers in the WMC > successfully, but the fence label is not shown and there is no error > message: > > http://<domain>/ogc/mapserv?map=/path/wmsContextServer.map&mode=map&context=http://<domain>/contexts/WMCwFenceLabels.xml&layers=all > > > > I'm guessing MapServer is getting a blank image when it's assembling the > layers for the output image and I'm further guessing that this is the result > of the projections somehow getting out of whack somewhere along the line. > I'm thinking that the point is being evaluated as not actually existing > within the extents of the output image being generated, perhaps? But, I > can't guess why this would be the case. There is no question that it does > fall within the extents (as witnessed by loading the same WMC in > OpenLayers). > > > As it is now, I am completely stuck as to what the problem might be. Can > anyone suggest anything that might help me narrow down exactly what the > problem is or a direction I can investigate further? > > -- > View this message in context: > http://osgeo-org.1803224.n2.nabble.com/Dynamic-WMS-Service-Projections-problem-tp6004893p6004893.html > Sent from the Mapserver - User mailing list archive at Nabble.com. > _______________________________________________ > mapserver-users mailing list > [email protected] > http://lists.osgeo.org/mailman/listinfo/mapserver-users > _______________________________________________ mapserver-users mailing list [email protected] http://lists.osgeo.org/mailman/listinfo/mapserver-users
