Sparkblog

We recently held a hackathon at Sparkgeo where we split into a couple teams and turned an idea we had been toying with, but never actually had the time to implement, into a working product. Joe Burkinshaw, Parmvir Thind, and myself were team MVT-MVP aka Map-Zuckerberg.

Google Maps have been with us since February 2005, virtually a decade ago as I write this (expect a party on Feb 8th 2015). From their acquisitions of Where 2 Technologies and Keyhole, Google ignited a cartographic web revolution. Yes, of course there were maps on the internet pre-Google Maps, but Google brought the web map to the consumer, and has driven the expectation of location intelligence in web and mobile apps ever since.

This is a quick note on how to map images in a directory purely from their exif files. An exif file is one which contains the meta data of the image. If the image was taken by a phone of GPS enabled camera, then a location will also be contained within that file. To read that directory on the webserver we need to use a CGI script. For our purposes we will use python.

GeoJSON is a great format, easy to read/view/use but one thing that really stands out is the verbosity of numbers and its effects on file size. Yeah in rare cases it “may” be needed but I’m pretty sure a length that is precise to, well less than a millimeter (example: stream length: 6849.41980435 meters) is never needed. And the other pink elephant in GeoJSON is the number of sig figs used for geometry!

This article shows how you (yes, you!) can build your very own US Census Tracts PostGIS database. I had looked over the interwebs for some time under the false assumption that someone, somewhere would have already done this, but it seems not. So this article documents my process. I am running a mac, so some things could be done faster / smarter using other technology refinements, but I have tried to keep things pretty generic for 'nix users. Windows people; you will find this process is pretty simple, I am sure you can replicate it using what you have available.