[mapserver-users] Blank PostGIS Layer
Ben Madin
ben at remoteinformation.com.au
Tue Dec 16 22:47:40 PST 2008
G'day all,
I am having generally excellent results with MapServer 5.2, but I am
having a problem with a postgis layer not displaying, and no
suggestion that it shouldn't from the logs.
I imported a shapefile :
shp2pgsql -s 4326 /Users/19022662/Geodata/healthmapper/LA/roads roads
| psql prices
in postgres I gave permission for the mapserver user to select from it :
grant select on roads to gms_mapserver;
My map layer :
LAYER
STATUS DEFAULT
DEBUG 4
NAME "Roads"
GROUP "Background"
METADATA
layer_title "Roads"
END
CONNECTIONTYPE postgis
CONNECTION "host=localhost port=5432 dbname=prices password=badluck
user=gms_mapserver"
DATA "the_geom FROM (
SELECT gid, the_geom
FROM roads
) AS foo USING UNIQUE gid USING SRID=4326"
# DATA 'healthmapper/LA/roads'
TYPE LINE
PROJECTION
"init=epsg:4326"
END
TRANSPARENCY 100
CLASS
NAME "ROADS"
OUTLINECOLOR 255 255 255
symbol 'dashed'
COLOR 255 0 0
END
END
and I don't get the layer (even with everything else turned off);
Other postGIS polygon layers are showing fine.
If I load the data directly from the shapefile, it is fine
If I connect to the postgis layer from QGIS, it is fine.
Here is the dump from the error console
[Wed Dec 17 15:44:42 2008].96166 msPOSTGISLayerOpen called
datastatement: the_geom FROM (
SELECT gid, the_geom
FROM roads
) AS foo USING UNIQUE gid USING SRID=4326
[Wed Dec 17 15:44:42 2008].96664 MSPOSTGISLayerOpen -- shared
connection not available.
[Wed Dec 17 15:44:42 2008].101270
msConnPoolRegister(Roads,host=localhost port=5432 dbname=prices
password=badluck user=gms_mapserver,0x101900400)
[Wed Dec 17 15:44:42 2008].101288 msPOSTGISLayerFreeItemInfo called
[Wed Dec 17 15:44:42 2008].101314 msPOSTGISLayerWhichShapes called
[Wed Dec 17 15:44:42 2008].101328 msPOSTGISLayerParseData: unique
column = gid, srid='4326', geom_column_name = the_geom, table_name=(
SELECT gid, the_geom
FROM roads
) AS foo
[Wed Dec 17 15:44:42 2008].101574 query_string_0_6:DECLARE mycursor
BINARY CURSOR FOR SELECT
asbinary(force_collection(force_2d(the_geom)),'NDR'),gid::text from (
SELECT gid, the_geom
FROM roads
) AS foo WHERE the_geom && setSRID('BOX3D(102.054844143416
18.0123207848761,102.992352286832 18.7152227848761)'::BOX3D, 4326 )
[Wed Dec 17 15:44:42 2008].175520 msPOSTGISLayerFreeItemInfo called
[Wed Dec 17 15:44:42 2008].175539 msPOSTGISLayerClose datastatement:
the_geom FROM (
SELECT gid, the_geom
FROM roads
) AS foo USING UNIQUE gid USING SRID=4326
[Wed Dec 17 15:44:42 2008].175543 msPOSTGISLayerClose -- closing
query_result
[Wed Dec 17 15:44:42 2008].175930
msConnPoolRelease(Roads,host=localhost port=5432 dbname=prices
password=badluck user=gms_mapserver,0x101900400)
[Wed Dec 17 15:44:42 2008].175940 msConnPoolClose(host=localhost
port=5432 dbname=prices password=badluck user=gms_mapserver,0x101900400)
[Wed Dec 17 15:44:42 2008].176004 msDrawMap(): Layer 8 (Roads), 0.080s
[Wed Dec 17 15:44:42 2008].215812 msDrawMap(): Drawing Label Cache,
0.000s
[Wed Dec 17 15:44:42 2008].215824 msDrawMap() total time: 0.121s
[Wed Dec 17 15:44:42 2008].227155 msSaveImage() total time: 0.011s
[Wed Dec 17 15:44:42 2008].230642 msSaveImage() total time: 0.001s
[Wed Dec 17 15:44:42 2008].234008 mapserv request processing time
(loadmap not incl.): 0.139s
[Wed Dec 17 15:44:42 2008].234016 msFreeMap(): freeing map at
0x10180e200.
[Wed Dec 17 15:44:42 2008].234020 msPOSTGISLayerClose datastatement:
the_geom FROM (
SELECT gid, the_geom
FROM roads
) AS foo USING UNIQUE gid USING SRID=4326
[Wed Dec 17 15:44:42 2008].234023 msPOSTGISLayerClose -- layerinfo is
NULL
If I copy and paste the query, I get data (I have no way of knowing if
it is OK) :
| 16899
\001
\007
\000
\000
\000
\001
\000
\000
\000
\001
\005
\000
\000
\000\001\000\000\000\001\002\000\000\000\037\000\000\000\000\000\000@
\023\225Y@\000\000\000\300
etc (I just copied some of it)
There is no difference between cgi mapserv and shp2img.
Any thoughts much appreciated!!
cheers
Ben
--
Ben Madin
REMOTE INFORMATION
t : +61 8 9192 5455
f : +61 8 9192 5535
m : 0448 887 220
Broome WA 6725
ben at remoteinformation.com.au
Out here, it pays to know...
More information about the MapServer-users
mailing list