Error on Itemnquery with PostGIS-layer
HarryS
mapcollect at GMX.NET
Tue Aug 21 10:03:39 PDT 2007
I tried what you suggested in Layer definition:
...
DATA "the_geom from name.name"
...
without success (and also map-drawing and search-function with Kamap does
not workd anymore)
I also tried in URL:
http://myServer.com/cgi-bin/Hybrid?&map=/home/Harry/Mapfile/MyMap.map&mode=itemnquery&qlayer=City-Database&qitem='name.name'&qstring='London'
what causes this error on a Debian Linux machine with Mapserver 4.8.3:
prepare_database(): Query error. Error executing POSTGIS DECLARE (the actual
query) statement: 'DECLARE mycursor BINARY CURSOR FOR SELECT
'name.name'::text,asbinary(force_collection(force_2d(the_geom)),'NDR'),gid::text
from name WHERE (London) and (the_geom && setSRID( 'BOX3D(-180 -90,180
90)'::BOX3D,find_srid('','name','the_geom') ))'
Postgresql reports the error as 'FEHLER: Spalte »london« existiert nicht '
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.
For more help, please see http://postgis.refractions.net/documentation/
Mappostgis.c - version of Jan 23/2004.
Harry (still confused...)
Sebastian Walter-2 wrote:
>
> Hi,
>
> just a guess: you could try 'name.name' instead of just 'name'
> (tablename.columnname).
>
> Regards,
> Sebastian
>
> HarryS wrote:
>> How could I add columns to DATA statement ?
>>
>> I think my mistake is in the query-URL:
>>
>> this one works on Windows with shapefile-data but not on Linux with
>> PostGIS
>> (anything else works fine)
>> http://myServer.com/cgi-bin/mapserv?&map=/home/harry/Mapfiles/MyMap.map&mode=itemnquery&qlayer=City-Database&qitem=name&qstring='London'
>>
>> changing the syntax to this (what should be the same than above)
>> http://myServer.com/cgi-bin/mapserv?&map=/home/harry/Mapfiles/MyMap.map&mode=itemnquery&qlayer=City-Database&qitem=name&qstring=('[name]'='London')
>>
>> results in
>>
>> msQueryByAttributes(): Search returned no results. No matching record(s)
>> found.
>>
>> at least no error but 'London' is definetly in the database and I tried
>> with
>> upper case/lower case,...
>>
>> The PostGIS-databasename is 'geonamesallppl' the tablename is 'name' and
>> also the column-name is 'name'.
>>
>> Any ideas what I am doing wrong ??
>>
>> Thx, Harry
>>
>>
>> This is my template-file (if it plays a role)
>>
>> <html>
>> <head><title>Sample Template</title></head>
>> <body>
>> <li> Name is [NAME]
>> <li> Population is [POPULATION]
>> <li> Code is [CODE]
>> <tr>
>> <td>[lrn]</td>
>> <td>[NAME]</td>
>> </tr>
>>
>> </body>
>> </html>
>>
>>
>>
>>
>> Umberto Nicoletti wrote:
>>
>>> Sorry, I meant the DATA statement.
>>>
>>> Umberto
>>>
>>> On 8/21/07, Umberto Nicoletti <umberto.nicoletti at gmail.com> wrote:
>>>
>>>> You probably have to add the columns in the CONNECTION STATEMENT.
>>>>
>>>> Umberto
>>>>
>>>> On 8/21/07, HarryS <mapcollect at gmx.net> wrote:
>>>>
>>>>> this is the layer configuration:
>>>>>
>>>>> LAYER
>>>>> NAME "City-Database"
>>>>> GROUP "Databases"
>>>>> STATUS default
>>>>> DATA "the_geom from name"
>>>>> CONNECTION "user=postgres dbname=geonamesallppl host=localhost
>>>>> port=5432"
>>>>> CONNECTIONTYPE postgis
>>>>> TYPE QUERY
>>>>>
>>>>>
>>>>> CLASS
>>>>> TEMPLATE "template-city.html"
>>>>> NAME "City-Database"
>>>>> END
>>>>>
>>>>> METADATA
>>>>> "queryable" "true"
>>>>> "searchfield" "name"
>>>>> "fields"
>>>>> "name:Name,population:Pop,country:Country,province:Province,CODE:Code"
>>>>> END
>>>>>
>>>>> END
>>>>>
>>>>>
>>>>> Mapserver can render maps using this layer and also searching via
>>>>> KaMap-Frontend works on this layer, only itemnquery via cgi gives me
>>>>>
>>>> the
>>>>
>>>>> above quoted error. I tried using different cases with column names
>>>>>
>>>> (NAME,
>>>>
>>>>> Name, name) but always got same error: ...ERROR: Column »london« does
>>>>>
>>>> not
>>>>
>>>>> exist...
>>>>> This I don't understand because »london« is the querystring and not
>>>>> the
>>>>> column-name.
>>>>>
>>>>> Thanks,
>>>>> Harry
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> Umberto Nicoletti wrote:
>>>>>
>>>>>> Please post the layer configuration for postgis AND check the case of
>>>>>> the column name.
>>>>>> Postgres handles column names with case sensitivity if, at table
>>>>>> creation, the column name was in quotes. In that case you have the
>>>>>> specify the column name with exactly the same case and in quotes;
>>>>>>
>>>> this
>>>>
>>>>>> is most likely the reason.
>>>>>>
>>>>>> HTH,
>>>>>> Umberto
>>>>>>
>>>>>> On 8/21/07, HarryS <mapcollect at gmx.net> wrote:
>>>>>>
>>>>>>> doing this query:
>>>>>>>
>>>>>>>
>>>>>>>
>>>> http://myServer.com/cgi-bin/mapserv?&map=/home/harry/Mapfiles/MyMap.map&mode=itemnquery&qlayer=City-Database&qitem=NAME&qstring='London'
>>>>
>>>>>>> produces this Error:
>>>>>>>
>>>>>>> prepare_database(): Query error. Error executing POSTGIS DECLARE
>>>>>>>
>>>> (the
>>>>
>>>>>>> actual
>>>>>>> query) statement: 'DECLARE mycursor BINARY CURSOR FOR SELECT
>>>>>>>
>>>>>>>
>>>> NAME::text,asbinary(force_collection(force_2d(the_geom)),'NDR'),gid::text
>>>>
>>>>>>> from name WHERE (London) and (the_geom && setSRID( 'BOX3D(-180
>>>>>>>
>>>> -90,180
>>>>
>>>>>>> 90)'::BOX3D,find_srid('','name','the_geom') ))'
>>>>>>>
>>>>>>> Postgresql reports the error as 'FEHLER: Spalte »london« existiert
>>>>>>>
>>>> nicht
>>>>
>>>>>>> '
>>>>>>> (Translation: ERROR: Column »london« does not exist)
>>>>>>>
>>>>>>> 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.
>>>>>>>
>>>>>>> For more help, please see
>>>>>>>
>>>> http://postgis.refractions.net/documentation/
>>>>
>>>>>>> Mappostgis.c - version of Jan 23/2004.
>>>>>>>
>>>>>>>
>>>>>>> If I do the same query on the same layer but using a shapefile
>>>>>>>
>>>> instead of
>>>>
>>>>>>> PostGIS for identical data the query works fine without any errors.
>>>>>>>
>>>> Can
>>>>
>>>>>>> someone point me to my mistake, please ?
>>>>>>>
>>>>>>> Harry Schmidt
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> View this message in context:
>>>>>>>
>>>>>>>
>>>> http://www.nabble.com/Error-on-Itemnquery-with-PostGIS-layer-tf4303941.html#a12250916
>>>>
>>>>>>> Sent from the Mapserver - User mailing list archive at Nabble.com.
>>>>>>>
>>>>>>>
>>>>>>
>>>>> --
>>>>> View this message in context:
>>>>>
>>>> http://www.nabble.com/Error-on-Itemnquery-with-PostGIS-layer-tf4303941.html#a12252666
>>>>
>>>>> Sent from the Mapserver - User mailing list archive at Nabble.com.
>>>>>
>>>>>
>>>
>>
>>
>
>
--
View this message in context: http://www.nabble.com/Error-on-Itemnquery-with-PostGIS-layer-tf4303941.html#a12258926
Sent from the Mapserver - User mailing list archive at Nabble.com.
More information about the MapServer-users
mailing list