feature-id in getfeatureinfo requests

Richard Duivenvoorde rdmailings at DUIF.NET
Mon Feb 5 08:55:39 PST 2007


Thanks Daniel,
but
Nope, tried and failed :-(

Maybe it has something to do with the way I created the table:

CREATE TABLE testpoints
(
   waarnemer character varying(40),
   plaats character varying(40),
   soort character varying(40),
   aantal integer,
   aantal2 character varying(40),
   opmerking character varying(200),
   the_geom geometry,
   CONSTRAINT testpoints_pkey PRIMARY KEY (oid),
   CONSTRAINT enforce_dims_the_geom CHECK (ndims(the_geom) = 2),
   CONSTRAINT enforce_geotype_the_geom CHECK (geometrytype(the_geom) = 
'POINT'::text OR the_geom IS NULL),
   CONSTRAINT enforce_srid_the_geom CHECK (srid(the_geom) = 28992)
)
WITH OIDS;
ALTER TABLE testpoints OWNER TO postgres;

I wanted to have a table in which I had an auto incrementing id-column. 
This was the way to do that (according to mr Google :-) )

If I look at the table with pgAdmin III there is a column 'oid' with the 
id's in it. If I look with QGIS there is a column 'id'...

But if I do:
SELECT
	a.attnum,
	a.attname AS field,
	t.typname AS type,
	a.attlen AS length,
	a.atttypmod AS lengthvar,
	a.attnotnull AS notnull
FROM
	pg_class c,
	pg_attribute a,
	pg_type t
WHERE
	c.relname = 'testpoints'
	and a.attnum > 0
	and a.attrelid = c.oid
	and a.atttypid = t.oid
ORDER BY a.attnum

I don't see the oid column either....

It probably has something to do with the special meaning of an oid 
column in postgresql???

I will try to update my mapserver to the newest version (working with 
4.8.3 now...) and see if that works.
Other solution: add my own id's of use a sequence instead of this 
autoincrementing... Any postgresql guru's around?


Thanks, Richard


