Simple Features
{{short description|Standard for geographical data}}
{{Use British (Oxford) English|date=December 2011}}
Simple Features (officially Simple Feature Access) is a set of standards that specify a common storage and access model of geographic features made of mostly two-dimensional geometries (point, line, polygon, multi-point, multi-line, etc.) used by geographic databases and geographic information systems.
It 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 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 API for SQL under the prefix "ST_".{{cite book|author1=Wolfgang Kresse|author2=David M. Danko|title=Springer Handbook of Geographic Information|url=https://archive.org/details/springerhandbook00kres|url-access=limited|year=2011|publisher=Springer|isbn=978-3-540-72678-4|pages=[https://archive.org/details/springerhandbook00kres/page/n108 81]–83}} The open access OGC standards cover additionally APIs for CORBA and OLE/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 segments, adding circular interpolations (e.g. circular arcs) and other features like coordinate transformations and methods for validating geometries, as well as Geography Markup Language support.
Details
= Part 1 =
{{expand section|date=November 2012}}
The geometries are associated with spatial reference systems. The standard also specifies attributes, methods and assertions with the geometries, in the object-oriented style. 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 =
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
{{expand section|date=November 2012}}
Direct implementations of Part 2 (SQL/MM) include:
- MySQL Spatial Extensions.{{cite web|url=http://dev.mysql.com/doc/refman/5.1/en/spatial-extensions.html|title=MySQL 5.1 documentation on Spatial extensions|website=mysql.com|access-date=2 April 2018}} 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.{{cite web|url=http://dev.mysql.com/doc/refman/5.6/en/spatial-relation-functions.html|title=MySQL :: MySQL 5.6 Reference Manual :: 12.15.9 Functions That Test Spatial Relations Between Geometry Objects|website=dev.mysql.com|access-date=2 April 2018}}
- MonetDB/GIS extension for MonetDB.{{cite web | url = http://www.monetdb.org/Documentation/Extensions/GIS | title = GeoSpatial - MonetDB | date = 4 March 2014}}
- PostGIS extension for PostgreSQL, also supporting some of the SQL/MM Spatial features.{{cite book|author1=Wolfgang Kresse|author2=David M. Danko|title=Springer Handbook of Geographic Information|url=https://archive.org/details/springerhandbook00kres|url-access=limited|year=2011|publisher=Springer|isbn=978-3-540-72678-4|pages=[https://archive.org/details/springerhandbook00kres/page/n132 105]–106}}
- SpatiaLite extension for SQLite{{cite web|url=https://www.gaia-gis.it/fossil/libspatialite/index|title=SpatiaLite: SpatiaLite|website=www.gaia-gis.it|access-date=2 April 2018}}
- Oracle Spatial, which also implements some of the advanced features from SQL/MM Spatial.{{cite book|author1=Ravikanth V. Kothuri|author2=Euro Beinat|author3=Albert Godfrind|title=Pro Oracle Spatial|url=https://books.google.com/books?id=lznPB1Q397YC&pg=PA65|year=2004|publisher=Apress|isbn=978-1-59059-383-7|page=65}}
- IBM Db2 Spatial Extender and IBM Informix Spatial DataBlade.
- Microsoft SQL Server since version 2008, with significant additions in the 2012 version.{{cite book|author=Alastair Aitchison|title=Pro Spatial with SQL Server 2012|url=https://books.google.com/books?id=NdvJXu7hT8oC&pg=PA21|year=2012|publisher=Apress|isbn=978-1-4302-3491-3|pages=21–23}}
- SAP Sybase IQ.http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.infocenter.dc01964.1602/doc/html/saiq-standards-compatibility-spatial.html SAP Sybase IQ support for spatial data
- SAP HANA as of 1.0 SPS6.http://help.sap.com/saphelp_hanaplatform/helpdata/en/7a/2f4266787c1014a9b6ab6cf937f8ac/content.htm?frameset=/en/7a/2d11d7787c1014ac3a8663250814c2/frameset.htm¤t_toc=/en/99/d10e4fdaaf41588480a43478e840d5/plain.htm&node_id=12 SAP HANA Spatial Reference: Supported Import and Export Formats for Spatial Data
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{{cite web|url=https://cran.r-project.org/package=sf|title=sf: Simple Features for R|first1=Edzer|last1=Pebesma|first2=Roger|last2=Bivand|first3=Ian|last3=Cook|first4=Tim|last4=Keitt|first5=Michael|last5=Sumner|first6=Robin|last6=Lovelace|first7=Hadley|last7=Wickham|first8=Jeroen|last8=Ooms|first9=Etienne|last9=Racine|date=22 March 2018|access-date=2 April 2018|via=R-Packages}} implements Simple Features and contains functions that bind to GDAL for reading and writing data, to GEOS for geometrical operations, and to PROJ for projection conversions and datum transformations.
- The GDAL library implements the Simple Features data model in its OGR component.{{cite web|url=https://gdal.org/faq.html#what-is-this-ogr-stuff|title=FAQ: What is this OGR stuff?|website=www.gdal.org|access-date=2 April 2018}}
- The Java-based deegree framework implements SFA (part 1) and various other OGC standards.{{cite book|author1=Shashi Shekhar|author2=Hui Xiong|title=Encyclopedia of GIS|url=https://books.google.com/books?id=6q2lOfLnwkAC&pg=PA235|year=2007|publisher=Springer|isbn=978-0-387-30858-6|pages=235–236}}
- The Rust library [https://docs.rs/geo-types/latest/geo_types/ geo_types] implements geometry primitives that adhere to the simple feature access standards.{{Cite web |title=geo_types - Rust |url=https://docs.rs/geo-types/latest/geo_types/ |access-date=2023-03-19 |website=docs.rs}}
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.{{cite journal | last1= Battle | first1= Robert | last2= Kolas | first2= Dave | year= 2012 | title= Enabling the Geospatial Semantic Web with Parliament and GeoSPARQL | journal= Semantic Web | volume= 3 | issue= 4 | pages= 355–370 | publisher= IOS Press | doi= 10.3233/SW-2012-0065 | url= http://www.semantic-web-journal.net/sites/default/files/swj176_3.pdf | access-date= 21 November 2012}}
As of 2012, various NoSQL databases had very limited support for "anything more complex than a bounding box or proximity search".{{cite web|url=https://www.e-education.psu.edu/geog583/node/74| title=Penn State Geography 583: Geospatial System Analysis and Design. Databases. |author=Frank Hardisty |date= Fall 2012}}
See also
References
{{reflist}}
External links
- [http://www.opengeospatial.org/projects/groups/sfswg Simple Features SWG]
= Standard documents =
- ISO/IEC:
- [http://www.iso.org/iso/catalogue_detail.htm?csnumber=40114 ISO 19125-1:2004 Geographic information -- Simple feature access -- Part 1: Common architecture]
- [http://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
- [http://www.opengeospatial.org/standards/sfa OpenGIS Implementation Specification for Geographic information - Simple feature access - Part 1: Common architecture (05-126, 06-103r3, 06-103r4)], current version 1.2.1
- [http://www.opengeospatial.org/standards/sfs 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
- [http://www.opengeospatial.org/standards/sfc OpenGIS Simple Features Implementation Specification for CORBA (99-054)], current version 1.0
- [http://www.opengeospatial.org/standards/sfo OpenGIS Simple Features Implementation Specification for OLE/COM (99-050)], current version 1.1
{{Open Geospatial Consortium standards}}
{{ISO standards}}
Category:Geographic information systems