I have spent a great deal of time since this project began trying to invent a better way of tracking my movements and keeping the data in an easy to use format. This has progressed through Google Maps, Scribblemaps and I am now running my own solution based on OpenLayers, QGIS and Postgresql.
The Physical Hardware
When I go out on a day trip I take:
- My camera (Canon Rebel XS)
- Laptop (Lenovo Thinpad T420)
- Cell phone (Google Nexus 5)
- Bluetooth GPS (A+ 737 GPS Unit)
Under the hood I use the following software to make this all happen:
Provides a browser agnostic, mobile friendly map to display data points and tracks on. The road map data is provided by OpenStreetMap. The data from my site is provided by QGIS Server which runs on the web server.
QGIS (Quantum GIS)
Provides a canvas to work on and a seamless way to make changes to the Postgres DB underneath.
Contains a server component that provides WMS services to OpenLayers or any other WMS compatible software
The only free database that I know of that can be GIS enabled. This contains all the point data and track lines.
The GIS extensions for Postgres
I have also inserted a number of other datasets in the database to aid me with navigation in the field from the following places:
From this body of data I utilize the following layers:
- Municipalities / RM Boundaries
- Quarter Sections
- Water Course
- Water Body
These are most helpful when determining the navigability of a road and how far I might expect to get before it ends, or if it's a dead end.
How it's all connected
When I set out, I power up my laptop and turn on the GPS unit. Once the GPS unit and the laptop are paired and connected, the GPS unit is presented to the OS as a serial device. I start up QGIS and load up my project file which in turn connects to the Postgres database on the laptop.
Once all the data is loaded I connect QGIS to the GPS serial device and it begins recording where I drive.
When I locate an interesting place, I add that location to the database and photograph it. The only places I am photographing with my Canon are cemetery headstones since my cell phone is capable of GPS tagging the pictures it takes whereas the Canon cannot. My phone simply doesn't have the space for hundreds of headstone photos however and I don't want them synced up to Google either, eating up my data plan.
At the end of the day, when I get home, or I am packing up the equipment to go home, I close QGIS and power off the GPS unit. I then tether my laptop to my cell phone and run a Powershell script I have which takes a copy of the database and transfers it home to the web server. The data I captured that day is then instantly available on the web site map.
I usually wait until I get home to upload the photos since they are usually larger in size and can be quite numerous if I've visited lots of cemeteries.
Things still left to do
- Figure out how to insert URLs into the OpenLayers map so users can click on a place and be sent to the photo album. For now I've enabled the labels so you can see what they're called.
I may add more here later but for now, that's an overview of how I do things.