Esri protocols and programming interfaces
Esri openly publishes and shares a number of its data and web formats. The following is a quick tour of some of these protocols and programming interfaces in ArcGIS that support data interoperability.
GeoServices REST Specification
Esri has developed, and in concert with several other organizations, is promoting the use of the open GeoServices REST Specification. This spec provides a standard way for web clients to communicate with GIS servers through Representational State Transfer (REST) technology. Web services published through ArcGIS for Server conform to this specification.
Shapefiles
A shapefile is a data file format for storing points, lines, polygons, and associated attribute information. This is a very clear, openly published format defined and supported by Esri—originally for use in ArcView GIS 2 and 3. Shapefiles have been widely used for data interchange across heterogeneous systems due to the following:
- Their broad use and adoption by many GIS users and organizations as a data-sharing format
- Their simplicity
The Esri shapefile format specification can be found at http://www.esri.com/library/whitepapers/pdfs/shapefile.pdf.
File Geodatabase API
An open API is available for working with file geodatabases outside of ArcGIS. This enables developers to create geodatabases, read and write data, manage smooth schemas, and to work with queries. See the File Geodatabase API home on the ArcGIS Resource Center for more information.
Geodatabase XML
Geodatabase XML represents Esri's open mechanism for information interchange between geodatabases and other external systems. Esri openly publishes and maintains the complete geodatabase schema and content as an XML specification and provides example implementations to illustrate how users can share data updates between heterogeneous systems.
XML interchange of geospatial information to and from the geodatabase is greatly simplified using the geodatabase XML specification. External applications can receive XML data streams, including these:
- Exchange and sharing of full (as well as portions of) geodatabase schemas between ArcGIS users
- Exchange of complete lossless datasets
- Interchange of basic feature sets (much like shapefile interchange)
- Exchange of change-only (delta) record sets using XML streams to pass updates and changes among geodatabases and other external data structures
Geodatabase XML is the primary interchange mechanism for data sharing among ArcGIS users as well as external users.
To access a white paper on the geodatabase XML schema, see XML Schema of the Geodatabase.
SQL spatial types
ArcSDE geodatabase storage for all DBMSs uses the OGC and ISO standards for an SQL spatial data type. This provides full geodatabase support and access as well as an SQL interface to feature class geometry. This enables you to write SQL applications to your DBMS which you can use to access feature class geometry and perform SQL operations and queries. The spatial type for SQL is supported in all DBMSs for ArcGIS 9.3 and beyond:
- Oracle
- IBM DB2
- IBM Informix
- Microsoft SQL Server
- PostgreSQL
- SQL Server geometry and geography data types
In addition to the SQL storage options provided by ArcGIS in each of these DBMSs, Oracle and PostgreSQL have other options that are supported.
- For Oracle, you can optionally use the spatial type delivered as part of Oracle Spatial and Oracle Locator to store and manage feature geometry.
- For PostgreSQL, you can optionally use the PostGIS SQL type to store and manage feature geometry.
In all geodatabases, you can decide on a feature-class-by-feature-class basis which storage option you want to use from the available types that are supported in each DBMS. A summary of all storage options that are available for each geodatabase is at An overview of feature geometry storage.
For more information on the SQL interface to spatial, see Working with SQL.
Schema for geodatabase storage in Oracle, SQL Server, PostgreSQL, Informix, and DB2
Esri documents how geodatabases are stored in relational tables in each DBMS. It also describes how ArcGIS utilizes OGC and ISO simple features and how feature and raster geometry are stored in each DBMS. This includes a description of ArcGIS support for ISO/OGC spatial types in various DBMSs.
For more information, see How geodatabases are stored in a DBMS.