« Southern California Edison Tops Solar Power Capacity Ratings |
Main
| Reducing Paper Flow in Utility Infrastructure Management in St Paul, Minnesota »
Open RESTful Architecture for Geospatial Data Web Services: Accessing Spatial Data with No Programming

Recently the
Free and Open Source Software Learning Centre (FOSSLC) held their annual
Summercamp in Ottawa. Haris Kurtagic and I prepared a presentation on a RESTful implementation of an open API for data access that Haris has developed and that has been implemented by Jason Birch at the City of Nanaimo and by Haris at a Slovenian water company. This
presentation is now on-line at the FOSSLC site including audio, video, and the presentation itself. I've
blogged about this before and Haris and I have published an
article in the on-line journal OSBR.
Parenthetically, one of the really cool things about FOSSLC is that the presentations from Summercamps and other events that they organize are available on line.
Feature Data Object API
A critical guideline for sharing data is to avoid making copies, because as soon as you make a copy, your data maintenance problem becomes much more complicated. The Feature Data Object API (FDO) was developed and designed to help address this problem. FDO is designed to be read/write so that you can not only read data, but you can also modify and update data sources without making copies. FDO is a project of the Open Source Geospatial Foundation (OSGEO).
FDO supports many different types of data stores including shape files, SDF, Oracle Spatial/Locator, SQL Server, MySQL, PostGIS and other spatial data stores.
FDO is fundamentally a C++ API, but it is available in Web programming environments such as PHP, JSP, and .Net/ASP. All of which is fine if you're a programmer.
Open Web-based Spatial Data Access for Non-programmers
But what if you're not a programmer and want to access spatial data on-line ? To begin to address this challenge, at FOSSLC we outlined an open architecture implemented by Haris and based on
REST (Representational State Transfer) that provides web services for geospatial data. The most important feature of this architecture is that because it's REST, all you need to know how to do to access spatial data on-line for both read and write is to write an URL, the string of characters at the top of your browser you use to link to web sites. To be concrete here's an example,
http://maps.nanaimo.ca/data/property/.html?filter_1_and_equal_house=2323&filter_2_and_like_street=Rosstown&count=20&submit=Search
You can choose how you want the data to come back, as HTML, KML, XML, GeoJSON, or PNG just by changing the "html" in the URL.
For example,
http://maps.nanaimo.ca/data/property/.kml?filter_1_and_equal_house=2323&filter_2_and_like_street=Rosstown&count=20&submit=Search
will retrieve KML which will invoke Google Earth.
In the presentation at FOSSLC we provided some examples of RESTful URLs for both the City of Nanaimo (
Nanaimo Geodata) and the water company in Slovenia (
GeoData Site), both of which you can try yourself. For English speakers with no Slovenian I would recommend the Nanaimo site.
May 30, 2009 in Geospatial Open Source | Permalink
Comments
Nice work! I think it is a big issue for a lot of people not having access or being able to work with geodata in a simple way. A Restful API like yours could be a first step to solve that issue.
Do you know if the code is available for testing purposes? It would be great to work with this first shot.
Posted by: Steffen Schuler | Jun 3, 2009 3:58:18 PM
MapGuide.REST is not yet part of OpenSource release. I planed to make some changes before releasing source code. In mean time I can send you binary files. Please contact me at haris @ sl-king.com.
Posted by: Haris Kurtagic | Jun 3, 2009 5:00:43 PM
Post a comment