Geodata management


In this topic


The geodatabase

The cornerstone of any geographic information system (GIS) application is geographic information represented as GIS datasets. ArcGIS for Server for the Java Platform stores and manages GIS data in geodatabases. A geodatabase—short for geographic database—is the core geographic information model used to organize GIS data into thematic layers and spatial representations.
The geodatabase is built on standard relational database management system (DBMS) technology, incorporating ArcSDE as the gateway to the underlying DBMS. ArcGIS supports the following DBMSs:
  • IBM DB2
  • Informix
  • Oracle
  • SQL Server
  • SQL Express for Workgroups
Geodatabase storage includes both the schema and rule base for each geographic dataset plus simple, tabular storage of the spatial and attribute data.
The geodatabase schema includes the definitions, integrity rules, and behavior for each geographic dataset. These include properties for feature classes, topologies, networks, raster catalogs, terrains, relationships, domains, and so forth. The schema is persisted in a collection of geodatabase metatables in the DBMS that defines the integrity and behavior of the geographic information. The spatial representations are most commonly stored as either vector features or as raster datasets along with traditional tabular attributes.
To support the requirements of GIS users, the geodatabase has support for long transactions. Unlike standard database transactions, a long transaction is any transaction that spans a long period of time—from minutes to hours or even days. Examples of long transaction include creating a new subdivision in a parcel database or fixing a collection of topology errors in a dataset.
To support the long transaction requirements of GIS users, the geodatabase extends the standard DBMS transaction model by allowing multiple concurrent states of the databases to coexist. This is referred to as a multiversioned view of the database, or versioning. Versioning extends the basic DBMS transaction model by supporting long units of work (held within a version) that can span multiple connections to the database and extend over a period of weeks or months.
Each version can be used to represent ongoing work such as a design or a plan. Individual datasets in a geodatabase can be versioned. Versioned datasets support editing using an optimistic model that does not acquire locks. Versioning a dataset also allows it to participate in extended transactional workflows, such as history, disconnected editing, and versioned data replication.

The GeodataServer object

To exploit geodatabases and their contents through ArcGIS for Server applications, ArcGIS for Server includes a GeodataServer object. The GeodataServer object provides access to the versions, replicas, and datasets in a geodatabase. You can use GeodataServer in a number of scenarios, including the following:
  • Replica creation and synchronization—The GeodataServer object has methods for creating replicas and for synchronizing the geodatabase with one of its replicas. You can use this capability to create server applications that periodically synchronize a geodatabase with its replicas on a pre-defined schedule. All the logic to copy data changes and incorporate them runs in the GIS server. This can all be orchestrated using Web services.
  • Data extraction and data upload—The GeodataServer object includes methods for extracting data as geodatabase Extensible Markup Language (XML) or a personal geodatabase. The extracted data can be based on attribute or spatial queries. GeodataServer also supports methods for uploading data into the geodatabase. You can use these capabilities to create applications and Web services for distributing data to remote editing clients and to incorporate their changes into the geodatabase.
  • Source of datasets for geoprocessing—GeodataServer can be queried for its datasets as data elements, which can be used as inputs to geoprocessing functions.
  • Data query—The GeodataServer object provides methods for executing attribute and spatial queries that are returned as application configurable sets of records.
  • Database connection pooling—The GeodataServer object is a connection to a geodatabase workspace. You can get the already connected workspace from the GeodataServer. Applications can use this capability to make fine-grained ArcObjects calls against the workspace, and they can also use it as a mechanism for pooling database connections.
You create a GeodataServer object using ArcCatalog or Manager, specifying the geodatabase connection information and other properties of the server object.

Geodata Web services

GeodataServer can be published as a Web service for consumption by ArcGIS for Desktop applications, as well as directly by developers. The methods on IGeodataServer can be called through the GeodataServer Web service. You can use the geoprocessing tools for replica synchronization directly with a geodata server Web service.
The IGeodataServerObjects interface methods are not exposed through Web services.


See Also:

GeodataServer object