One of the most interesting announcements made at the Esri UC was that support for native read/write access to spatial databases, without ArcSDE, will be coming at ArcGIS 10.1. This is exciting because it will make it easier to view, edit, and publish spatial data that’s managed outside of Geodatabase and ArcSDE databases. With thanks to some investigative journalism from James Fee, I’d like to look at the enhancements in a little more detail.
What is it?
The new capabilities are mediated by a lightweight server, the Spatial Data Server, which connects to mainstream databases (the slides mention Oracle, SQL Server, DB2, and PostGIS, and the plenary suggests Netezza is also in the mix). The server then exposes basic spatial and non-spatial data to ArcGIS tools and web clients using a REST API. While details are scarce (but see below), evidence suggests this API is the same Feature Service introduced at 10.0.
The upshot? ArcGIS 10.1 allows you view and edit this data from its desktop and web clients, as well as publish it with ArcGIS Server, as long as you have any ArcGIS Server license.
Relationship to ArcSDE
ArcGIS has long been able to store spatial data in the major database systems via a technology called ArcSDE. ArcSDE adds an abstraction layer on top of existing databases (spatial or non-spatial) to provide a consistent spatial store. Data is then accessible within ArcGIS tools via a two- or three-tier architecture (direct database access or mediation via an application server). While ArcSDE has adapted to accommodate databases’ native spatial types as they’ve been introduced, the extra abstraction makes it more difficult to integrate with other software using the database.
Related 3rd Party Solutions
The desire for direct access to spatial databases within ArcGIS — especially for editing — isn’t new, and a few third party solutions have been created to fill the void. zigGIS, which has filled this gap for PostGIS, is leaving the market on the news of built-in support in ArcGIS 10.1. Other solutions (e.g. PgMap for PostGIS and QMap for SQL Server) remain.
Relationship to Query Layers
If you just care about reading data, you don’t have to wait for 10.1. ArcGIS 10.0 includes Query Layers, which delivers on a simple promise: “write a [SQL] query, get a layer” (see the video). If you’re comfortable with SQL, you’ll find Query Layers easy and effective.
For more information…
From a thread on the ArcGIS forums, we learn there’s a blog post with full details for those in the beta program. Wanting to preserve my ability to write this blog post, I haven’t sought it out, but I imagine it sheds significantly more light than my notes here. Finally, Twitter yielded an important clue; a beta server is available with samples and documentation.
Query Layers and Spatial Data Server, along with the recently released File Geodatabase API, continue a trend of increasing interoperability for basic geometric data within ArcGIS. Have these new tools changed how you work with spatial data in ArcGIS? Do you expect they will in the future?