13

I've heard some good things about Rails, but I don't know much about it yet. There are only a few questions about Rails on GIS.SE (and there's not even a Rails tag).

  1. Is it worthwhile to learn about Rails, from a GIS professional's perspective? (eg, what advantages does Rails give when building a website containing GIS functionality, compared to not using Rails?)

  2. Are there any examples of good GIS/mapping websites built on Rails?

(I don't have any specific requirements in mind yet - I just want to know whether to invest time in learning Rails.)

closed as too broad by PolyGeo Oct 12 '15 at 23:41

Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer. Avoid asking multiple distinct questions at once. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.

10 Answers 10

15
  1. Probably not.
  2. None stand out.

Your time would be much better spent learning Django/GeoDjango. Django is similar to Rails in that it's a web application framework. It uses Python rather than Ruby. The geospatial functionality is much more mature than GeoRuby.

Ruby/Rails is a great platform to develop on but the spatial functionality isn't on par with Django.

9

i am currently developping a rails app with some mapping capabilities, and i really love ruby and RoR, but sadly enough there is very little plugins mature enough for a complex WMS/WFS service.

But i just want to add that the recent rGeo library does quite a good job with projections (proj4 bindings and ability to use other APIs), integrates smoothly with the ActiveRecord ORM (i use it with postgre/postgis, works like a charm), and has some nice tools to read shapefiles, encode/decode GeoJSON...

  • 1
    Can you post a link to your site when it's ready? I'd love to see it. Thanks. – Stephen Lead Sep 14 '11 at 23:33
  • 1
    there is currently only one map, and the whole site is a mess because i'm "facelifting" it (and because im a huge noob :D), but you can peek a look here – m_x Sep 15 '11 at 9:14
7

Strictly from a learning perspective, learning something new is always worthwhile. However, Ruby/Ruby on Rails isn't extremely popular in the GIS world. Because of lack of popularity, I would suggest you pick up another language instead, such as Python, if your goal is to learn something new. I don't think you'll find any GIS-specific advantages to Ruby/Rails, but it does certainly have an appeal when it comes to building websites.

As for projects, there are Proj4 bindings for Ruby and GeoRuby

7

Two mapping websites built on ruby on rails I recommend:

  1. OpenStreetMap
  2. NYPL Map Rectifier
5

TLDR; The advantage of using ruby for GIS is ruby itself. Once you learn how to do CRS transformations with it, using rgeo is a breeze with squeel.

I've found working with the rgeo gem very pleasant. To the contrary of nearly every other answer for this question, I would say its definitely worth looking into if you are familiar with ruby. If you're not, I'd say there's probably not a particular advantage based off some of these other answers but ruby was great for running scripts for me while I loaded in gigabytes of shapefile data to run postgis queries on. On the database side its been an absolute pleasure.

The combination of rails's ActiveRecord bindings for postgis, in conjunction with rgeo and the squeel gem, its been just another relatively easy day in the park as far as a ruby application normally goes.

For THE introduction to working with GIS on rails, see this rubyconf talk by Daniel Azuma http://www.youtube.com/watch?v=QI0e2jkUbkk

Azuma works for google but also wrote the rgeo gem for ruby. rgeo has the extensions rgeo-shapefile & rgeo-geojson (these are the two I've used so far) that make it easy to plug into existing datasets. rgeo-shapefile can only read shapefiles as far as I can tell but rgeo-geojson can read and write.

Here's part 1 of an 11-part series blog post he's been writing for some time now. The series has been extremely useful to me. http://blog.daniel-azuma.com/archives/60

3

I just learnt about CartoSet, which certainly looks interesting.

It is a new highly customizable geoportal solution based on open source technologies.... Anyone that needs to publish and curate a geospatial dataset in simple and beautiful ways. It uses Ruby On Rails, Refinery and PostGIS, a complete open-source framework, free to be used

3

I recommend using both. I started as a GIS developer but then started RoR development in projects with a Map component.

You may not have all the tools that Django has but with Postgres/PostGIS, GDAL and Leaflet or Openlayers you can do almost everything.

Cartodb is a really interesting tool bases in Ruby on Rails and Postgres. You can also check WCMC labs for GIS web projects built in Ruby on Rails.

2

looking at http://www.mangomap.com it is use ruby on rails.

We're looking for long answers that provide some explanation and context. Don't just give a one-line answer; explain why your answer is right, ideally with citations. Answers that don't include explanations may be removed.

1

As a rails developer who has had some experience of working with front-end GIS integrations using the Arcgis Javascript API and Google Maps, I find it assuring that I already have the usual needs of a website taken care of - and can focus on the javascript alone. If your needs are any similar, I believe either stack can serve the purpose.

1

So 3 years later I finally got organised enough to learn some Rails.

My initial conclusion is that Rails won't specifically help with a GIS web application - but it makes everything else so much easier.

Rails handles the most common tasks and functions of a web application, meaning that the developer can just concentrate on the GIS-specific aspects, without having to write all the "plumbing" between pages.

  • (another year later and I'm getting pretty competent with Rails. I really dig it now, though I still agree that it doesn't help with GIS specifically) – Stephen Lead Oct 13 '15 at 2:09

Not the answer you're looking for? Browse other questions tagged or ask your own question.