The Open Data Institute in London has awarded the PetaJakarta.org project, through the SMART Open Source Geospatial Laboratory, a grant to showcase the project’s use of open data and software.
Read the announcement here: http://theodi.org/news/the-odi-announces-winning-odi-showcase-projects-out-for-the-count-and-petajakartaorg.
Link to Q&A interview about the award below.
Slides from the Free and Open Source Software for Geospatial Conference, Portland September 2014.
Mapping urban infrastructure systems is a key requirement to advance our capacity to understand and promote the resilience of cities to both extreme weather events as a result of climate change and to long-term infrastructure transformation as a process of climate adaptation. Yet, while developing nations will bear the brunt of the interwoven, climatic, economic and social challenges of the 21st century, many of these countries lack the sensor networks required to monitor and model the response of the urban system to change.
The nexus of people and place embedded in social media communication which is widespread and ubiquitous in many developing nations offers one potential solution. In this context, location-based social media often in the form of big-data, can be used to map emerging spatio-temporal trends to support situational management. Critically, however, the collection and application of such data raises significant questions around privacy, trust and security of the information gathered. The
MapJakarta.org project will be presented as a demonstration of the capabilities of free and open source geospatial technology to employ real-time social media data in a secure and anonymous manner for the purpose of decision support.
[view complete abstract]
Previously, in this blog post, I discussed the ways in which we’re tackling the infrastructure challenges in developing nations using open data. Below are the slides I presented at the first International Symposium for Next Generation Infrastructure. The work presented is a proof-of-concept model using data from Map Kibera to optimise a road-based sewage network. The great thing about using this data is that for the first time we can glean an insight into infrastructure provision in informal urban settlements, and examine methods to improve it.
I recently discovered the GeoAlchemy2 project – a replacement for the original GeoAlchemy package, focused on providing PostGIS support for SQLAlchemy. The SQLAlchemy package is a “Python SQL Toolkit and Object Relational Mapper”. In a nutshell this means you can write Python classes and map them to PostgreSQL tables without the need to write SQL statements – pretty cool!
PostGIS is great for doing spatial stuff, but if you’re using it as back-end for a Python app then you can spend a lot of time writing Python wrappers around SQL statements, and even with the excellent Psycopg2 package this can be tricky. This is especially true if you’re using the OGR Python bindings to handle PostGIS read/writes.
Enter GeoAlchmey2. I’ve been experimenting with it for a week, in that time I’ve learnt this:
For developing geospatial Python apps with PostGIS, GeoAlchemy2 is nothing short of revolutionary.
You can call PostGIS functions in Python, which means you can use them (and the data) directly within your Python application logic. Here’s an example. The SQL statement below uses PostGIS to create a new line geometry between a point, and the closest point on the nearest line.
Now here’s a snippet from a Python script, performing the same process using GeoAlchemy2.
You’ll notice here that we’re actually calling our own Python function “make_link_line” during the query to create the new geometry. This exemplifies how we can move PostGIS objects around inside the script. Once the query runs we can access the returned data in our application from the row variable. Below is the complete script.
Nearest neighbour PostGIS and GeoAlchemy2 script:
The script above is just a simple example, but it shows how powerful GeoAlchemy2 is for embedding PostGIS objects and methods inside Python. I’m really looking forward to digging deeper into the functionality of GeoAlchemy2 and SQLAlchemy to integrate them within my own projects. Check out the official tutorials for more examples: https://geoalchemy-2.readthedocs.org/en/latest/#tutorials
Following in the footsteps of the Raster Processing Suite, I’ve added GitHub pages for the PostGISDroid script which I wrote last year. This was a prototype Python script, built on the Android scripting layer, to log the location of an Android device to a remote PostGIS server. Check it out here: http://talltom.github.com/PostGISDroid.
A track from PostGISDroid in Quantum GIS.
If you’re looking for a full-blown Android client for mobile data acquisition check out the Sense Cloud Framework: http://ceg-sense.ncl.ac.uk/geoanorak/nclsensecloud.html.