Daniel Morissette wrote:
> Or pehaps try
> 
> METADATA
>    "gml_featureid" "_index"
> END
> 
> as suggested in bug 1413, comment #1:
> http://mapserver.gis.umn.edu/bugs/show_bug.cgi?id=1413#c1
> 
> I don't think this is mentioned anywhere in the docs, if this really 
> works then a note about this should be added to the gml_featureid defn' 
> at 
> http://mapserver.gis.umn.edu/docs/howto/wfs_server/?searchterm=gml_featureid 
> 
> 
> Daniel
> 
> 
> 
> Bart van den Eijnden (OSGIS) wrote:
>> Ah right, and how about:
>>
>> gml_featureid "oid"
>>
>> ?
>>
>> If this does not work, can you post your DATA statement?
>>
>> Best regards,
>> Bart
>>
>> -- 
>> Bart van den Eijnden
>> OSGIS, Open Source GIS
>> http://www.osgis.nl
>>
>>
>> --------- Oorspronkelijk bericht --------
>> Van: Richard Duivenvoorde <rdmailings at duif.net>
>> Naar: Bart van den Eijnden OSGIS <bartvde at OSGIS.NL>,
>> MAPSERVER-USERS at LISTS.UMN.EDU <MAPSERVER-USERS at LISTS.UMN.EDU>
>> Onderwerp: Re: [UMN_MAPSERVER-USERS] feature-id in getfeatureinfo 
>> requests
>> Datum: 05/02/07 13:25
>>
>>> Hi Bart,
>>>
>>> Thanks for the quick response :-)
>>>
>>> I tried that already, but in the text output, I see ALL columns of 
>>> the table (though not the 'oid' as a normal 'attribute') in the 
>>> output. But there is this line:
>>> 'Feature 17246'
>>> Which IS the oid/feature_id....
>>>
>>> In the gml I also receive ALL columns in the output, but NO reference 
>>> to this 17246 oid/feature_id/id...
>>>
>>> I tried all these:
>>>        "ows_include_items" "all"
>>>        "gml_include_items" "all"
>>>        "wms_include_items" "all"
>>> ....
>>>
>>> is the oid-column not an official attribute column or something like 
>>> that?
>>>
>>>
>>> Richard
>>>
>>>
>>> Bart van den Eijnden (OSGIS) wrote:
>>> > Hi Richard,
>>> > > you need to add > > GML_INCLUDE_ITEMS "all"
>>> > > to your LAYER's METADATA section.
>>> > > Best regards,
>>> > Bart
>>> > > --
>>> > Bart van den Eijnden
>>> > OSGIS, Open Source GIS
>>> > http://www.osgis.nl
>>> > > > --------- Oorspronkelijk bericht --------
>>> > Van: Richard Duivenvoorde <rdmailings at DUIF.NET>
>>> > Naar: MAPSERVER-USERS at LISTS.UMN.EDU
>> <MAPSERVER-USERS at LISTS.UMN.EDU>
>>> > Onderwerp: [UMN_MAPSERVER-USERS] feature-id in getfeatureinfo
>> requests
>>> > Datum: 05/02/07 13:01
>>> > >> Hi All,
>>> >>
>>> >> busy using getfeatureinfo from a postgresql/postgis layer.
>>> >>
>>> >> Mapserver version 4.8.3 (...)
>>> >> Postgresql-table is a point table and has a oid column (create
>> script
>>> >> with 'WITH OIDS').
>>> >>
>>> >> I managed to get the getfeatureinfo up and running, but stumble
>> upon the
>>> >> missing (feature)-id in the gml output:
>>> >>
>>> >> When I do an info format of 'text/plain' I'll receive something
>> like:
>>> >>
>>> >> GetFeatureInfo results:
>>> >> Layer 'testpoints'
>>> >>    Feature 17246:
>>> >>      bla = 'zyz'
>>> >>      foo= ''
>>> >>
>>> >> but when i ask for 'application/vnd.ogc.gml' as info format I
>> receive
>>> >> gml without the feature-id (not even as a normal 'oid'
>> property??):
>>> >>
>>> >> &lt;?xml version=&quot;1.0&quot;
>> encoding=&quot;ISO-8859-1&quot;?&gt;
>>> >> &lt;msGMLOutput
>>> >>      xmlns:gml=&quot;http://www.opengis.net/gml&quot;
>>> >>      
>>> xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot;
>>> >>    
>> xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;&gt; 
>>
>>> >>     &lt;testpoints_layer&gt;
>>> >>         &lt;testpoints_feature&gt;
>>> >>             &lt;gml:boundedBy&gt;
>>> >>                 &lt;gml:Box
>> srsName=&quot;EPSG:28992&quot;&gt;            
>>> >> &lt;gml:coordinates&gt;67349.250981,549785.660401 
>>> >> 67349.250981,549785.660401&lt;/gml:coordinates&gt;
>>> >>                 &lt;/gml:Box&gt;
>>> >>             &lt;/gml:boundedBy&gt;
>>> >>             &lt;bla&gt;zyz&lt;/bla&gt;
>>> >>             &lt;foo&gt;&lt;/foo&gt;
>>> >>         &lt;/testpoints_feature&gt;
>>> >>     &lt;/testpoints_layer&gt;
>>> >> &lt;/msGMLOutput&gt;
>>> >>
>>> >> Am I missing some metadata property in my mapfile? I would 
>>> expect
>> either
>>> >> a feature-id attribute in the testpoints_feature element, OR
>> oid-element
>>> >>   as child of the testpoints_feature element.
>>> >>
>>> >> TIA,
>>> >>
>>> >> Richard
>>> >>
>>> >>
>>> > >
>>>
>>>
> 
> 



More information about the MapServer-users mailing list