From: Saul F. (JIRA) <ji...@co...> - 2006-03-30 21:37:59
|
[ http://jira.codehaus.org/browse/GEOT-803?page=3Dall ] =20 Saul Farber reopened GEOT-803: ------------------------------ I've updated my patch to make SDE-based FID introspection work with the FID= Filter as well as with general getfeatures. It was just a few changes to SQLEncoderSDE and ArcSDEFeatureWriter, and it = leveraged the ArcSDEAttributeType work done in the previous patches. I'm attaching the latest patch, which is a bit cumulative, because I'm work= ing on the 2.1.x branch, rather than the trunk. The motivation for this is= geoserver, and geoserver isn't on the 2.2.x branch yet, so I'm not patichn= g that version of geotools. This patch should work stock against revision 18876 (is that revision keyed= to branch 2.1.x?), so forward-porting it to the trunk should be all that n= eeds to be done. > patch to link geotools FID <-> ArcSDE rowId column > -------------------------------------------------- > > Key: GEOT-803 > URL: http://jira.codehaus.org/browse/GEOT-803 > Project: GeoTools > Type: Improvement > Components: arcsde > Versions: 2.1.2, 2.1.0, 2.1.1 > Environment: ArcSDE 9.0 solaris 8 - Sparc > ArcSDE 9.1 RHEL 3 - AMD64 > Reporter: Saul Farber > Assignee: Gabriel Rold=E1n > Priority: Minor > Fix For: 2.3.M0 > Attachments: sde-rowmanagedFID.patch, sde-rowmanagedFID.v2.patch > > > ArcSDE allows a spatial database table to have "null" geometries. I.e., = it allows the geometry column in a table to have null values...meaning that= a particular spatially-enabled row just doesn't happen to have a geometry = right now. Perhaps it will be be updated later. > The current 2.1.x ArcSDE module simply extracts the featureid of a row (f= eature) from the unique-id of the geometry (SeShape) for that row (feature)= . > Unfortunately, this means that null geometry rows don't get a featureid, = and consequently can't be returned by geotools (fails with "The featureId w= as not fetched" on ArcSDEAttributeReader.java line 270 or so) > I wanted to work with tables that had null geometries, and I knew that Ar= cSDE has a mechanism to communicate that a particular column (attribute) in= a table (featureType) is the "unique-id" column for that table. So I figu= red that that would be a better "guaranteed-unique" featureID candidate, si= nce that's what it's designed for. > This patch adds this functionality, gracefully falling back to the curren= t behavior when no such column is available. --=20 This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira |