将Rails用于GIS /映射应用程序有什么优势?[关闭]


13

我听说过有关Rails的一些好消息,但我对此还不了解。关于GIS.SE上的Rails的问题很少(甚至没有Rails标记)。

  1. 从GIS专业人士的角度学习Rails是否值得?(例如,与不使用Rails相比,Rails在构建包含GIS功能的网站时具有哪些优势?)

  2. 有没有在Rails上构建良好的GIS /地图网站的示例?

(我现在还没有任何具体要求-我只想知道是否花时间学习Rails。)

Answers:


15
  1. 可能不会。
  2. 没有人能脱颖而出。

花时间学习Django / GeoDjango会更好。Django与Rails类似,因为它是一个Web应用程序框架。它使用Python而不是Ruby。地理空间功能比GeoRuby成熟得多。

Ruby / Rails是一个很好的开发平台,但是空间功能与Django不相上下。


9

我目前正在开发具有某些映射功能的Rails应用程序,我真的很喜欢 ruby和RoR,但是可悲的是,几乎没有足够成熟的插件可以用于复杂的WMS / WFS服务。

但我只想补充一下,最近的rGeo库在投影方面做得很好(proj4绑定和使用其他API的能力),与ActiveRecord ORM平滑集成(我在postgre / postgis中使用它,就像一个护身符),并提供了一些不错的工具来读取shapefile,对GeoJSON进行编码/解码...


1
准备就绪后,您可以将链接发布到您的网站吗?我很乐意看到它。谢谢。
斯蒂芬·利德

1
目前只有一张地图,整个站点都是一片混乱,因为我正在“改头换面”(并且因为我是一个巨大的菜鸟:D),但是您可以在这里
m_x

7

从学习的角度严格来说,学习新事物总是值得的。但是,Ruby / Ruby on Rails在GIS世界中并不十分流行。由于缺乏普及性,如果您的目标是学习新知识,建议您改用另一种语言,例如Python。我认为您不会发现Ruby / Rails具有任何特定于GIS的优势,但是在构建网站方面确实具有吸引力。

至于项目,有针对Ruby和GeoRuby的Proj4 绑定



5

TLDR;将红宝石用于GIS的优点是红宝石本身。学习了如何使用它进行CRS转换后,使用rgeo变得轻而易举。

我发现与rgeo宝石合作非常愉快。与这个问题几乎所有其他答案相反,如果您熟悉红宝石,绝对值得研究。如果不是,我会说基于其他一些答案可能没有特别的优势,但是当我加载千兆字节的shapefile数据以运行postgis查询时,ruby非常适合为我运行脚本。在数据库方面,这是绝对的荣幸。

Rails的用于Postgis的ActiveRecord绑定与rgeo和squeel gem的结合,就红宝石应用程序而言,在公园里又是相对轻松的一天。

对于介绍与在轨道上工作的GIS,看到丹尼尔东本RubyConf的谈话http://www.youtube.com/watch?v=QI0e2jkUbkk

Azuma为Google工作,但也为ruby编写了rgeo gem。rgeo具有扩展名rgeo-shapefile和rgeo-geojson(这是我到目前为止使用的两个扩展名),可轻松插入现有数据集中。据我所知,rgeo-shapefile只能读取shapefile,但rgeo-geojson可以读取和写入。

这是他已经撰写了一段时间的系列博客文章(共11部分)的第1部分。该系列对我非常有用。 http://blog.daniel-azuma.com/archives/60


3

我刚刚了解了CartoSet,这看起来确实很有趣。

这是一个基于开放源代码技术的高度可定制的新地理门户解决方案...。任何需要以简单美观的方式发布和管理地理空间数据集的人。它使用Ruby On Rails,Refinery和PostGIS(一个完整的开源框架,可以免费使用)


3

我建议同时使用。我以GIS开发人员的身份开始,但随后在具有Map组件的项目中开始RoR开发。

您可能没有Django所拥有的所有工具,但是使用Postgres / PostGIS,GDAL和Leaflet或Openlayers,您几乎可以完成所有工作。

Cartodb是Ruby on Rails和Postgres中一个非常有趣的工具库。您也可以在WCMC实验室中检查在Ruby on Rails中构建的GIS Web项目。


2

看看http://www.mangomap.com,它是在轨道上使用红宝石。


1

作为一个有过使用Arcgis Javascript API和Google Maps进行前端GIS集成工作的经验的Rails开发人员,我发现可以确保自己已经满足了网站的通常需求-可以专注于javascript单独。如果您的需求相似,我相信任何一个堆栈都可以达到目的。


1

所以3年后,我终于有足够的组织能力来学习一些Rails。

我的初步结论是,Rails不会专门为GIS Web应用程序提供帮助-但它使其他一切都变得非常容易。

Rails处理Web应用程序的最常见任务和功能,这意味着开发人员可以只专注于GIS特定方面,而不必在页面之间编写所有“管道”。


(又过了一年,我对Rails有了相当的称职。虽然我仍然同意它对GIS毫无帮助,但我现在确实在研究它了)
Stephen Lead
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.