I was talking to a friend about what education levels might look like across Sydney, and a friend challenged me to map it.
The map was derived by combining three datasets from the Australian Bureau of Statistics (ABS - a department releasing some great datasets). The first dataset was the spatial data for “SA2” level boundaries, the second the population data for various geographic areas, and the third from the 2011 Census on Non-School Qualification Level of Education (e.g. Certificates, Diplomas, Masters, Doctorates). I aggregated all people with bachelors or higher in an SA2 region, and then divided that number by the total number of people in that region. A different methodology could have been …
Read Sydney's Education Levels MappedEDIT 12-03-2025: I accidentially broke the maps when deleting my AWS account, as the mbtiles were hosted there. Oops.
I quite like open data. I like data based on open standards (or mostly open standards) even better. Many transport operators around the world have started releasing their timetable data using (mostly) open standards, e.g. GTFS. One of the nice things about using a standard is that clever people have created tools to work with the timetable data, and those tools can now be used to manipulate timetable data from hundreds of agencies. The magnificent OpenTripPlanner is one such tool, and it works well with 131500’s GTFS data.
Read Sydney Commute Times Mapped Part 1This quick tutorial will detail how to prepair the ABS Mesh Blocks to be used with MapBox’s TileMill. Beyond scope is how to install postgresql, postgis and TileMill. There is a lot of documentation how to do these tasks.
First, we create a database to import the shapefile and population data into:
Using ‘psql’ or ‘SQL Query’, create a new database:
CREATE DATABASE transport WITH TEMPLATE postgis20 OWNER postgres; # Query returned successfully with no result in 5527 ms. It is necessary to first import the Mesh Block spatial file using something like PostGIS Loader.
Read Mapping Mesh Blocks with TileMillEDIT 12-03-2025: I broke the maps when I deleted my AWS account, which I forgot as hosting the mbtiles.
Five years ago I started exploring different mapping technologies by detailing instructions on installing Mapnik and mod_tile. Times have changed significantly in the last five years, and thanks a lot to the products offered by MapBox. After playing with TileMill, MBTiles, Leaflet and UTFGrids, it is great how many annoyances have been fixed by MapBox. I find it enjoyable making maps now, as I no longer need to worry about patching code just to get it to run, or mucking about with oddities in web browser.
Read Mapping Urban Density in SydneyI have managed to install mapnik 0.4, 0.5, 0.5.1 and various SVN releases in-between on Ubuntu. While this isn’t in itself exciting, I think I manage to stumble at every installation. I typically forget to add the flags when building, so, to prevent myself from stumbling again, I’m going to write them out here.
Build mapnik
$ python scons/scons.py PYTHON=/usr/bin/python \ PGSQL_INCLUDES=/usr/include/postgresql \ PGSQL_LIBS=/usr/lib/postgresql BOOST_INCLUDES=/usr/include/boost BOOST_LIBS=/usr/lib Then install it
$ sudo python scons/scons.py install PYTHON=/usr/bin/python \ PGSQL_INCLUDES=/usr/include/postgresql \ PGSQL_LIBS=/usr/lib/postgresql BOOST_INCLUDES=/usr/include/boost BOOST_LIBS=/usr/lib …
Read Installing Mapnik on Ubuntu 7.10