Hi all-
I'm having an issue when using the oracle spatial plugin. There are 2
rows in my table that when selected from the WFS fail to return any
point/shape information. This happens on even a simple WFS getFeature
filtered by ID, like below. One OBJECTID value is working and
returning all 6 columns from my table, while the same request for
another OBJECTID is returning only 5 columns, always excluding the
SHAPE/spatial column.
<wfs:GetFeature service="WFS" version="1.1.0"
xmlns:myns="http://my.url" xmlns:wfs="http://www.opengis.net/wfs"
xmlns:ogc="http://www.opengis.net/ogc"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.opengis.net/wfs
http://schemas.opengis.net/wfs/1.1.0/wfs.xsd">
<wfs:Query typeName="myns:FEATURE_NAME">
<ogc:Filter>
<ogc:PropertyIsEqualTo>
<ogc:PropertyName>OBJECTID</ogc:PropertyName>
<ogc:Literal>716</ogc:Literal>
</ogc:PropertyIsEqualTo>
</ogc:Filter>
</wfs:Query>
</wfs:GetFeature>
I turned on verbose logging and tracked the logic down to the oracle
spatial plugin.
"28 May 16:39:43 DEBUG [data.oracle] - About to create Geometry
convertor for FEATURE_NAME.SHAPE"
I'd like to step through the source to try and understand what might
be different about the 2 "bad" rows versus the others, but I have no
clue where to obtain the source code. Any advice on source code
location or possible solutions to the problem at hand would be
appreciated.
Thanks!
Sarah
Sarah Haskins ha scritto:
Hi all-
I'm having an issue when using the oracle spatial plugin. There are 2
rows in my table that when selected from the WFS fail to return any
point/shape information. This happens on even a simple WFS getFeature
filtered by ID, like below. One OBJECTID value is working and
returning all 6 columns from my table, while the same request for
another OBJECTID is returning only 5 columns, always excluding the
SHAPE/spatial column.
<wfs:GetFeature service="WFS" version="1.1.0"
xmlns:myns="http://my.url" xmlns:wfs="http://www.opengis.net/wfs"
xmlns:ogc="http://www.opengis.net/ogc"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.opengis.net/wfs
http://schemas.opengis.net/wfs/1.1.0/wfs.xsd">
<wfs:Query typeName="myns:FEATURE_NAME">
<ogc:Filter>
<ogc:PropertyIsEqualTo>
<ogc:PropertyName>OBJECTID</ogc:PropertyName>
<ogc:Literal>716</ogc:Literal>
</ogc:PropertyIsEqualTo>
</ogc:Filter>
</wfs:Query>
</wfs:GetFeature>
I turned on verbose logging and tracked the logic down to the oracle
spatial plugin.
"28 May 16:39:43 DEBUG [data.oracle] - About to create Geometry
convertor for FEATURE_NAME.SHAPE"
I'd like to step through the source to try and understand what might
be different about the 2 "bad" rows versus the others, but I have no
clue where to obtain the source code. Any advice on source code
location or possible solutions to the problem at hand would be
appreciated.
The source code of the datastores is part of the GeoTools project.
You can get the full sources here:
https://sourceforge.net/project/showfiles.php?group_id=4091&package_id=95639
You'll find the oracle-spatial datastore in modules/unsupported/oracle-spatial. The module is indeed dead, no more
development is being done on it.
A new group of datastores is being developed that will replace
all of the old jdbc datastores. You can find it still in unsupported
land just because it still lacks a couple of features in order
to fully replace the best jdbc datastore we have, the postgis one.
I suggest you try out oracle-ng, and if that does not work, have
a look into modules/unsupported/jdbc-ng/jdbc-oracle
Cheers
Andrea
--
Andrea Aime
OpenGeo - http://opengeo.org
Expert service straight from the developers.
Sarah Haskins wrote:
I'm having an issue when using the oracle spatial plugin. There are 2
rows in my table that when selected from the WFS fail to return any
point/shape information. This happens on even a simple WFS getFeature
filtered by ID, like below. One OBJECTID value is working and
returning all 6 columns from my table, while the same request for
another OBJECTID is returning only 5 columns, always excluding the
SHAPE/spatial column.
Could SHAPE be NULL?
SELECT SHAPE FROM FEATURE_NAME WHERE OBJECTID = 716;
SELECT COUNT(1) FROM FEATURE_NAME WHERE SHAPE IS NULL;
--
Ben Caradoc-Davies <Ben.Caradoc-Davies@anonymised.com>
Software Engineer, CSIRO Exploration and Mining
Australian Resources Research Centre
26 Dick Perry Ave, Kensington WA 6151, Australia
Ha. Good question. I can see SHAPE data when I execute a SQL select.
I can also see the geometry in ArcMap. So I think it's good in that
regard. And I know the table is indexed properly since other rows are
returning fine. I'm going to dig into the source and see what's up.
I'll post back with findings.
On Fri, May 29, 2009 at 12:46 AM, Ben Caradoc-Davies
<Ben.Caradoc-Davies@anonymised.com> wrote:
Sarah Haskins wrote:
I'm having an issue when using the oracle spatial plugin. There are 2
rows in my table that when selected from the WFS fail to return any
point/shape information. This happens on even a simple WFS getFeature
filtered by ID, like below. One OBJECTID value is working and
returning all 6 columns from my table, while the same request for
another OBJECTID is returning only 5 columns, always excluding the
SHAPE/spatial column.
Could SHAPE be NULL?
SELECT SHAPE FROM FEATURE_NAME WHERE OBJECTID = 716;
SELECT COUNT(1) FROM FEATURE_NAME WHERE SHAPE IS NULL;
--
Ben Caradoc-Davies <Ben.Caradoc-Davies@anonymised.com>
Software Engineer, CSIRO Exploration and Mining
Australian Resources Research Centre
26 Dick Perry Ave, Kensington WA 6151, Australia
I figured it out. Those 2 rows are of type Compound Line String (as
indicated by the Elem Info returned from Oracle). According to
ETYPE.java and the SDO.java, this type (ETYPE.COMPOUND) is not
supported. Makes sense, but I wish there'd been some logging to
indicate it was skipping my geometry. If the same rules apply to NG,
it'd be great to include that logging.
Thanks for helping me find the source so I could figure this out.
On Thu, May 28, 2009 at 4:51 PM, Andrea Aime <aaime@anonymised.com> wrote:
Sarah Haskins ha scritto:
Hi all-
I'm having an issue when using the oracle spatial plugin. There are 2
rows in my table that when selected from the WFS fail to return any
point/shape information. This happens on even a simple WFS getFeature
filtered by ID, like below. One OBJECTID value is working and
returning all 6 columns from my table, while the same request for
another OBJECTID is returning only 5 columns, always excluding the
SHAPE/spatial column.
<wfs:GetFeature service="WFS" version="1.1.0"
xmlns:myns="http://my.url" xmlns:wfs="http://www.opengis.net/wfs"
xmlns:ogc="http://www.opengis.net/ogc"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.opengis.net/wfs
http://schemas.opengis.net/wfs/1.1.0/wfs.xsd">
<wfs:Query typeName="myns:FEATURE_NAME">
<ogc:Filter>
<ogc:PropertyIsEqualTo>
<ogc:PropertyName>OBJECTID</ogc:PropertyName>
<ogc:Literal>716</ogc:Literal>
</ogc:PropertyIsEqualTo>
</ogc:Filter>
</wfs:Query>
</wfs:GetFeature>
I turned on verbose logging and tracked the logic down to the oracle
spatial plugin.
"28 May 16:39:43 DEBUG [data.oracle] - About to create Geometry
convertor for FEATURE_NAME.SHAPE"
I'd like to step through the source to try and understand what might
be different about the 2 "bad" rows versus the others, but I have no
clue where to obtain the source code. Any advice on source code
location or possible solutions to the problem at hand would be
appreciated.
The source code of the datastores is part of the GeoTools project.
You can get the full sources here:
https://sourceforge.net/project/showfiles.php?group_id=4091&package_id=95639
You'll find the oracle-spatial datastore in
modules/unsupported/oracle-spatial. The module is indeed dead, no more
development is being done on it.
A new group of datastores is being developed that will replace
all of the old jdbc datastores. You can find it still in unsupported
land just because it still lacks a couple of features in order
to fully replace the best jdbc datastore we have, the postgis one.
I suggest you try out oracle-ng, and if that does not work, have
a look into modules/unsupported/jdbc-ng/jdbc-oracle
Cheers
Andrea
--
Andrea Aime
OpenGeo - http://opengeo.org
Expert service straight from the developers.
Sarah Haskins ha scritto:
I figured it out. Those 2 rows are of type Compound Line String (as
indicated by the Elem Info returned from Oracle). According to
ETYPE.java and the SDO.java, this type (ETYPE.COMPOUND) is not
supported. Makes sense, but I wish there'd been some logging to
indicate it was skipping my geometry. If the same rules apply to NG,
it'd be great to include that logging.
Yep, they do. Can you open a request on our bug tracker so that
we won't forget about it? jira.codehaus.org
Cheers
Andrea
--
Andrea Aime
OpenGeo - http://opengeo.org
Expert service straight from the developers.
Andrea Aime wrote:
Sarah Haskins ha scritto:
I figured it out. Those 2 rows are of type Compound Line String (as
indicated by the Elem Info returned from Oracle). According to
ETYPE.java and the SDO.java, this type (ETYPE.COMPOUND) is not
supported. Makes sense, but I wish there'd been some logging to
indicate it was skipping my geometry. If the same rules apply to NG,
it'd be great to include that logging.
Yep, they do. Can you open a request on our bug tracker so that
we won't forget about it? jira.codehaus.org
I have created a GeoTools Jira issue for this bug report:
http://jira.codehaus.org/browse/GEOT-2524
Sarah, if you would like to add anything to this report, feel free to comment on the issue. Thanks for taking the time to report your diagnosis of the problem to the list.
Kind regards,
--
Ben Caradoc-Davies <Ben.Caradoc-Davies@anonymised.com>
Software Engineer, CSIRO Exploration and Mining
Australian Resources Research Centre
26 Dick Perry Ave, Kensington WA 6151, Australia