ESRI protocols and programming interfaces
ArcGIS supports a number of ESRI's data formats, which are described here.
Shapefiles
A shapefile is a data file format for storing points, lines, polygons, and associated attribute information. This is a very simple, openly published format defined and supported by ESRI—originally for use in ArcView 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.
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 simple 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 a SQL spatial data type. This provides full geodatabase support and access as well as a SQL interface to feature class geometry. This enables you to write SQL applications to your DBMS that 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 that 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, refer to How geodatabases are stored in a DBMS.
ArcGIS Server SOAP and REST APIs for Web programming
Among its many capabilities, ArcGIS Server is used to publish a range of GIS-based Web services, for example:
- Map services
- 3D globe services
- Geodata services
- Image services
Each ArcGIS Web service can support a set of corresponding application programming interfaces for both SOAP XML and for REST programming with JavaScript, Adobe Flex, and Microsoft Silverlight.
For information about the SOAP XML programming interfaces to ArcGIS Server, see Working with the ArcGIS Server SOAP API.
For information about using REST API and JavaScript, see Working with the ArcGIS Server REST API.