The ISO 19125 standard comes in two parts. Part 1, ISO 19125-1 (SFA-CA for "common architecture"), defines a model for two-dimensional simple features, with linear interpolation between vertices, defined in a hierarchy ofclasses; this part also definesrepresentation of geometry in text and binary forms. Part 2 of the standard, ISO 19125-2 (SFA-SQL), defines a "SQL/MM"language binding API forSQL under the prefix "ST_".[1] Theopen access OGC standards cover additionally APIs forCORBA andOLE/COM, although these have lagged behind the SQL one and are not standardized by ISO. There are also adaptations to other languages covered below.
This sectionneeds expansion. You can help byadding to it.(November 2012)
The geometries are associated withspatial reference systems. The standard also specifiesattributes,methods andassertions with the geometries, in theobject-oriented style. In general, a 2D geometry is simple if it contains no self-intersection. The specification definesDE-9IM spatial predicates and several spatial operators that can be used to generate new geometries from existing geometries.
Part 2 is a SQL binding to Part 1, providing a translation of the interface to non-object-oriented environments. For example, instead of asomeGeometryObject.isEmpty() as in Part 1, SQL/MM uses aST_IsEmpty(...) function in SQL.
The spatial extension adds the datatypes "Circularstring", "CompoundCurve", "CurvePolygon", "PolyhedralSurface", the last of which is also included into the OGC standard. It also defines the SQL/MM versions of these types and operations on them.
This sectionneeds expansion. You can help byadding to it.(November 2012)
Direct implementations of Part 2 (SQL/MM) include:
MySQL Spatial Extensions.[2] Up to MySQL 5.5, all of the functions that calculate relations between geometries are implemented usingbounding boxes not the actual geometries.[3] Starting from version 5.6, MySQL offers support for precise object shapes.[4]
Implementations of the CORBA and OLE/COM interfaces detailed above are mainly produced by commercial vendors maintaining legacy technology.
R: The sf package[12] implements Simple Features and contains functions that bind toGDAL for reading and writing data, to GEOS for geometrical operations, and toPROJ for projection conversions and datum transformations.
TheGDAL library implements the Simple Features data model in its OGR component.[13]
TheJava-baseddeegree framework implements SFA (part 1) and various other OGC standards.[14]
TheRust librarygeo_types implements geometry primitives that adhere to the simple feature access standards.[15]
GeoSPARQL is anOGC standard that is intended to allow geospatially-linked data representation and querying based onRDF andSPARQL by defining anontology for geospatial reasoning supporting a small Simple Features (as well asDE-9IM andRCC8)RDFS/OWL vocabulary forGML andWKT literals.[16]
As of 2012, variousNoSQL databases had very limited support for "anything more complex than a bounding box or proximity search".[3]