[mapserver-users] Problems getting started with POSTGIS
I've been using MapServer with shapefiles for some time. I'm trying to convert a site to PostGIS, and I'm having problems. I've successfully installed PostGIS on my Ubunto 10.04 box, and copied a number of shapefiles into it, using shp2pgsql. I can view the new tables using qGIS, so I'm sure the data is right. So now I've copies a mapfile that was working against the original shapefiles, and I'm trying to convert it to use PostGIS. I'm working on just one layer, and I'm trying to test that layer with shp2img. I've added to the LAYER definition: LAYER NAME countyboundaries CONNECTIONTYPE postgis CONNECTION host=localhost dbname=test_db user=gis password=x DATA the_geom from gis_schema.county [...] END As I said, I know the data is in the database, because I can load it as a PostGIS layer from qGIS. Column and table names are right, because when I run select the_geom from gis_schema.county in the query tool I get the data. But when I run shp2img from the commandline, I get an error: $ shp2img -m test.map -o test.gif -i GIF -l countyboundaries msDrawMap(): Image handling error. Failed to draw layer named 'countyboundaries'. msPostGISParseData(): Query error. Error parsing PostGIS DATA variable. Must contain 'geometry from table' or 'geometry from (subselect) as foo'. County shp2img is MapServer version 5.6.6, and the output from -v does contain INPUT=POSTGIS. Any ideas? I'm trying to keep things simple, and it's frustrating when simple doesn't work. ___ mapserver-users mailing list mapserver-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapserver-users
Re: [mapserver-users] Problems getting started with POSTGIS
On 3/18/2011 11:52 AM, Jeff Dege wrote: I’ve been using MapServer with shapefiles for some time. I’m trying to convert a site to PostGIS, and I’m having problems. I’ve successfully installed PostGIS on my Ubunto 10.04 box, and copied a number of shapefiles into it, using shp2pgsql. I can view the new tables using qGIS, so I’m sure the data is right. So now I’ve copies a mapfile that was working against the original shapefiles, and I’m trying to convert it to use PostGIS. I’m working on just one layer, and I’m trying to test that layer with shp2img. I’ve added to the LAYER definition: LAYER NAME “countyboundaries” CONNECTIONTYPE postgis CONNECTION “host=localhost dbname=test_db user=gis password=x” DATA “the_geom from gis_schema.county” […] END As I said, I know the data is in the database, because I can load it as a PostGIS layer from qGIS. Column and table names are right, because when I run “select the_geom from gis_schema.county” in the query tool I get the data. But when I run shp2img from the commandline, I get an error: $ shp2img -m test.map -o test.gif -i GIF -l countyboundaries msDrawMap(): Image handling error. Failed to draw layer named ‘countyboundaries’. msPostGISParseData(): Query error. Error parsing PostGIS DATA variable. Must contain ‘geometry from table’ or ‘geometry from (subselect) as foo’. County shp2img is MapServer version 5.6.6, and the output from -v does contain “INPUT=POSTGIS”. Any ideas? I’m trying to keep things simple, and it’s frustrating when simple doesn’t work. I cant see anything really wrong. I'm doing mostly the same thing. however: CONNECTION “dbname=test_db user=gis password=x” because mapserver and PG run on the same box, I left off the host=localhost... not sure if its important. DATA the_geom from gis_schema.county using unique gid using srid=-1 I also have the unique and srid things, again not sure if there'd be a difference. And as a last hint, you can try bumping up the debug: MAP CONFIG MS_ERRORFILE /tmp/mapserver.log ... LAYER DEBUG 4 ... END -Andy ___ mapserver-users mailing list mapserver-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapserver-users
Re: [mapserver-users] Problems getting started with POSTGIS
On 3/18/2011 3:41 PM, Andy Colson wrote: On 3/18/2011 11:52 AM, Jeff Dege wrote: I’ve been using MapServer with shapefiles for some time. I’m trying to convert a site to PostGIS, and I’m having problems. I’ve successfully installed PostGIS on my Ubunto 10.04 box, and copied a number of shapefiles into it, using shp2pgsql. I can view the new tables using qGIS, so I’m sure the data is right. So now I’ve copies a mapfile that was working against the original shapefiles, and I’m trying to convert it to use PostGIS. I’m working on just one layer, and I’m trying to test that layer with shp2img. I’ve added to the LAYER definition: LAYER NAME “countyboundaries” CONNECTIONTYPE postgis CONNECTION “host=localhost dbname=test_db user=gis password=x” DATA “the_geom from gis_schema.county” […] END As I said, I know the data is in the database, because I can load it as a PostGIS layer from qGIS. Column and table names are right, because when I run “select the_geom from gis_schema.county” in the query tool I get the data. But when I run shp2img from the commandline, I get an error: $ shp2img -m test.map -o test.gif -i GIF -l countyboundaries msDrawMap(): Image handling error. Failed to draw layer named ‘countyboundaries’. msPostGISParseData(): Query error. Error parsing PostGIS DATA variable. Must contain ‘geometry from table’ or ‘geometry from (subselect) as foo’. County shp2img is MapServer version 5.6.6, and the output from -v does contain “INPUT=POSTGIS”. Any ideas? I’m trying to keep things simple, and it’s frustrating when simple doesn’t work. I cant see anything really wrong. I'm doing mostly the same thing. however: CONNECTION “dbname=test_db user=gis password=x” because mapserver and PG run on the same box, I left off the host=localhost... not sure if its important. Yes, it might be, it depends on how postgresql is configured. You can test it with: psql -U gis test_db vs: psql -U gis -h localhost test_db DATA the_geom from gis_schema.county using unique gid using srid=-1 I also have the unique and srid things, again not sure if there'd be a difference. This also might be a problem. In general you should not use srid=-1 in the database of in the mapfile. When you load your data you should specify the correct srid and reference in the mapfile. in your mapfile add: MAP CONFIG MS_ERRORFILE stderr DEBUG 10 then run your shp2img again and you might get more debug info. You can also add the DEBUG 10 to you LAYER and I think it will spit out the SQL it is trying to execute so you can try it in psql and maybe get helpful messages there. -Steve W And as a last hint, you can try bumping up the debug: MAP CONFIG MS_ERRORFILE /tmp/mapserver.log ... LAYER DEBUG 4 ... END -Andy ___ mapserver-users mailing list mapserver-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapserver-users ___ mapserver-users mailing list mapserver-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapserver-users
RE: [mapserver-users] Problems getting started with POSTGIS
I'm not seeing the query - I don't think I'm getting that far. msPostGISWhichShapes called. msPostGISParseData called. msPostGISParseData(): Query error. Error parsing PostGIS DATA variable. Must contain 'geometry from table' or geometry from (subselect) as Foo'. County But playing around, I saw that I was getting the same error regardless of what I put in the DATA variable. Which made no sense. I tried stuff that should not have worked at all, and saw no difference. So I looked beyond my problematic DATA variable - and found another DATA variable, later in the LAYER definition. If you remember, I started this by copying a mapfile that had been working with shapefiles. I'd changed the CONNECTIONTYPE, added a CONNECTION, and a new DATA - but I hadn't deleted the old DATA. Oops. -Original Message- From: mapserver-users-boun...@lists.osgeo.org [mailto:mapserver-users-boun...@lists.osgeo.org] On Behalf Of Stephen Woodbridge Sent: Friday, March 18, 2011 4:44 PM To: mapserver-users@lists.osgeo.org Subject: Re: [mapserver-users] Problems getting started with POSTGIS On 3/18/2011 3:41 PM, Andy Colson wrote: On 3/18/2011 11:52 AM, Jeff Dege wrote: I've been using MapServer with shapefiles for some time. I'm trying to convert a site to PostGIS, and I'm having problems. I've successfully installed PostGIS on my Ubunto 10.04 box, and copied a number of shapefiles into it, using shp2pgsql. I can view the new tables using qGIS, so I'm sure the data is right. So now I've copies a mapfile that was working against the original shapefiles, and I'm trying to convert it to use PostGIS. I'm working on just one layer, and I'm trying to test that layer with shp2img. I've added to the LAYER definition: LAYER NAME countyboundaries CONNECTIONTYPE postgis CONNECTION host=localhost dbname=test_db user=gis password=x DATA the_geom from gis_schema.county [...] END As I said, I know the data is in the database, because I can load it as a PostGIS layer from qGIS. Column and table names are right, because when I run select the_geom from gis_schema.county in the query tool I get the data. But when I run shp2img from the commandline, I get an error: $ shp2img -m test.map -o test.gif -i GIF -l countyboundaries msDrawMap(): Image handling error. Failed to draw layer named 'countyboundaries'. msPostGISParseData(): Query error. Error parsing PostGIS DATA variable. Must contain 'geometry from table' or 'geometry from (subselect) as foo'. County shp2img is MapServer version 5.6.6, and the output from -v does contain INPUT=POSTGIS. Any ideas? I'm trying to keep things simple, and it's frustrating when simple doesn't work. I cant see anything really wrong. I'm doing mostly the same thing. however: CONNECTION dbname=test_db user=gis password=x because mapserver and PG run on the same box, I left off the host=localhost... not sure if its important. Yes, it might be, it depends on how postgresql is configured. You can test it with: psql -U gis test_db vs: psql -U gis -h localhost test_db DATA the_geom from gis_schema.county using unique gid using srid=-1 I also have the unique and srid things, again not sure if there'd be a difference. This also might be a problem. In general you should not use srid=-1 in the database of in the mapfile. When you load your data you should specify the correct srid and reference in the mapfile. in your mapfile add: MAP CONFIG MS_ERRORFILE stderr DEBUG 10 then run your shp2img again and you might get more debug info. You can also add the DEBUG 10 to you LAYER and I think it will spit out the SQL it is trying to execute so you can try it in psql and maybe get helpful messages there. -Steve W And as a last hint, you can try bumping up the debug: MAP CONFIG MS_ERRORFILE /tmp/mapserver.log ... LAYER DEBUG 4 ... END -Andy ___ mapserver-users mailing list mapserver-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapserver-users ___ mapserver-users mailing list mapserver-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapserver-users ___ mapserver-users mailing list mapserver-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapserver-users