问题标签 [rgeo]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby-on-rails - 运行 rails app 不兼容的库版本 rgeo proj4 时出错
当我运行时foreman start
,我收到此错误:
我试过了rvm gemset empty && bundle install
,gem uninstall rgeo && gem install rgeo
其他从事同一个项目的人没有这个问题。
Ruby 2.2.3p173
Rails 4.2.4
Gem 2.4.8
我究竟做错了什么?
postgresql - Postgis 2.2.0 和 Postgres 9.4.5 的问题:PG::UndefinedFile - 错误:无法访问文件“$libdir/postgis-2.1”
不幸的是,我通过自制软件将 postgis 升级到 2.2.0,现在出现以下错误。我会回到 2.1.0,但该公式似乎不再可用。转到 2.0 会尝试将 Postgres 降级到 9.2。
关于我还能尝试什么的任何想法将不胜感激?
版本:
- PostGres:9.4.5_2
- Postgis:2.2.0
- activerecord_postgis_adapter:3.1.0
- pg宝石:0.18
以下错误:
基本调试:
/usr/local/Cellar/postgresql/ 仍然显示 9.4.5_1 和 9.4.5_2 的文件夹。我还尝试在 Postgres 上删除、创建和更改 postgis 扩展,并且运行时不会出现问题。当我查找已安装的扩展时:
ruby-on-rails-4 - 如何使用 AR/Arel 重写此 RGeo 查询?
我有以下使用原始 SQL 的范围:
对于 PostgreSQL 类型,其中delivery_zones.shape
ageography(Polygon,4326)
和point
是 a 。geography(Point,4326)
在 Rails 控制台中,它们分别是 a#<RGeo::Geos::CAPIPolygonImpl>
和#<RGeo::Geos::CAPIPointImpl>
。
我想写一些更类似于
...但这给了我这个错误:
RuntimeError:不支持:RGeo::Geos::CAPIPointImpl
希望从我的模型中获取原始 SQL 的帮助!另外,我是 RGeo/PostGIS 新手,所以请不要以为我知道自己在做什么。:D
ruby - 获得 RGeo GEOS 支持以在部署到 Dokku 的 Rails 应用程序中工作
我有一个使用RGeo gem 的 rails 应用程序,我很难安装 gem 并支持我的应用程序正常工作所需的底层GEOS 库。
通常,您可以从 rails 控制台运行,如果支持 GEOS RGeo::Geos.supported?
,它将返回,否则。这适用于我的开发机器(OS X),但总是返回true
false
false
我的 Dokku 容器。
我正在使用构建包来拉入这些库,这是我的内容.buildpack file
:
这似乎至少部分有效,因为 gem 正在使用 PROJ.4 库。这可以通过在我的 Dokku 部署RGeo::CoordSys::Proj4.supported?
中返回的 rails 控制台运行来检查。true
当我部署应用程序时,构建包似乎可以正常工作:
我正在使用最新版本的 Dokku (0.4.10),该应用程序目前在 Ruby 2.2.3、Rails 4.2.5 上运行。
编辑(澄清):我需要这个方法调用(RGeo::Geos.supported?
)在我的应用程序容器的rails控制台中返回true
。只有这样我的应用程序才能正常工作,目前它正在控制台中返回,这意味着 GEOS 可通过 RGeo gem 使用,并且读取 shapefile 等功能将起作用。false
,这意味着 RGeo gem 在安装过程中没有找到 GEOS (libgeos) 库。部署期间没有错误,并且日志输出(包括上面的相关部分)报告 GEOS 3.4.2 是通过 buildpack 安装的。如果没有 GEOS 支持,我什至无法为我的数据库播种,因为该过程的一部分涉及读取 shapfiles 并通过 PostGIS 将它们存储为几何图形。我的应用程序还使用了许多其他需要通过 RGeo 进行 GEOS 的功能,因此这是一个RGeo::Geos.supported?
返回的要求true
ruby - 检查 2 个多边形是否在 ruby 中重叠
我正在寻找一种方法来检查 2 个多边形(一组纬度/经度坐标)是否在 ruby 中重叠。因此,例如,如果我有美国的积分和加利福尼亚的积分,我应该能够看出它们重叠。
我查看了 rgeo,但显然它需要一些仅限 linux 的二进制文件才能使其工作,我正在寻找一个跨平台的解决方案。
例如,假设我有 2 个多边形,看起来像:
我怎样才能证明它们在红宝石中重叠?
rgeo - RGeo 0.5.2 和 RGeo::CoordSys::SRSDatabase::ActiveRecordTable
首先,如果这真的很简单,我很抱歉,但我似乎无法弄清楚。我正在使用 RGeo 在 UTM 和纬度/经度之间进行转换,就像这样;
如您所见,我正在使用RGeo::CoordSys::SRSDatabase::ActiveRecordTable
.
我刚刚升级到RGeo 0.5.2
,我注意到这个类已被弃用。
很公平,但我现在不确定替代方法是什么......我已经四处寻找,似乎找不到合适的文档。
此外,我的原始方法对我来说似乎总是有点复杂 - 有没有更简单的方法来完成 UTM -> 使用 RGeo 进行纬度/经度转换?
提前致谢!
本
ruby-on-rails - Heroku:Web dyno 中 PostGIS 列的错误,但在一次性或工人 dyno 中没有
我有一个空间应用程序(PostGIS + Rails + RGeo)的开始,line_string
在我的一个模型上只有一个列。在我的本地机器上一切都很好,问题出在 Heroku web dynos 上,其中 Rails/activerecord 无法识别 RGeo/PostGIS line_string 类型。
每次部署后,第一次加载模型时,我都会在日志中看到以下内容:
然后,如果我向 STDOUT 添加一些日志记录,我可以看到:
但是,如果我使用 rails console ( ) 运行一次性测功机,heroku run rails c production
一切都很好。我看到了我期望的输出:
在工人测功机下也可以。
什么会导致未知的 OID 错误?为什么一次性和工人测功机能够完美地使用这个专栏,而网络测功机却不行?
postgresql - 将 RGeo 列反序列化为 SphericalPointImpl
在 Rails 4.2.4 和 activerecord-postgis-adapter 3.1.2 中有一个 RGeo 列的表
以及按位置对对象进行分组的方法
与相应的测试:
问题是pluck
返回 RGeo::Geos::CAPIPointImpl
而不是 RGeo::Geographic::SphericalPointImpl
我相信为了解决这个问题,必须指定一个正确的工厂。我试图这样指定它
但它会反序列化所有点,因为RGeo::Geos::CAPIPointImpl
它们更通用且与现有代码库不兼容。
所以问题是如何使所有点反序列化为RGeo::Geographic::SphericalPointImpl
?
ruby-on-rails - 为 RGeo-ActiveRecord 列指定点类型
当Address
模型具有 RGeo 属性时,有一个典型的模式:
通常它被包裹在RGeo::Geographic::SphericalPointImpl
类中
但在某些情况下,它是用完全不合适的笛卡尔包装器包装的RGeo::Cartesian::PointImpl
我正在使用最新'activerecord-postgis-adapter 3.1.4'
的rails 4.2.4
也许有人知道如何解决这个问题,即coordinates
总是返回实例RGeo::Geographic::SphericalPointImpl
?
ruby-on-rails - 尝试从纬度/经度创建点的 RGeo 错误
我正在编写一个应用程序,我试图集成一些通用的地理定位功能,包括将一些纬度/经度坐标保存为数据库中的一个点。这样做的目的是允许用户使用他们的位置(由设备提供)或谷歌地图标记来选择他们的坐标。我已成功从地图或设备中获取坐标,但是我现在无法从它们创建一个点以保存到数据库中。
我已阅读文档并尝试将此代码添加到我的初始化程序中:
初始化程序/rgeo.rb
宝石文件:
移民:
尝试创建点时,我在 rails 控制台中收到此错误:
在阅读了这个演示后,我采用了这种方法,该演示表明该模型隐式地理解 WKT 字符串,并在内部将其转换为“点”对象。