Projects

New Zealand Crash Map

An interactive web map of the New Zealand Transport Agency’s (NZTA) Crash Analysis System (CAS) data. The location, causes and circumstances behind each road crash attended by NZ Police can be explored. Most of the interface was written by Andrew Parnell did most of the work on this interface, my role was more data munging.

This project was featured in the New Zealand Herald on Christmas 2014, becoming the most read article on the website for that day.


New Zealand Crash Map interface.

Videos of Wellington’s public transport system

To explore data in the General Transit Feed Specification in preparation for my Master’s thesis, I decided to make some videos of Wellington city’s public transport system.



See the album for more.

The code for this still exists but it is no longer public because it is very rough. If you’re interested, I’d be willing to tidy it so you can use it with any GTFS for any city. The code is written in Python and makes use of SQLite/Spatialite, Matplotlib’s Basemap, and Shapely.

Census cycling statistics for Wellington

CartoDB is a great initiative, that for many is a first taste of the power of PostgreSQL and PostGIS. I made this for the benefit of a Wellington-based cycling advocacy group, and it has been used in many discussions relating to the Island Bay protected cycleway which has recently been approved.


Collaborative cycle mapping with Google Maps Engine Lite

I am a member of the Hutt Cycle Network, a cycling advocacy group for Lower Hutt city. The group needed a way to share ideas for cycle-friendly routes, risks to cyclists, and other pertinent pieces of spatial information that the group has knowledge of, but had no means to record digitally. I suggested that the group try Google Maps Engine Lite, as a lightweight web GIS that most people find intuitive to use. This is the result. Non-technical members commented that they felt empowered to record their knowledge through the tool.


Google Maps Engine lite, showing the layers maintained by the Hutt Cycle Network members.


Behind the scenes, I have a script running on a schedule to download the information, and upsert it into a PostGIS-enabled database. I combine this with other information to support the HCN’s comments on matters relating to cycling in Lower Hutt. For instance, our response to an idea to develop protected cycle lanes was accompanied by information about how many students attend school within 500m of the protected cycle lanes.

Projects unrelated to transportation

NZ UFO Sightings


Interactive map of NZ UFO sightings.

Disclaimer: I don’t believe aliens visit earth, though they probably exist in some form in the vastness of infinite space.

For this project, I maintain a web scraper that I use periodically to update the data for the interactive map. Geocoding is done imperfectly, using the fantastic geopy Python module.

I’d like to do some analysis, trying to find reports of similar phenomena, reported around the same time, in around the same place. Sightings by an isolated stoner in Motueka are much less interesting than those reported by independent witnesses who describe the same thing. Get in touch if this could be of interest to you.

Cloudburst API

Currently I am working to build a map tile server for weather data, which has a free tier, exposed via the linked API. I also wrote the API. Soon, you will be able to use it connect to a range of global weather forecasts, using Leaflet, OpenLayers, or Google Maps.


Example tile map layer and interface constructed using the Cloudburst API.


Real-time lightning server

I wrote a web socket server for sending lightning strikes to client applications in real time: seconds after they are detected by physical instrumentation.


This is a GIF of ten seconds of lightning occurring in central Australia; watch carefully around the major cluster of strikes as new ones occur.


I think there is massive underuse of web sockets in geographic applications; I have the beginnings of a QGIS plugin to connect to GeoJSON-serving web sockets to demonstrate their utility.

Projects - Richard Law