When SQL Server's spatial data types were introduced, people asked "Why does every standard method begin with ST" (e.g. STIsEmpty). SQL Server docs always cite the OGC (Open Geospatial Consortium) specifications, but OGC's methods do not begin with ST. Where did it come from?
As far as I can figure the "ST" before every standard method comes from the SQL Multimedia (SQL/MM): Part 3 Spatial spec and stands for spatial-temporal. But SQL/MM prefixes standard methods with "ST_" not "ST". ESRI and IBM's DB2 spatial extender also use "ST_", and DB2 appears to use the convention of leaving the "ST_" off for non-standard methods. Oracle Spatial uses ST as of 10g (see the comments below), as well as "SDO_" for both standard and non-standard methods (stands for Spatial Data Option). Postgres Spatial uses no prefix, a la OGC.
So what's in a naming standard? Apparently, not much. One nice side-affect is that searching for "STBoundary" (no underscore), for example, gets only references to SQL Server spatial.
2 thoughts on “Spatial Methods: What’s with the ‘ST’?”
Oracle, at 10g, released a new type that is a full implementation of the SQL/MM type in the Part 3 Spec. All its methods start with ST_*. See my brief article at http://www.spatialdbadvisor.com/oracle_spatial_tips_tricks/22/oracles-sqlmm-compliant-types/
Oracle, at 10g, released a new spatial type that is a full implementation of SQL/MM Part 3. It uses, as per the standard, the ST_* prefix. See my brief article on this new type system at http://www.spatialdbadvisor.com/oracle_spatial_tips_tricks/22/oracles-sqlmm-compliant-types
I agree about not being able to find any reference on ST_* prefix in the relevant OGC standards: I too have only found reference to it in the SQL/MM Part 3 standard.
Comments are closed.