[Chameleon] MapServer dies when trying to view a layer generated with PostGIS

Carlo Tronnberg temp at chello.hu
Thu Nov 24 12:54:25 EST 2005


Dear list,

I have troubles to get PostGIS to work with MapServer.
I went through the PostGIS tutorial, using the sampe data. PostGIS works great on the command line.
But then I tried to call PostGIS with the MapServer as described in the tutorial adding the following layer to the map file of some working sample maps of nboth GMap and Chameleon:

LAYER
  NAME "elections"
  CONNECTIONTYPE postgis
  CONNECTION "host=localhost port=5432 dbname=bc password=[ I won't tell you! :-) ] user=postgres"
  DATA "the_geom from bc_voting_areas"
    TYPE POLYGON
    STATUS OFF
    PROJECTION
    "proj=aea"
    "ellps=GRS80"
    "lon_0=-126"
    "lat_0=45"
    "lat_1=50"
    "lat_2=58.5"
    "x_0=1000000"
  END
  CLASS
    NAME "Voting Areas"
    OUTLINECOLOR 0 0 0
    COLOR 255 255 200
  END
END


If the layer is disabled (STATUS OFF) then everything is OK. BUT if i enable it, MapServer cannot render the map (image missing symbol in the browser). I switched on the Apache error logging to see what happens. Here is an extract of the error log. A column oid seems to be missing... But that does not make me smarter. I got similar error logs with both GMap and Chameleon.

[Thu Nov 24 17:32:11 2005] [error] [client 127.0.0.1] PHP Warning:  [MapServer Error]: msDrawMap(): Failed to draw layer named 'elections'., referer: http://localhost/chameleon/samples/sample_enhanced.phtml
[Thu Nov 24 17:32:11 2005] [error] [client 127.0.0.1]  in C:\\ms4w\\apps\\chameleon\\htdocs\\common\\wrapper\\drawmap.php on line 533, referer: http://localhost/chameleon/samples/sample_enhanced.phtml
[Thu Nov 24 17:32:11 2005] [error] [client 127.0.0.1] PHP Warning:  [MapServer Error]: prep_DB(): Error executing POSTGIS DECLARE (the actual query) statement: 'DECLARE mycursor BINARY CURSOR FOR SELECT asbinary(force_collection(force_2d(the_geom)),'NDR'),OID::text from bc_voting_areas WHERE the_geom && setSRID('BOX3D(-1077436.43349587 -810519.362607715,6569519.15906088 5920600.07354032)'::BOX3D, find_srid('','bc_voting_areas','the_geom') )' <br><br>, referer: http://localhost/chameleon/samples/sample_enhanced.phtml
[Thu Nov 24 17:32:11 2005] [error] [client 127.0.0.1] , referer: http://localhost/chameleon/samples/sample_enhanced.phtml
[Thu Nov 24 17:32:11 2005] [error] [client 127.0.0.1] Postgresql reports the error as 'ERROR:  column "oid" does not exist, referer: http://localhost/chameleon/samples/sample_enhanced.phtml
[Thu Nov 24 17:32:11 2005] [error] [client 127.0.0.1] '<br><br>, referer: http://localhost/chameleon/samples/sample_enhanced.phtml
[Thu Nov 24 17:32:11 2005] [error] [client 127.0.0.1] , referer: http://localhost/chameleon/samples/sample_enhanced.phtml
[Thu Nov 24 17:32:11 2005] [error] [client 127.0.0.1] More Help:<br><br>, referer: http://localhost/chameleon/samples/sample_enhanced.phtml
[Thu Nov 24 17:32:12 2005] [error] [client 127.0.0.1] , referer: http://localhost/chameleon/samples/sample_enhanced.phtml
[Thu Nov 24 17:32:12 2005] [error] [client 127.0.0.1] Error with POSTGIS data variable. You specified '&lt;check your .map file&gt;'.<br>, referer: http://localhost/chameleon/samples/sample_enhanced.phtml
[Thu Nov 24 17:32:12 2005] [error] [client 127.0.0.1] Standard ways of specifiying are : <br>, referer: http://localhost/chameleon/samples/sample_enhanced.phtml
[Thu Nov 24 17:32:12 2005] [error] [client 127.0.0.1] (1) 'geometry_column from geometry_table' <br>, referer: http://localhost/chameleon/samples/sample_enhanced.phtml
[Thu Nov 24 17:32:12 2005] [error] [client 127.0.0.1] (2) 'geometry_column from (&lt;sub query&gt;) as foo using unique &lt;column name&gt; using SRID=&lt;srid#&gt;' <br><br>, referer: http://localhost/chameleon/samples/sample_enhanced.phtml
[Thu Nov 24 17:32:12 2005] [error] [client 127.0.0.1] , referer: http://localhost/chameleon/samples/sample_enhanced.phtml
[Thu Nov 24 17:32:12 2005] [error] [client 127.0.0.1] Make sure you put in the 'using unique  &lt;column name&gt;' and 'using SRID=#' clauses in., referer: http://localhost/chameleon/samples/sample_enhanced.phtml
[Thu Nov 24 17:32:12 2005] [error] [client 127.0.0.1] , referer: http://localhost/chameleon/samples/sample_enhanced.phtml
[Thu Nov 24 17:32:12 2005] [error] [client 127.0.0.1] <br><br>For more help, please see http://postgis.refractions.net/documentation.php , referer: http://localhost/chameleon/samples/sample_enhanced.phtml
[Thu Nov 24 17:32:12 2005] [error] [client 127.0.0.1] , referer: http://localhost/chameleon/samples/sample_enhanced.phtml
[Thu Nov 24 17:32:12 2005] [error] [client 127.0.0.1] <br><br>Mappostgis.c - version of Jan 23/2004., referer: http://localhost/chameleon/samples/sample_enhanced.phtml
[Thu Nov 24 17:32:12 2005] [error] [client 127.0.0.1] , referer: http://localhost/chameleon/samples/sample_enhanced.phtml
[Thu Nov 24 17:32:12 2005] [error] [client 127.0.0.1]  in C:\\ms4w\\apps\\chameleon\\htdocs\\common\\wrapper\\drawmap.php on line 533, referer: http://localhost/chameleon/samples/sample_enhanced.phtml
[Thu Nov 24 17:32:12 2005] [error] [client 127.0.0.1] PHP Warning:  Cannot modify header information - headers already sent by (output started at C:\\ms4w\\apps\\chameleon\\htdocs\\common\\wrapper\\drawmap.php:533) in C:\\ms4w\\apps\\chameleon\\htdocs\\common\\wrapper\\drawmap.php on line 1476, referer: http://localhost/chameleon/samples/sample_enhanced.phtml

I am quite deseperate: I tried different versions of MS4W (1.0.3 and 1.2.2) but that did not change the situation.
I am using PostgreSQL 8.1 with the PostGIS included with it under Windows XP Pro SP2.
Trying step by step different PostGIS tutorials I get the same error.
I have tried this on 2 different computers and get the same errors.

What can be the problem? As opposed to what I have read in the forum, in my situation ALL layers die when I try to get a layer via PostGIS.
I previously used MySQL via ODBC but that gave me trouble as well (I could not query the database, just dump a complete column). This is why I decided to convert to PostGIS (which is MUCH better anyway for my task).

Thanks for your help and your time.

Cheers,

Carlo Trönnberg
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.maptools.org/pipermail/chameleon/attachments/20051124/5af2b9a7/attachment.html


More information about the Chameleon mailing list