Simple Features (officially Simple Feature Access) is a set of standards that specify a common storage and access model of
geographic features
In geography and particularly in geographic information science, a geographic feature or simply feature (also called an object or entity) is a representation of phenomenon that exists at a location in the space and scale of relevance to geography ...
made of mostly two-dimensional geometries (point, line, polygon, multi-point, multi-line, etc.) used by
geographic databases and
geographic information system
A geographic information system (GIS) consists of integrated computer hardware and Geographic information system software, software that store, manage, Spatial analysis, analyze, edit, output, and Cartographic design, visualize Geographic data ...
s.
It is formalized by both the
Open Geospatial Consortium
The Open Geospatial Consortium (OGC) is an international voluntary consensus standards organization that develops and maintains international standards for geospatial content and location-based services, sensor web, Internet of Things, Geographi ...
(OGC) and the
International Organization for Standardization
The International Organization for Standardization (ISO ; ; ) is an independent, non-governmental, international standard development organization composed of representatives from the national standards organizations of member countries.
M ...
(ISO).
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 of
classes; this part also defines
representation of geometry in text and binary forms. Part 2 of the standard, ISO 19125-2 (SFA-SQL), defines a "SQL/MM"
language binding
In programming and software design, a binding is an application programming interface (API) that provides glue code specifically made to allow a programming language to use a foreign library or operating system service (one that is not native to ...
API for
SQL
Structured Query Language (SQL) (pronounced ''S-Q-L''; or alternatively as "sequel")
is a domain-specific language used to manage data, especially in a relational database management system (RDBMS). It is particularly useful in handling s ...
under the prefix "ST_".
The
open access
Open access (OA) is a set of principles and a range of practices through which nominally copyrightable publications are delivered to readers free of access charges or other barriers. With open access strictly defined (according to the 2001 de ...
OGC standards cover additionally APIs for
CORBA
The Common Object Request Broker Architecture (CORBA) is a standard defined by the Object Management Group (OMG) designed to facilitate the communication of systems that are deployed on diverse platforms. CORBA enables collaboration between sy ...
and
OLE
OLE, Ole or Olé may refer to:
* Olé, a cheering expression used in Spain
* Ole (name), a male given name, includes a list of people named Ole
* Overhead lines equipment, used to transmit electrical energy to trams, trolleybuses or trains
Co ...
/
COM, although these have lagged behind the SQL one and are not standardized by ISO. There are also adaptations to other languages covered below.
The ISO/IEC 13249-3
SQL/MM Spatial extends the Simple Features data model, originally based on
straight-line segment
In geometry, a line segment is a part of a straight line that is bounded by two distinct endpoints (its extreme points), and contains every point on the line that is between its endpoints. It is a special case of an '' arc'', with zero curvatu ...
s, adding
circular interpolation
Circular may refer to:
* The shape of a circle
* ''Circular'' (album), a 2006 album by Spanish singer Vega
* Circular letter (disambiguation), a document addressed to many destinations
** Government circular, a written statement of government pol ...
s (e.g.
circular arc
A circular arc is the arc of a circle between a pair of distinct points. If the two points are not directly opposite each other, one of these arcs, the minor arc, subtends an angle at the center of the circle that is less than radians (180 ...
s) and other features like coordinate transformations and methods for validating geometries, as well as
Geography Markup Language
The Geography Markup Language (GML) is the XML grammar defined by the Open Geospatial Consortium (OGC) to express geographical features. GML serves as a modeling language for geographic systems as well as an open interchange format for geographic ...
support.
[
]
Details
Part 1
The geometries are associated with spatial reference system
A spatial reference system (SRS) or coordinate reference system (CRS) is a framework used to precisely measure locations on the surface of Earth as coordinates. It is thus the application of the abstract mathematics of coordinate systems and anal ...
s. The standard also specifies attributes, methods and assertions with the geometries, in the object-oriented
Object-oriented programming (OOP) is a programming paradigm based on the concept of '' objects''. Objects can contain data (called fields, attributes or properties) and have actions they can perform (called procedures or methods and impleme ...
style. In general, a 2D geometry is simple if it contains no self-intersection. The specification defines DE-9IM
The Dimensionally Extended 9-Intersection Model (DE-9IM) is a topological Interpretation (logic), model and a Specification (technical standard), standard used to describe the spatial relations of two regions (two 2D geometric model, geometries ...
spatial predicates and several spatial operators that can be used to generate new geometries from existing geometries.
Part 2
Part 2 is a SQL binding to Part 1, providing a translation of the interface to non-object-oriented environments. For example, instead of a someGeometryObject.isEmpty()
as in Part 1, SQL/MM uses a ST_IsEmpty(...)
function in SQL.
Spatial
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.
Implementations
Direct implementations of Part 2 (SQL/MM) include:
* MySQL
MySQL () is an Open-source software, open-source relational database management system (RDBMS). Its name is a combination of "My", the name of co-founder Michael Widenius's daughter My, and "SQL", the acronym for Structured Query Language. A rel ...
Spatial Extensions. Up to MySQL 5.5, all of the functions that calculate relations between geometries are implemented using bounding box
In geometry, the minimum bounding box or smallest bounding box (also known as the minimum enclosing box or smallest enclosing box) for a point set in dimensions is the box with the smallest measure (area, volume, or hypervolume in higher dime ...
es not the actual geometries.[ Starting from version 5.6, MySQL offers support for precise object shapes.
* MonetDB/GIS extension for ]MonetDB
MonetDB is an open-source column-oriented relational database management system (RDBMS) originally developed at the Centrum Wiskunde & Informatica (CWI) in the Netherlands.
It is designed to provide high performance on complex queries against l ...
.
* PostGIS
PostGIS ( ) is an open source software program that adds support for geographic objects to the PostgreSQL object-relational database. PostGIS follows the Simple Features for SQL specification from the Open Geospatial Consortium (OGC).
PostGIS is ...
extension for PostgreSQL
PostgreSQL ( ) also known as Postgres, is a free and open-source software, free and open-source relational database management system (RDBMS) emphasizing extensibility and SQL compliance. PostgreSQL features transaction processing, transactions ...
, also supporting some of the SQL/MM Spatial features.
* SpatiaLite
SpatiaLite is a spatial extension to SQLite, providing vector geodatabase functionality. It is similar to PostGIS, Oracle Spatial, and SQL Server with spatial extensions, although SQLite/SpatiaLite aren't based on client-server architecture: th ...
extension for SQLite
SQLite ( "S-Q-L-ite", "sequel-ite") is a free and open-source relational database engine written in the C programming language. It is not a standalone app; rather, it is a library that software developers embed in their apps. As such, it ...
* Oracle Spatial
Oracle Spatial and Graph, formerly Oracle Spatial, is a free option component of the Oracle Database. The spatial features in Oracle Spatial and Graph aid users in managing geographic and location-data in a native type within an Oracle database, p ...
, which also implements some of the advanced features from SQL/MM Spatial.
* IBM Db2 Spatial Extender and IBM Informix
Informix is a product family within IBM's Information Management division that is centered on several relational database management system (RDBMS) and multi-model database offerings. The Informix products were originally developed by Infor ...
Spatial DataBlade.[
* ]Microsoft SQL Server
Microsoft SQL Server is a proprietary relational database management system developed by Microsoft using Structured Query Language (SQL, often pronounced "sequel"). As a database server, it is a software product with the primary function of ...
since version 2008,[ with significant additions in the 2012 version.]
* SAP Sybase IQ.
* SAP HANA
SAP HANA (HochleistungsANalyseAnwendung or High-performance ANalytic Application) is an in-memory, column-oriented, relational database management system developed and marketed by SAP SE. Its primary function as the software running a datab ...
as of 1.0 SPS6.
Adaptations include:
* Implementations of the CORBA and OLE/COM interfaces detailed above are mainly produced by commercial vendors maintaining legacy technology.
* R: The sf package implements Simple Features and contains functions that bind to GDAL
The Geospatial Data Abstraction Library (GDAL) is a computer software library for reading and writing raster and vector geospatial data formats (e.g. shapefile), and is released under the permissive X/MIT style free software license by the ...
for reading and writing data, to GEOS for geometrical operations, and to PROJ
In algebraic geometry, Proj is a construction analogous to the spectrum-of-a-ring construction of affine schemes, which produces objects with the typical properties of projective spaces and projective varieties. The construction, while not funct ...
for projection conversions and datum transformations.
* The GDAL
The Geospatial Data Abstraction Library (GDAL) is a computer software library for reading and writing raster and vector geospatial data formats (e.g. shapefile), and is released under the permissive X/MIT style free software license by the ...
library implements the Simple Features data model in its OGR component.
* The Java
Java is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea (a part of Pacific Ocean) to the north. With a population of 156.9 million people (including Madura) in mid 2024, proje ...
-based deegree
The Open Source Geospatial Foundation (OSGeo), is a non-profit non-governmental organization whose mission is to support and promote the collaborative development of open geospatial technologies and data. The foundation was formed in February 20 ...
framework implements SFA (part 1) and various other OGC standards.
* The Rust
Rust is an iron oxide, a usually reddish-brown oxide formed by the reaction of iron and oxygen in the catalytic presence of water or air moisture. Rust consists of hydrous iron(III) oxides (Fe2O3·nH2O) and iron(III) oxide-hydroxide (FeO(OH) ...
librar
geo_types
implements geometry primitives that adhere to the simple feature access standards.
GeoSPARQL
GeoSPARQL is a model for representing and querying geospatial linked data for the Semantic Web. It is standardized by the Open Geospatial Consortium as OGC GeoSPARQL. The definition of a small ontology based on well-understood OGC standards is inte ...
is an OGC standard that is intended to allow geospatially-linked data
In computing, linked data is structured data which is interlinked with other data so it becomes more useful through semantic queries. It builds upon standard Web technologies such as HTTP, RDF and URIs, but rather than using them to serve web ...
representation and querying based on RDF and SPARQL
SPARQL (pronounced ":wikt:sparkle, sparkle", a recursive acronym for SPARQL Protocol and RDF Query Language) is an RDF query language—that is, a Semantic Query, semantic query language for databases—able to retrieve and manipulate data sto ...
by defining an ontology
Ontology is the philosophical study of existence, being. It is traditionally understood as the subdiscipline of metaphysics focused on the most general features of reality. As one of the most fundamental concepts, being encompasses all of realit ...
for geospatial reasoning supporting a small Simple Features (as well as DE-9IM
The Dimensionally Extended 9-Intersection Model (DE-9IM) is a topological Interpretation (logic), model and a Specification (technical standard), standard used to describe the spatial relations of two regions (two 2D geometric model, geometries ...
and RCC8) RDFS
RDF Schema (Resource Description Framework Schema, variously abbreviated as RDFS, , RDF-S, or RDF/S) is a set of classes with certain properties using the RDF extensible knowledge representation data model, providing basic elements for the descr ...
/OWL
Owls are birds from the order Strigiformes (), which includes over 200 species of mostly solitary and nocturnal birds of prey typified by an upright stance, a large, broad head, binocular vision, binaural hearing, sharp talons, and feathers a ...
vocabulary for GML and WKT literals.
As of 2012, various NoSQL
NoSQL (originally meaning "Not only SQL" or "non-relational") refers to a type of database design that stores and retrieves data differently from the traditional table-based structure of relational databases. Unlike relational databases, which ...
databases had very limited support for "anything more complex than a bounding box or proximity search".
See also
* DE-9IM
The Dimensionally Extended 9-Intersection Model (DE-9IM) is a topological Interpretation (logic), model and a Specification (technical standard), standard used to describe the spatial relations of two regions (two 2D geometric model, geometries ...
* Well-known text
* Well-known binary
Well-known text (WKT) is a text markup language for representing Vector graphics, vector geometry objects. A Binary file, binary equivalent, known as well-known binary (WKB), is used to transfer and store the same information in a more compact for ...
References
External links
Simple Features SWG
Standard documents
* ISO/IEC:
*
** ttp://www.iso.org/iso/home/store/catalogue_tc/catalogue_detail.htm?csnumber=40115 ISO 19125-2:2004 Geographic information -- Simple feature access -- Part 2: SQL option* OpenGIS
*
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 mplementation Specificationfor 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
{{ISO standards
Geographic information systems
Open Geospatial Consortium
ISO/TC 211
Spatial database management systems