AW: [Geoserver-devel] Feature Id Format

I know that it works the way you have specified it. But according to the wfs 1.0.0 specification section 13.7.3.1 the typename parameter is optional if a featureid parameter is specified. When there is no typename encoded in the feature id and the typename is missing, how should geoserver know to which datasource the fid applies? That’s why I think it’s reasonable to have a fid format of . (at least when typename is missing). On the other hand, I don’t know how wfs clients would handle this…

-----Ursprüngliche Nachricht-----
Von: Héctor Hugo Barriuso [mailto:hector@anonymised.com]
Gesendet: Dienstag, 25. November 2003 10:45
An: Simon Räss
Betreff: Re: [Geoserver-devel] Feature Id Format

I think the correct query is:

http://localhost:8080/geoserver/GetFeature?TYPENAME=RQS_POINT&FEATUREID=9

So, you are asking for the feature of type RQS_POINT with the id = 9.

It works for me in postGIS when I ask for a feature in a table with its id.

I don’t know if the correct sintax is typename or type_name, so try for the two.

Hope it helps.

----- Original Message -----

From: Simon Räss

To: geoserver-devel@lists.sourceforge.net

Sent: Tuesday, November 25, 2003 10:29 AM

Subject: [Geoserver-devel] Feature Id Format

I send the following request to geoserver:

http://localhost:8080/geoserver/GetFeature?FEATUREID=RQS_POINT.9

I see the point, that the format must be .. But the generated sql statement contains:

WHERE FID=‘RQS_POINT.9’

The FID column is a number, that’s why the above request throws an exception. It should be something like:

select … from RQS_POINT where FID=‘9’ …

Is this a problem of the OracleDataSource or is it the way it is intended to work?

Simon Räss

Shoot, cleaning out my inbox it looks like I forgot to send this...

I know that it works the way you have specified it. But according to the wfs
1.0.0 specification section 13.7.3.1 the typename parameter is optional if a
featureid parameter is specified. When there is no typename encoded in the
feature id and the typename is missing, how should geoserver know to which
datasource the fid applies? That's why I think it's reasonable to have a fid
format of <feature-type-name>.<id> (at least when typename is missing). On
the other hand, I don't know how wfs clients would handle this...

Yeah, we should support it, I'm not a big fan of that particular clause of
the specification, as it forces us to put our feature id's in that format,
when there's nothing in the gml spec that says they need to be way. The
fix is in geotools cvs, and I'm planning on getting a point release out
this week to do that and a few other oracle fixes. If you need it now I
can make a jar for you, or you can roll your own (just do jar xf
geotools.jar, add the SQLEncoderOracle.class from geotools, and jar cf
geotools.jar org/ META-INF/)

  Chris

-----Ursprüngliche Nachricht-----
Von: Héctor Hugo Barriuso [mailto:hector@anonymised.com]
Gesendet: Dienstag, 25. November 2003 10:45
An: Simon Räss
Betreff: Re: [Geoserver-devel] Feature Id Format

I think the correct query is:
http://localhost:8080/geoserver/GetFeature?TYPENAME=RQS_POINT
<http://localhost:8080/geoserver/GetFeature?TYPENAME=RQS_POINT&FEATUREID=9&gt;
&FEATUREID=9
So, you are asking for the feature of type RQS_POINT with the id = 9.
It works for me in postGIS when I ask for a feature in a table with its id.
I don't know if the correct sintax is typename or type_name, so try for the
two.
Hope it helps.

----- Original Message -----
From: <mailto:simon.raess@anonymised.com> Simon Räss
To: <mailto:geoserver-devel@lists.sourceforge.net>
geoserver-devel@lists.sourceforge.net
Sent: Tuesday, November 25, 2003 10:29 AM
Subject: [Geoserver-devel] Feature Id Format

I send the following request to geoserver:
http://localhost:8080/geoserver/GetFeature?FEATUREID=RQS_POINT.9
<http://localhost:8080/geoserver/GetFeature?FEATUREID=RQS_POINT.9&gt;

I see the point, that the format must be <feature-type-name>.<id>. But the
generated sql statement contains:
WHERE FID='RQS_POINT.9'

The FID column is a number, that's why the above request throws an
exception. It should be something like:
select ... from RQS_POINT where FID='9' ...

Is this a problem of the OracleDataSource or is it the way it is intended to
work?

Simon Räss

--