Was sind die Vorteile von Rails für eine GIS / Mapping-Anwendung? [geschlossen]


13

Ich habe einige gute Dinge über Rails gehört , aber ich weiß noch nicht viel darüber. Es gibt nur ein paar Fragen zu Rails auf GIS.SE (und es gibt nicht einmal ein Rails-Tag).

  1. Lohnt es sich, aus Sicht eines GIS-Profis etwas über Rails zu lernen? (Welche Vorteile bietet Rails beim Erstellen einer Website mit GIS-Funktionalität im Vergleich zur Nichtverwendung von Rails?)

  2. Gibt es Beispiele für gute GIS / Mapping-Websites, die auf Rails basieren?

(Ich habe noch keine spezifischen Anforderungen im Kopf - ich möchte nur wissen, ob ich Zeit in das Lernen von Rails investieren soll.)

Antworten:


15
  1. Wahrscheinlich nicht.
  2. Keiner sticht heraus.

Ihre Zeit würde viel besser damit verbracht, Django / GeoDjango zu lernen. Django ähnelt Rails, da es sich um ein Webanwendungsframework handelt. Es wird eher Python als Ruby verwendet. Die georäumliche Funktionalität ist viel ausgereifter als bei GeoRuby.

Ruby / Rails ist eine großartige Plattform zum Entwickeln, aber die räumliche Funktionalität ist nicht mit Django vergleichbar.


9

Derzeit entwickle ich eine Rails-App mit einigen Mapping-Funktionen. Ich liebe Ruby und RoR, aber leider gibt es nur sehr wenige Plugins, die für einen komplexen WMS / WFS-Service ausgereift sind.

Aber ich möchte hinzufügen, dass die aktuelle rGeo-Bibliothek mit Projektionen (proj4-Bindungen und der Fähigkeit, andere APIs zu verwenden) eine gute Arbeit leistet und sich nahtlos in das ActiveRecord-ORM einfügt (ich verwende es mit postgre / postgis, funktioniert wie ein Zauber). und hat ein paar nette Tools um Shapefiles zu lesen, GeoJSON zu kodieren / dekodieren ...


1
Können Sie einen Link zu Ihrer Site veröffentlichen, wenn dieser fertig ist? Ich würde es gerne sehen. Vielen Dank.
Stephen Lead

1
Derzeit gibt es nur eine Karte, und die gesamte Website ist ein Chaos, weil ich sie "facelifting" (und weil ich ein großer Noob bin: D), aber Sie können hier
m_x

7

Rein lerntechnisch lohnt es sich immer, etwas Neues zu lernen. Ruby / Ruby on Rails ist jedoch in der GIS-Welt nicht besonders beliebt. Aufgrund der mangelnden Popularität würde ich empfehlen, stattdessen eine andere Sprache wie Python zu verwenden, um etwas Neues zu lernen. Ich denke, Sie werden keine GIS-spezifischen Vorteile für Ruby / Rails finden, aber es hat sicherlich einen Reiz, wenn es darum geht, Websites zu erstellen.

Für Projekte gibt es Proj4-Bindungen für Ruby und GeoRuby



5

TLDR; Der Vorteil der Verwendung von Ruby für GIS ist Ruby selbst. Sobald Sie gelernt haben, wie Sie CRS-Transformationen damit durchführen, ist die Verwendung von RGEO ein Kinderspiel.

Ich fand die Arbeit mit dem rgeoEdelstein sehr angenehm. Im Gegensatz zu fast jeder anderen Antwort auf diese Frage würde ich sagen, es lohnt sich auf jeden Fall, sie zu prüfen, wenn Sie mit Rubin vertraut sind. Wenn nicht, würde ich sagen, es gibt wahrscheinlich keinen besonderen Vorteil, der auf einigen dieser anderen Antworten beruht, aber Ruby war großartig, um Skripte für mich auszuführen, während ich Gigabyte Shapefile-Daten geladen habe, um Postgis-Abfragen auszuführen. Auf der Datenbankseite war es ein absolutes Vergnügen.

Die Kombination der ActiveRecord-Bindungen von Rails für Postgis in Verbindung mit Rgeo und Squeel Gem war für eine Rubinanwendung nur ein weiterer relativ einfacher Tag im Park.

Für DIE Einführung mit GIS auf Schienen zu arbeiten, finden Sie in diesem RubyConf Vortrag von Daniel Azuma http://www.youtube.com/watch?v=QI0e2jkUbkk

Azuma arbeitet für Google, hat aber auch das Rgeo-Juwel für Ruby geschrieben. rgeo hat die Erweiterungen rgeo-shapefile & rgeo-geojson (dies sind die beiden, die ich bisher verwendet habe), die das Einfügen in vorhandene Datensätze vereinfachen. rgeo-shapefile kann nur Shapefiles lesen, soweit ich das beurteilen kann, aber rgeo-geojson kann lesen und schreiben.

Hier ist Teil 1 eines elfteiligen Blogposts, den er seit einiger Zeit schreibt. Die Serie war für mich äußerst nützlich. http://blog.daniel-azuma.com/archives/60


3

Ich habe gerade etwas über CartoSet gelernt , was sicherlich interessant aussieht.

Es ist eine neue, hochgradig anpassbare Geoportal-Lösung, die auf Open Source-Technologien basiert. Es verwendet Ruby On Rails, Refinery und PostGIS, ein vollständiges Open-Source-Framework, das kostenlos verwendet werden kann


3

Ich empfehle beides. Ich habe als GIS-Entwickler angefangen, dann aber mit der RoR-Entwicklung in Projekten mit einer Map-Komponente begonnen.

Sie haben vielleicht nicht alle Tools, die Django hat, aber mit Postgres / PostGIS, GDAL und Leaflet oder Openlayers können Sie fast alles machen.

Cartodb ist eine wirklich interessante Werkzeugbasis in Ruby on Rails und Postgres. Sie können in WCMC-Labs auch nach GIS-Webprojekten suchen, die in Ruby on Rails erstellt wurden.


2

Unter http://www.mangomap.com wird Ruby on Rails verwendet.


1

Als Rails-Entwickler, der Erfahrung in der Arbeit mit Front-End-GIS-Integrationen mit der Arcgis-JavaScript-API und Google Maps hat, kann ich sicher sein, dass ich bereits die üblichen Anforderungen einer Website erfüllt habe und mich auf das Javascript konzentrieren kann allein. Wenn Ihre Bedürfnisse ähnlich sind, kann meiner Meinung nach jeder Stapel den Zweck erfüllen.


1

Also habe ich mich 3 Jahre später endlich so organisiert, dass ich ein paar Rails lernen konnte.

Mein erstes Fazit ist, dass Rails bei einer GIS-Webanwendung nicht speziell hilft - aber es macht alles andere viel einfacher.

Rails übernimmt die gängigsten Aufgaben und Funktionen einer Webanwendung, sodass sich der Entwickler nur auf die GIS-spezifischen Aspekte konzentrieren kann, ohne die gesamte "Installation" zwischen den Seiten schreiben zu müssen.


(Ein weiteres Jahr später werde ich ziemlich kompetent mit Rails. Ich grabe es jetzt wirklich, obwohl ich immer noch zustimme, dass es nicht speziell mit GIS hilft)
Stephen Lead
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.