Hi list,
when using a WFS layer in OpenLayers, I am running into the following:
query = [net.opengis.wfs.impl.QueryTypeImpl@anonymised.com (group: null,
propertyName: null, function: null, filter: [ bbox POLYGON
((-662636.524822695 130000, -662636.524822695 790000, 949136.524822695
790000, 949136.524822695 130000, -662636.524822695 130000)) ], sortBy:
null, featureVersion: null, handle: null, srsName: null, typeName:
[{http://www.openplans.org/topp\}KGNAT_DID.KGNAT_SCHETSLAAG_PUNT])]
maxFeatures = null
outputFormat = GML2
resultType = results
traverseXlinkDepth = null
traverseXlinkExpiry = null
10 Jun 15:02:54 ERROR [arcsde.pool] - Command execution failed for Session
3 in thread 25
java.lang.IllegalArgumentException: When querying against a spatial column,
your property name must match the spatial column name.You used '', but the
DB's spatial column name is 'SHAPE'
Why does Geoserver require the name of the spatial attribute on a WFS
GetGeature GET request with a BBOX? I can't find this requirement in the
OGC spec.
TIA.
Best regards,
Bart
Hi Bart,
Looks like you probably uncovered a bug. What backend data source are you using? Also, is there any chance you are using firebug? If you could include the request that that OL is sending that would be helpful as well.
Thanks,
-Justin
bartvde@anonymised.com wrote:
Hi list,
when using a WFS layer in OpenLayers, I am running into the following:
query = [net.opengis.wfs.impl.QueryTypeImpl@anonymised.com (group: null,
propertyName: null, function: null, filter: [ bbox POLYGON
((-662636.524822695 130000, -662636.524822695 790000, 949136.524822695
790000, 949136.524822695 130000, -662636.524822695 130000)) ], sortBy:
null, featureVersion: null, handle: null, srsName: null, typeName:
[{http://www.openplans.org/topp\}KGNAT_DID.KGNAT_SCHETSLAAG_PUNT])]
maxFeatures = null
outputFormat = GML2
resultType = results
traverseXlinkDepth = null
traverseXlinkExpiry = null
10 Jun 15:02:54 ERROR [arcsde.pool] - Command execution failed for Session
3 in thread 25
java.lang.IllegalArgumentException: When querying against a spatial column,
your property name must match the spatial column name.You used '', but the
DB's spatial column name is 'SHAPE'
Why does Geoserver require the name of the spatial attribute on a WFS
GetGeature GET request with a BBOX? I can't find this requirement in the
OGC spec.
TIA.
Best regards,
Bart
-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
_______________________________________________
Geoserver-users mailing list
Geoserver-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users
!DSPAM:4007,484e7d70295711637810514!
--
Justin Deoliveira
The Open Planning Project
jdeolive@anonymised.com
Hi Justin,
the backend is ArcSDE. The request is a very simple WFS GetFeature in HTTP GET with a BBOX, but I can look it up tomorrow if you really need it.
Best regards,
Bart
Justin Deoliveira wrote:
Hi Bart,
Looks like you probably uncovered a bug. What backend data source are you using? Also, is there any chance you are using firebug? If you could include the request that that OL is sending that would be helpful as well.
Thanks,
-Justin
bartvde@anonymised.com wrote:
Hi list,
when using a WFS layer in OpenLayers, I am running into the following:
query = [net.opengis.wfs.impl.QueryTypeImpl@anonymised.com (group: null,
propertyName: null, function: null, filter: [ bbox POLYGON
((-662636.524822695 130000, -662636.524822695 790000, 949136.524822695
790000, 949136.524822695 130000, -662636.524822695 130000)) ], sortBy:
null, featureVersion: null, handle: null, srsName: null, typeName:
[{http://www.openplans.org/topp\}KGNAT_DID.KGNAT_SCHETSLAAG_PUNT])]
maxFeatures = null
outputFormat = GML2
resultType = results
traverseXlinkDepth = null
traverseXlinkExpiry = null
10 Jun 15:02:54 ERROR [arcsde.pool] - Command execution failed for Session
3 in thread 25
java.lang.IllegalArgumentException: When querying against a spatial column,
your property name must match the spatial column name.You used '', but the
DB's spatial column name is 'SHAPE'
Why does Geoserver require the name of the spatial attribute on a WFS
GetGeature GET request with a BBOX? I can't find this requirement in the
OGC spec.
TIA.
Best regards,
Bart
-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
_______________________________________________
Geoserver-users mailing list
Geoserver-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users
!DSPAM:4007,484e7d70295711637810514!
--
Bart van den Eijnden
OSGIS, Open Source GIS
bartvde@anonymised.com
http://www.osgis.nl
Justin Deoliveira ha scritto:
Hi Bart,
Looks like you probably uncovered a bug. What backend data source are you using? Also, is there any chance you are using firebug? If you could include the request that that OL is sending that would be helpful as well.
I kind of remember something similar for GetFeature GET requests.
The spec does not forces you to specify the geometry, we build a filter
without specifying the geometry letting the datastores handle that,
and probably shapefiles and jdbc datastores are querying the default
geometry, whilst ArcSDE is failing on it...
Yeah, at GetFeatureKvpRequestReader.bboxFilter one can find the following code:
BBOX bboxFilter(QName typeName, Envelope bbox) throws Exception {
FeatureTypeInfo featureTypeInfo = catalog.getFeatureTypeInfo(typeName);
SimpleFeatureType featureType = featureTypeInfo.getFeatureType();
//JD: should this be applied to all geometries?
//String name = featureType.getDefaultGeometry().getLocalName();
//JD: changing to "" so it is
String name = "";
//get the epsg code
String epsgCode = null;
if ( bbox instanceof ReferencedEnvelope ) {
CoordinateReferenceSystem crs = ((ReferencedEnvelope)bbox).getCoordinateReferenceSystem();
if ( crs != null ) {
epsgCode = GML2EncodingUtils.crs(crs);
}
}
return filterFactory.bbox(name, bbox.getMinX(), bbox.getMinY(), bbox.getMaxX(),
bbox.getMaxY(), epsgCode);
}
So yeah, we're building a filter with an empty property name,
the other datastores are copying, ArcSDE is not.
Maybe we should just default to use the default geometry?
Wondering what the datastores are doing inside (using the default
geometry or building a filter that works on all of them
when there is more than one?).
Cheers
Andrea