In this post is a collection of useful material related to my RailsConf 2012 talk, entitled "Getting Down To Earth: Geospatial Analysis With Rails". You can download the slides for the talk, and I've provided links to all the software mentioned (as well as some that wasn't mentioned but that I think is useful or at least interesting). Finally, I've curated links to a bunch of articles, reference material, and other information for those interested in digging deeper into geospatial features.
This is by no means a complete list, and I'll be adding more links over the next few days so check back often. And please leave me a note if you have any suggestions!
Update: thanks to Confreaks, the video is now up as well.
A few notes post-talk...
Thank you to those of you who attended my talk this morning! A few quick notes before getting into the links and downloads.
- One thing I should have made more clear is that your choice of coordinate system is not limited to just lat/long or Mercator. Those two will be useful for many cases, but there are a plethora of other coordinate systems, any one or more of which may be appropriate for your application.
- We covered PostGIS in this talk because it's currently probably the best and most feature complete open source spatial database, and because it's the best supported from our stack. But there are alternatives that may be more or less useful. MongoDB does have limited spatial capabilities, as does MySQL. Oracle and MS SQL Server are supposedly pretty full-featured in their spatial capability. There's even a plugin for Sqlite that works quite well.
- I'm serious about Squeel. Use it. It's awesome. Last year I was working on coming up with a solution for writing these complex spatial queries by extending Arel. But then I found Squeel, which does it a dozen times better than I could have come up with. Thank you Ernie Miller for this tool!
Now on to the links...
- Talk slides on SpeakerDeck
- Talk slides in PDF format --- Full size (about 20 megs) or compressed (about 3.6 megs)
- Video from Confreaks
- Talk notes --- Posted by NewHaven.rb
Software --- Databases
- PostGIS --- spatial plugin for PostgreSQL
- Spatialite --- spatial plugin for Sqlite3
- GeoCouch --- spatial plugin for CouchDB and Couchbase
- Solr Spatial Search --- available in recent versions of Solr
Software --- Ruby
- rgeo --- Spatial data types
- rgeo-shapefile --- Shapefile reader
- rgeo-geojson --- GeoJSON reader/writer
- ffi-geos --- Low-level ruby bindings to GEOS library
- squeel --- ActiveRecord enhancement for query writing
- activerecord-postgis-adapter --- ActiveRecord adapter for PostGIS
- activerecord-spatialite-adapter --- ActiveRecord adapter for Spatialite
- mongoid_geospatial --- Mongoid extension with geospatial capabilities
- ruby geocoder --- Integration with geocoding services
- GeoRuby and SpatialAdapter --- Older libraries for spatial data types and ActiveRecord integration (not compatible with rgeo)
Software --- Client Side
- OpenLayers --- An open-source map/visualization tool; an alternative to Google Maps
Software --- Other Libraries
- libgeos --- C library for geometric analysis
- libproj --- C library for coordinate transforms
- libgdal --- C library for rasters
- Geo-Rails series --- Nine (and counting) articles on geospatial development with Rails
- Cartographical Map Projections --- A good introduction to projected coordinate systems
- SpatialReference.org --- Source for coordinate system information.
- Shapefile spec from ESRI
- SimpleGeo migration guide --- A very useful set of links put together by Urban Airship after they bought (and dismantled) SimpleGeo, including sources for data, services, and implementation guides.
Books and Other Reading
- GIS: A Computing Perspective by Michael Worboys and Matt Duckham --- Very useful overview of the major computing challenges involving geometry, rasters, databases, and so forth, including discussions on modeling uncertainty and architectural considerations. Highly recommended.
- Geographic Information Analysis by David O'Sullivan and David J. Unwin --- Good source for methods of statistical analysis and visualization of geo-data.
- GIS For Web Developers by Scott Davis (published by Pragmatic Programmers) --- Somewhat dated, and based on Java. But still a lot of useful conceptual material. Paper book is out of print, but eBook is available.
- TZ Timezone Shapefiles --- Polygon boundaries of world timezones
- TIGER/Line files from the US Census --- lots of legal and statistical geographic data
- rgeo-users mailing list --- Help and discussion group for RGeo users
- georails mailing list --- Discussion for Rails and geospatial dev (not very active)
- georuby mailing list --- Discussion for Ruby and geospatial dev (not very active)