Simple Features (officially Simple Feature Access) is a set of standards that specify a common storage and access model of geographic feature made of mostly two-dimensional geometries (point, line, polygon, multi-point, multi-line, etc.) used by geographic information systems. Is is formalized by both the Open Geospatial Consortium (OGC) and the International Organization for Standardization (ISO).
The ISO 19125 standard comes in two parts. Part one, 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 of classes; this part also defines representation of geometry in text (WKT) and binary (WKB) forms. Part 2 of the standard, ISO 19125-2 (SFA-SQL), defines an implementation using SQL. The OGC standards cover additionally implementations in CORBA and OLE/COM, although these have lagged behind the SQL one and are not standardized by ISO.
The ISO/IEC 13249-3 SQL/MM Spatial extends the Simple Features data model mainly with circular interpolations (e.g. circular arcs) and adds other features like coordinate transformations and methods for validating geometries as well as Geography Markup Language support.
- OpenGIS Implementation Specification for Geographic information - Simple feature access - Part 1: Common architecture (05-126, 06-103r3, 06-103r4), current version 1.2.1
- OpenGIS Simple Feature Access - Part 2: SQL Option (99-054, 05-134, 06-104r3, 06-104r4), current version 1.2.1, formerly OpenGIS Simple Features [Implementation Specification] for SQL
- OpenGIS Simple Features Implementation Specification for CORBA (99-054), current version 1.0
- OpenGIS Simple Features Implementation Specification for OLE/COM (99-050), current version 1.1
Part 1 details
The geometries are also associated with spatial reference systems. The standard also specifies attributes, methods and assertions with the geometries. In general, a 2D geometry is simple if it contains no self-intersection. The specification defines DE-9IM spatial predicates and several spatial operators that can be used to generate new geometries from existing geometries.
Part 2 of Simple Feature Access is implemented to varying degrees in:
- The sf package implements for Simple Features for R and contains functions that bind to GDAL for reading and writing data, to GEOS for geometrical operations, and to Proj.4 for projection conversions and datum transformations.
- MySQL Spatial Extensions. Up to MySQL 5.5, all of the functions that calculate relations between geometries are implemented using bounding boxes not the actual geometries. Starting from version 5.6, MySQL offers support for precise object shapes.
- MonetDB/GIS extension for MonetDB.
- PostGIS extension for PostgreSQL, also supporting some of the SQL/MM Spatial features.
- SpatiaLite extension for SQLite
- Oracle Spatial, which also implements some of the advanced features from SQL/MM Spatial.
- IBM DB2 Spatial Extender and IBM Informix Spatial DataBlade.
- Microsoft SQL Server since version 2008, with significant additions in the 2012 version.
- SAP Sybase IQ.
- SAP HANA as of 1.0 SPS6.
GeoSPARQL is an OGC standard that is intended to allow geospatially-linked data representation and querying based on RDF and SPARQL by defining an ontology for geospatial reasoning supporting a small Simple Features (as well as DE-9IM and RCC8) RDFS/OWL vocabulary for GML and WKT literals.
As of 2012, various NoSQL databases had very limited support for "anything more complex than a bounding box or proximity search".