I have blogged on previous occasions about the RESTful API for accessing raw geospatial data which Haris Kurtagic developed and which Jason Birch has used to provide open access to geospatial data at the City of Nanaimo, BC. At FOSS4G I gave a presentation on behalf of Haris and Jason, who couldn't make it to Sydney, which announced the creation of the open source GeoREST project (www.geoREST.org).
Open Access to Raw Geospatial Data
The principle of free and open access to government geospatial data has been adopted by many governments including US Federal, Canada, Japan, South Africa, Brazil, California, and most recently by the City of Vancouver. The benefits of free and open access to government geospatial data as identified by Senator Kate Lundy are
- Citizen engagement
- Transparency and accountability
- Economic development
But being able to access prepared maps and other derived material is just a first step, governments need to provide access to raw geospatial data in commonly used Web-friendly formats. Tim Berners-Lee, in Government Data Design Issues, is a strong advocate of making raw data accessible over the web including supporting standard Web methods, most critically, searching. The thesis on which GeoREST is based is that standard Web protocols, HTTP and MIME, are the simplest way of providing searchable raw geospatial data on the web.
REST
Representational State Transfer (REST) is an architecture style of networked systems which relies on the Web protocols HTTP and MIME. The best example of a RESTful implementation is the Web itself. REST uses URIs, HTTP methods (GET, POST, PUT, DELETE), HTTP response codes, and MIME.
The single major advantage of REST is that because it relies only on standard Web protocols, standard services available on the Web are available "out of the box" including
- Searching
- Passing through firewalls
- Caching
- Scaling/load balancing
GeoREST
GeoREST is a framework for accessing, distributing, and editing raw geospatial data over the web. Because it is based on REST, it supports searching using standard Web search engines such as Google and Bing.
In its current form it provides feature-based access to FDO spatial data sources including editing. Examples of FDO data sources include PostGIS, SHP, Oracle Spatial, Microsoft SQL Server Spatial, MySQL, SDF, GML, and others. GeoREST returns geospatial data over the Web in a number of Web friendly formats including KML, GeoRSS, HTML, GeoJSON, XML, PNG, HTML, CSV, and other text-based formats.
GeoREST relies on open source libraries including CTemplate, POCO, FDO, MapGuide Open Source, and libkml. GeoREST source code is available at www.geoREST.org.
Example Application Using GeoREST
You can find an example of an application built on GeoREST at the City of Nanaimo Property Search Site. More information about the implementation can be found on Jason Birch's Blog.
If you want to verify that Nanaimo's raw geospatial data is searchable, enter "2323 Rosstown Road, Nanaimo, BC" into Google, Bing or any other search engine, and then click on the first item that gets returned by the search engine.
Comments