FW: [UMN_MAPSERVER-USERS] postgis schema

Terence Maru terence at WAIROADC.GOVT.NZ
Sun Sep 2 19:35:55 PDT 2007


 
Hi Barend, doesn't work for me.

<Mapscript - begin>
$parcelLayer = ms_newLayerObj($map);
$parcelLayer->set("connectiontype", MS_POSTGIS);
$parcelLayer->set("name", "parcels");

$connector = "user=web dbname=districts host=localhost";
$parcelLayer->set("connection", $connector);

$sql = "the_geom from hbDistrict.parcels";
$parcelLayer->set("data", $sql);
$parcelLayer->set("status", MS_DEFAULT);
$parcelLayer->set("type", MS_LAYER_POLYGON);
<Mapscript - end>

<Error - begin>
Warning: [MapServer Error]: prepare_database(): Error executing POSTGIS DECLARE (the actual query) statement: 
'DECLARE mycursor BINARY CURSOR FOR SELECT asbinary(force_collection(force_2d(the_geom)),'NDR'),gid::text from hbDistrict.parcels WHERE the_geom && setSRID('BOX3D(-180 -90,180 90)'::BOX3D, find_srid('','hbDistrict.parcels','the_geom') )' Postgresql reports the error as 'ERROR: function force_2d(hbDistrict.geometry) does not exist LINE 1: ...INARY CURSOR FOR SELECT asbinary(force_collection(force_2d(t... ^ HINT: No function matches the given name and argument types. You may need to add explicit type casts. ' More Help: Error with POSTGIS data variable. You specified 'check your .map file'. Standard ways of specifiying are : (1) 'geometry_column from geometry_table' (2) 'geometry_column from (sub query) as foo using unique column name using SRID=srid#' Make sure you put in the 'using unique column name' and 'using SRID=#' clauses in.
<Error - end>

I have a database called districts, a schema called hbDistrict and a table called parcels.  I cannot set the search_path by using the data variable with "the_geom from hbDistrict.parcels".  I have created another database called test.  This database is created without schema's (public schema).  The data variable "the_geom from parcels" works (by works, I mean no errors).

bm


-----Original Message-----
From: Barend Köbben [mailto:kobben at itc.nl] 
Sent: Monday, 3 September 2007 2:08 p.m.
To: Terence Maru
Subject: Re: [UMN_MAPSERVER-USERS] postgis schema

Just use the normal SQL 'prefixing' where eg. public.mytable is the table in the public schema, or myschema.mytable the same in another schema...


__
Barend Köbben
International Institute for Geo-information Sciences and Earth Observation (ITC) PO Box 6, 7500AA Enschede (The Netherlands)
ph: +31 (0)53 4874253; fax: +31 (0)53 4874335



On 03-09-2007 03:50, "Terence Maru" <terence at WAIROADC.GOVT.NZ> wrote:

> Hi all, im trying to connect to a postgres/postgis database.  The
> connection process defines the database to connect to.  The data
> variable defines the table and column (the_geom) to connect to.  How do
> I tell mapserver to use a certain schema?  Thanks.
>  
> bm
> 
> ##############################################################################
> #######
> This e-mail message has been scanned for Viruses by McAfee and content has
> been cleared by MailMarshal
> ##############################################################################
> #######

#####################################################################################
This e-mail message has been scanned for Viruses by McAfee and content has
been cleared by MailMarshal
#####################################################################################



More information about the MapServer-users mailing list