- One possibility would be basically a cut'n'paste of their existing SQLServer code, with the SQLServer quirks replaced with PostgreSQL quirks, using SDEBINARY as the spatial type.
- Another possibility would be to use the PostGIS spatial objects as the underlying storage mechanism, in the same way ArcSDE supports using SDO_GEOMETRY in Oracle.
- A third possibility would be ESRI implementing their own spatial type in PostgreSQL and then using that.
The ST_GEOMETRY type in ArcSDE 9.1 and up is a native Oracle type (built using the Oracle type-extension mechanism) provided, and recommended, by ESRI for use by ArcSDE.
Why would ESRI do this?
The cynical explanation (get this out of the way first) is that it helps break the growing Oracle momentum in tools supporting SDO_GEOMETRY, and confuses the marketplace further about what the "right type" to use is in Oracle for spatial work.
The practical explanation is that ESRI's ST_GEOMETRY for Oracle implements the same semantics and function signatures as the ST_GEOMETRY objects in DB2 and Informix (coincidentally, also implemented in part by ESRI). This allows ArcSDE to expose a uniform "raw spatial SQL" to clients while still maintaining it's position as the man-in-the-middle of client/server interaction. Adding ST_GEOMETRY further reinforces the "database neutral" aspect of ArcSDE by allowing spatial SQL without exposing the differences between the SDO_GEOMETRY function signatures and the ST_GEOMETRY ones.
So where does that leave PostGIS? Removing the practical excuses for not using PostGIS as the underlying geometry type as fast as possible. We have looked up the function signatures used by ArcSDE and implemented them for the 1.1.7 release.
If anyone on the ArcSDE team reads this and wants to talk about what else is needed to make PostGIS the default geometry type for ArcSDE-on-PostgreSQL, get in touch. We aim to please.

4 comments:
+1
Paul, have you a blog feed? I would have missed this one for a while if James hadn't pointed me to it.
Nevermind. Used the source, I did.
Paul, does this mean ArcGIS 9.2 cannot read SDO_GEOMETRY tables without ArcSDE in between? We've heard different stories here in The Netherlands, but haven't been able to verify as yet.
Bart, ArcGIS can do what is known as "direct connect", though I have heard varying stories about how well it works, or if it works with SDO_GEOMETRY or just geodatabases. I have no direct experience with it.
Post a Comment