3

When I look at the SDE.ST_GEOMETRY_COLUMNS table of my SDE database I'm seeing mostly recognizable four-digit values, but a number of columns have SRIDs like 300006, 300008, and 300047. I can't find descriptions of these anywhere and they aren't recognized when I use an open-source library like Proj4 to transform geometries. Does anyone know what these signify?

4

An Esri SRID is not the same thing as a coordinate reference ID. Esri uses an integer compression algorithm to improve geometry performance, and the spatial reference parameters provide the rules for this compression (there's a whole whitepaper on how coordinate references are implemented). The SRIDs are therefore site-specific versions of the metadata associated with as-built geometry layers, and are not to be used as a coordinate system id.

Coordinate system identifiers for the ArcSDE Oracle implementation are stored as both text and well-known ids in the sde.ST_SPATIAL_REFERENCES table, in the DEFINITION and CS_ID columns, respectively. In PostgreSQL, the spatial references are stored in public.sde_spatial_references, in the columns srtext and cs_id, respectively. The SRID from sde.layers and sde.st_geometry_columns is the foreign key into the spatial references table.

  • Thanks Vince, that makes a lot more sense. I'm still a little puzzled that those would be returned by the SDE.ST_SRID function rather than the more canonical coordinate system ID. I don't always have permissions to select from sde, so I'm not sure how to reliably translate the Esri SRID to an EPSG-style ID. – Rob May 13 '16 at 16:49
  • 1
    SDE.ST_SRID predated the canonical use of CR ids. The spatial references table has PUBLIC access, so you should be able to join to it on srid to return CS_ID. – Vince May 13 '16 at 18:00

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.