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
h...
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...
https://learn.thoughtbot.com/geocoding-on-rails

Geolocation
n. The process of identifying the geographical
location of a ...
https://learn.thoughtbot.com/geocoding-on-rails

Geocoding
v. The process of obtaining geographic coordinates
(latitude an...
https://learn.thoughtbot.com/geocoding-on-rails

Reverse-geocoding
v. The process of obtaining address information
from ge...
https://learn.thoughtbot.com/geocoding-on-rails

Geospatial
adj. Of or relating to the relative position of things
on the ...
https://learn.thoughtbot.com/geocoding-on-rails
https://learn.thoughtbot.com/geocoding-on-rails

Server-side (Ruby)
Interacts with external geocoding services and
queries...
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 ma...
https://learn.thoughtbot.com/geocoding-on-rails

Know our data
•

Are the records already geocoded?

•

Do our records hav...
https://learn.thoughtbot.com/geocoding-on-rails

Choose an external geocoding
service
•

How many requests per day will we...
https://learn.thoughtbot.com/geocoding-on-rails

Start with free libraries and datasets
•

Google Maps JavaScript API

•

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

Whiteboard our design
•

Importing data

•

Client-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 point...
https://learn.thoughtbot.com/geocoding-on-rails

Questions?
Laila Winner
@malandr1na
laila@thoughtbot.com
Planning Your Location Strategy for Rails
Planning Your Location Strategy for Rails
Upcoming SlideShare
Loading in...5
×

Planning Your Location Strategy for Rails

3,190

Published on

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

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
3,190
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
6
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Planning Your Location Strategy for Rails

  1. 1. Planning Your Location Strategy for Rails
  2. 2. 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
  3. 3. https://learn.thoughtbot.com/geocoding-on-rails I want to see places to stay in an interesting neighborhood.
  4. 4. https://learn.thoughtbot.com/geocoding-on-rails I want to find hotels near public transportation.
  5. 5. 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!
  6. 6. https://learn.thoughtbot.com/geocoding-on-rails Geolocation n. The process of identifying the geographical location of a person or device by digital means.
  7. 7. https://learn.thoughtbot.com/geocoding-on-rails Geocoding v. The process of obtaining geographic coordinates (latitude and longitude) from full or partial address information.
  8. 8. https://learn.thoughtbot.com/geocoding-on-rails Reverse-geocoding v. The process of obtaining address information from geographic coordinates (latitude and longitude).
  9. 9. https://learn.thoughtbot.com/geocoding-on-rails Geospatial adj. Of or relating to the relative position of things on the earth’s surface.
  10. 10. https://learn.thoughtbot.com/geocoding-on-rails
  11. 11. https://learn.thoughtbot.com/geocoding-on-rails Server-side (Ruby) Interacts with external geocoding services and queries the database.
  12. 12. https://learn.thoughtbot.com/geocoding-on-rails Database (SQL) Persists geocoded data, available for geospatial queries.
  13. 13. https://learn.thoughtbot.com/geocoding-on-rails Client-side (JavaScript) Interacts with external geocoding services.
  14. 14. https://learn.thoughtbot.com/geocoding-on-rails External service Geocodes address, reverse-geocodes coordinates, draws map.
  15. 15. 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?
  16. 16. 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?
  17. 17. 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
  18. 18. https://learn.thoughtbot.com/geocoding-on-rails Whiteboard our design • Importing data • Client-side responsibilities • Server-side responsibilities
  19. 19. https://learn.thoughtbot.com/geocoding-on-rails Testing • Stub requests to external services • Create a fake
  20. 20. 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.
  21. 21. https://learn.thoughtbot.com/geocoding-on-rails Questions? Laila Winner @malandr1na laila@thoughtbot.com
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×