Hello Mel,

In general the error you've pasted from the Postgres logs will be  
avoided in the upcoming 0.7.0 release. Iv'e recently added to and  
updated the postgis plugin with new features and error messages that  
should avoid this problem in the future(it is a common one so sorry  
you've run into it)  it should also make my below explanation uneeded  
or at least shorter in the future.  What is happening is that the  
geometry field for your table is unknown, llikely because the table  
lacks a record in the geometry_columns table (but it can also occur  
for other reasons).

Also, it appears that those logs do not exactly correspond to the  
query that is in the 'table' param in your XML. I notice the  
characteristic extra syntax of 'WHERE GeometryType("the_geom") IN ' as  
coming from QGIS/Quantumnik. Do you perhaps have more than one  
geometry field? You can try specifying geometry_field="the_geom" in  
your XML datasource parmeters, but overall I would make sure you have  
a proper record in the geometry_columns. PostGIS 1.4 has a nice  
function called 'populate_geometry_columns' (or something like that)  
which may help. Mapnik0.6.1 needs this metadata, but in mapnik0.7.0 if  
you supply the geometry_field and SRID then this
metadata will be optional.

Lastly, it appears that the layer srs parameter is wrong which may  
prevent your map from showing any features once you get the query  
working.

I would recommend installing nik2img and running it on your XML while  
fixing the layer srs to your correct projection for your data and  
changing the 'table' parameter to just your table name without a  
subselect.  If you still get errors in your logs after confirming the  
geometry_columns are correct for your table the. Please send the error  
again.

Dane


--- \o/ ---
Sent from my phone

On Dec 28, 2009, at 7:33 AM, mel yuanhang <[email protected]> wrote:

> Hi,
> I could not render a PostGIS layer using the following setting on  
> WindowsXP,
> -Mapnik 0.6.1
> -PostgreSQL 8.4/PostGIS 1.4
>
> It works fine for shapefiles. But as I connect to a PostGIS Layer, I  
> got the following errors in the Postgresql log file,
>
> 2009-12-24 14:05:03 ESTERROR:  zero-length delimited identifier at  
> or near """" at character 17
> 2009-12-24 14:05:03 ESTSTATEMENT:  SELECT AsBinary("",'NDR') AS geom  
> from (SELECT * FROM "mains_update_dlz" WHERE GeometryType 
> ("the_geom") IN ('LINESTRING','MULTILINESTRING')) as  
> "mains_update_dlz" WHERE "" && SetSRID('BOX3D(1835078.82466  
> 710209.522025,1842753.74984 713266.403181)'::box3d,0)
>
>
> The XML file is shown below,
>
> <?xml version="1.0" ?><Map bgcolor="rgb(255,255,255)"  
> srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs">
>     <Style name="mains_update_dlz_style">
>         <Rule>
>             <LineSymbolizer>
>                 <CssParameter name="stroke">rgb(229,210,191)</ 
> CssParameter>
>                 <CssParameter name="stroke-width">0.96</CssParameter>
>                 <CssParameter name="stroke-linejoin">bevel</ 
> CssParameter>
>                 <CssParameter name="stroke-linecap">square</ 
> CssParameter>
>             </LineSymbolizer>
>         </Rule>
>     </Style>
>     <Layer clear_label_cache="0" name="mains_update_dlz"  
> srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs" status="1">
>         <StyleName>mains_update_dlz_style</StyleName>
>         <Datasource>
>             <Parameter name="dbname">postgis</Parameter>
>             <Parameter  
> name= 
> "extent">1835078.82466,710209.522025,1842753.74984,713266.403181</ 
> Parameter>
>             <Parameter name="host">localhost</Parameter>
>             <Parameter name="password">postgres</Parameter>
>             <Parameter name="port">5432</Parameter>
>             <Parameter name="estimate_extent">false</Parameter>
>             <Parameter name="table">(SELECT * FROM mains_update_dlz)  
> as mains_update_dlz</Parameter>
>             <Parameter name="type">postgis</Parameter>
>             <Parameter name="user">postgres</Parameter>
>         </Datasource>
>     </Layer>
> </Map>
>
>
> Thank you very much,
>
> Mel
>
> _______________________________________________
> Mapnik-users mailing list
> [email protected]
> https://lists.berlios.de/mailman/listinfo/mapnik-users
_______________________________________________
Mapnik-users mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/mapnik-users

Reply via email to