Planning Your Location Strategy for Rails
Upcoming SlideShare
Loading in...5
×
 

Planning Your Location Strategy for Rails

on

  • 2,146 views

What does geolocation mean? How about geocoding? Reverse-coding? Geospatial? Is Google Maps' JavaScript API the best service to use? How do we avoid being rate limited? Should we import a free ...

What does geolocation mean? How about geocoding? Reverse-coding? Geospatial? Is Google Maps' JavaScript API the best service to use? How do we avoid being rate limited? Should we import a free geographical dataset to make local SQL queries upon it? When do we move from Postgres and the Geocoder gem in Rails to PostGIS?

Integrating location into your Rails app brings up a number of questions. This slide deck is intended to answer some of the basic ones and help you plan your location strategy. To go deeper, we have a full codebase (with tests) available at:

https://learn.thoughtbot.com/geocoding-on-rails

Statistics

Views

Total Views
2,146
Views on SlideShare
2,124
Embed Views
22

Actions

Likes
1
Downloads
2
Comments
0

1 Embed 22

https://twitter.com 22

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Planning Your Location Strategy for Rails Planning Your Location Strategy for Rails Presentation Transcript

  • Planning Your Location Strategy for Rails
  • https://learn.thoughtbot.com/geocoding-on-rails “The world is a beautiful book, but it’s not much use if you don’t know how to read.” -- C. Goldoni
  • https://learn.thoughtbot.com/geocoding-on-rails I want to see places to stay in an interesting neighborhood.
  • https://learn.thoughtbot.com/geocoding-on-rails I want to find hotels near public transportation.
  • https://learn.thoughtbot.com/geocoding-on-rails How do we go from desired user outcomes to working software? • Learn the vocabulary • Know the responsibilities of each part of the tech stack • Form a strategy • Code!
  • https://learn.thoughtbot.com/geocoding-on-rails Geolocation n. The process of identifying the geographical location of a person or device by digital means.
  • https://learn.thoughtbot.com/geocoding-on-rails Geocoding v. The process of obtaining geographic coordinates (latitude and longitude) from full or partial address information.
  • https://learn.thoughtbot.com/geocoding-on-rails Reverse-geocoding v. The process of obtaining address information from geographic coordinates (latitude and longitude).
  • https://learn.thoughtbot.com/geocoding-on-rails Geospatial adj. Of or relating to the relative position of things on the earth’s surface.
  • https://learn.thoughtbot.com/geocoding-on-rails
  • https://learn.thoughtbot.com/geocoding-on-rails Server-side (Ruby) Interacts with external geocoding services and queries the database.
  • https://learn.thoughtbot.com/geocoding-on-rails Database (SQL) Persists geocoded data, available for geospatial queries.
  • https://learn.thoughtbot.com/geocoding-on-rails Client-side (JavaScript) Interacts with external geocoding services.
  • https://learn.thoughtbot.com/geocoding-on-rails External service Geocodes address, reverse-geocodes coordinates, draws map.
  • https://learn.thoughtbot.com/geocoding-on-rails Know our data • Are the records already geocoded? • Do our records have address information? • How accurate do we need the geographic information to be?
  • https://learn.thoughtbot.com/geocoding-on-rails Choose an external geocoding service • How many requests per day will we be making? Will we get rate limited? • What are the comparable benefits of free, paid, and open source services? • What is our budget?
  • https://learn.thoughtbot.com/geocoding-on-rails Start with free libraries and datasets • Google Maps JavaScript API • Geocoder Ruby gem • Area Ruby gem • GeoNames downloadable geographical database • PostGIS
  • https://learn.thoughtbot.com/geocoding-on-rails Whiteboard our design • Importing data • Client-side responsibilities • Server-side responsibilities
  • https://learn.thoughtbot.com/geocoding-on-rails Testing • Stub requests to external services • Create a fake
  • https://learn.thoughtbot.com/geocoding-on-rails Details in the book Includes a complete codebase (with tests). Plot points on a map, use HTML5 to get coordinates in the browser, cache external services, index geospatial queries, and more.
  • https://learn.thoughtbot.com/geocoding-on-rails Questions? Laila Winner @malandr1na laila@thoughtbot.com