[OpenLayers-Users] Simple configuration PostgreSQL/MapServer/Openlayers

Stuart Eve stuarteve at lparchaeology.com
Mon Mar 12 05:26:42 EDT 2007


Andy

Why don't you try to change the WMS_SRS call in the metadata to be 
EPSG:27700. Also I would add the:

PROJECTION
   "init=epsg:27700"
  END

into the top level of the mapfile (then you can take it out of your 
layer definition if you want).

Also you should change the projection call in the OpenLayers layer def. 
to 27700:

 var mylayer = new OpenLayers.Layer.WMS( "OpenLayers WMS",
        "http://localhost/cgi-bin/mapserv.exe?",{layers:
'tlrn_network',map:'/ms4w/apps/TestMaps/FirstTest/tlrn.map'},{projection:
"EPSG:27700"});

See if that gets you any further...

Stu

ucfsafo at ge.ucl.ac.uk wrote:
> Hi,
> Is there anybody out there that can help me with this very simple
> configuration?
> I’m new to WMS and I’m learning about it right now. I’m not completely new
> to programming though; I have experience in C, PL/SQL, MapBasic and a bit
> of JavaScript and HTML. I’m into GIS and used Oracle Spatial with MapInfo
> software at work. I only now started to appreciate open source.
>
> I decided to go onto practice straight away and opted for the following
> configuration:
>
> PostgreSQL/PostGIS (this is an excellent db and the documentation is
> impressive!)
> MapServer for rendering images and
> Openlayers as a simple way to interact with the map/information.
> Everything installed locally.
>
> All I need is some sort of “Hello World” style example, some sort of
> launch pad where I can add or change bit and pieces as I learn. Seeing
> something actually working would give me the confidence to going through
> all the details.
> It should work with this configuration and I would be really grateful if
> someone could help me with this.
>
> I have loaded some vector data into Postgres, some polylines (or
> linestrings) representing road network. This is referenced to British
> National Grid (BNG) srid: 27700. The table has been spatially indexed.
>
> Here’s where I can smell some trouble.
> MapServer successfully outputs a png image with the following map file:
>
> MAP
>   IMAGETYPE      PNG
>   EXTENT         525300 179800 536700 187600
>   SIZE           800 600
>   SHAPEPATH      "/ms4w/apps/TestMaps/FirstTest"
>   IMAGECOLOR     192 192 192
>   UNITS          METERS
>  LAYER
>   CONNECTIONTYPE postgis
>   NAME "tlrn_network"
>   CONNECTION "user=??? password=??? dbname=mapping host=localhost"
>   DATA "wkb_geometry FROM net"
>   STATUS ON
>   TYPE LINE
>   CLASS
>    COLOR 0 0 0
>   END
>   METADATA
>    "WMS_SRS"    "EPSG:BNG"
>   END
>   PROJECTION
>    "init=epsg:27700"
>   END
>  END
> END
>
> I tested this firefox and the following URL:
>
> http://localhost/cgi-bin/mapserv.exe?map=/ms4w/apps/TestMaps/FirstTest/tlrn.map&layer=tlrn_network&mode=map
>
> So far so good, but here’s the trouble:
>
> <html>
> <head>
> <script src="http://openlayers.org/api/2/OpenLayers.js"></script>
> </head>
> <body>
>   <div style="width:100%; height:100%" id="map"></div>
>   <script defer="defer" type="text/javascript">
>     var mymap = new OpenLayers.Map('map');
>     var mylayer = new OpenLayers.Layer.WMS( "OpenLayers WMS",
>         "http://localhost/cgi-bin/mapserv.exe?",{layers:
> 'tlrn_network',map:'/ms4w/apps/TestMaps/FirstTest/tlrn.map'},{projection:
> "EPSG:BNG"});
>     mymap.addLayer(mylayer);
>     mymap.zoomToMaxExtent();
>   </script>
> </body>
> </html>
>
> It just doesn’t work. Openlayers kind of attempt to display the image, it
> shows the correct background color. However, instead of my road network,
> it shows the following error message on each tile:
>
> “MsWMSLoadGetMapParams(): WMS server error. Cannot set new SRS on a map
> that doesn’t have any projection set. Please make sure your mapfile has a
> projection defined at the top level.”
>
> Well, obviously my map file has no defined projection at top level. It is
> only defined at the layer’s level (and probably wrongly). Whenever I
> attempt to do at the Map top level it seems that things get only worse or
> no change at all.
> When I get rid of the metadata, for example
> #  METADATA
> #   "WMS_SRS"    "EPSG:BNG"
> #  END
> the message changes to:
> “msWMSLoadGetMapParams(): WMS server error. Invalid SRS given : SRS must
> be valid for all requested layers.
>
> I’m stuck! As I said all I need is something that works and I can use as a
> base. I’ll go away and practice with all this without harassing the entire
> community.
>
> Many thanks
>
> Andy
>
> _______________________________________________
> Users mailing list
> Users at openlayers.org
> http://openlayers.org/mailman/listinfo/users
>
>
>
>   




More information about the Users mailing list