问题标签 [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.

0 投票
2 回答
1166 浏览

ruby - RGeo 交集函数的问题

我从 RGeo 多边形相交函数(Ruby 2.3.0,RGeo 0.5.3)得到奇怪/不正确的结果

示例 1:

我有两个多边形,我相信它们共享一个边界但不共享任何内部空间(即它们接触但不重叠):

当我们检查它们之间的交点时,它会返回一条线,正如预期的仅共享边界的几何图形:

但是,在运行以下检查时,我们得到的结果与预期相反:

示例 2:

我们采用两个合法重叠的多边形:

在此处输入图像描述

并计算两个方向的差异:

现在我们根据减法器检查剩余的多边形:

这很好。

这是不可能的-从另一个多边形中减去的多边形的其余部分不可能与该多边形重叠!

为什么它只发生在一个方向?

示例 3:

怪事还在继续。现在让我们得到 poly_3 和 poly_4 的交集

现在,既然这是应该从 poly_3 中减去得到 diff_a 的值,因此 diff_a 应该与 intersection_a 相交的方式与它与 poly_4(减法器)相交的方式完全相同。

除非它没有:

更糟糕的是,这两个交集结果都没有意义。它应该是一条单独的 2 段线,但两者都不是。

0 投票
1 回答
430 浏览

ruby - RGeo 两个 MultyPolygons 的并集返回 nil

我想从两个几何图形的并集创建一个新的 MultiPolygon,但它返回nil.

可以在以下要点中找到重现此错误的 MultiPolygons 值:

https://gist.github.com/babasbot/926ae326ff3eb4a79601d56288e82a5f

多多边形

多多边形

0 投票
0 回答
95 浏览

ruby-on-rails - 使用 RGeo 存储点时出现 ArgumentError

我在 RGeo 中存储一个点时遇到了一些麻烦。

初始化程序/rgeo.rb

宝石文件:

移民:

我收到这个错误

我的问题与这个问题基本相同,但那里的解决方案似乎都不起作用。任何帮助,将不胜感激!

0 投票
2 回答
590 浏览

postgresql - 使用 activerecord-postgis-adapter 并且点不是球形的

我正在尝试使用 activerecord-postgis-adapter gem 创建一个基本应用程序,并按照自述文件中的说明进行操作。

根据自述文件,一个点应该使用球形工厂,但我得到一个 CAPIPointImpl 类型而不是一个点的 SphericalPointImpl。这意味着距离计算不起作用。

这是我正在尝试的:

我正在使用 ruby​​ 2.3.1、rails 5、postgres 9.6 和 postgis 2.3

这是我的架构:

我的初始化:

我的数据库配置:

0 投票
1 回答
364 浏览

ruby-on-rails - How to edit GeoJSON data in rails view?

I want to have ability to edit GeoJSON data as text, in edit page. I use Rails, PostgreSQL with activerecord-postgis-adapter. For encoding data I use rgeo-geojson.

My show view works fine, I encode:

But how to upgrade my edit view, so I could edit data in GeoJSON format and save it:

Sorry if the question look messy

0 投票
1 回答
846 浏览

ruby-on-rails - 我想保存 GeoJSON 多边形

我想保存一个多边形。

这是 Geojson在此处输入链接描述

这是我的 rgeo.rb

0 投票
1 回答
279 浏览

ruby-on-rails - 如何找到包含特殊纬度长点的所有多边形

我使用 rgeo 和 activerecord-postgis-adapter gem。我想查找多边形中包含特殊点的所有记录。我在谷歌地图上标记了矩形,并期望如果点在里面,sql 返回行,当点在外面时不返回行。不幸的是point_outside_2也返回结果。我做错了什么?我应该使用预测而不是真正的经纬度吗?

在此处输入图像描述

移民:

0 投票
1 回答
1782 浏览

r - 简化 rgeos 中的多边形并在 SpatialPolygonsDataFrame 中维护数据

背景

我有兴趣使用包中gSimplify提供的功能来简化多边形rgeos

可重现的例子

可以使用以下代码生成可重现的示例:

预习

简化和原始多边形

问题

除了简化多边形之外,该gSimplify函数还更改了结果对象的类:

问题

  • 如何安全地重新附加原始对象中最初可用的数据并将生成的SpatialPolygons对象转换为SpatialPolygonsDataFrame

  • 我认为一种方法只涉及附加数据框;但这取决于元素的顺序不变。还有其他更好的方法(理想情况下保留初始对象类)吗?

0 投票
1 回答
197 浏览

ruby-on-rails - 如何从集合中输出geojson

我想使用 rgeo-geojson 从我的 rails 应用程序输出一个 geojson 文件。我有一个点表,每个点都有纬度和经度。

我以标准方式设置了我的控制器

respond_to do |format| format.html format.csv { send_data @nodes_for_map.to_csv } format.json { send_data @nodes_for_map.as_geo_json } end

如何从集合中创建 geojson?

rgeo-geojson 特征集合

0 投票
3 回答
2656 浏览

ruby-on-rails - 多边形 rgeo 中的点

我需要在我的 Rails 应用程序中知道一个点是否在多边形中,以便我想使用 rgeo gem。

要安装这个 geme,我按照rgeo git上的说明进行操作

然后我确定 GEOS 和 Proj4 已正确安装。

在此处输入图像描述

我还添加了这个 gem 'ffi-geos',没有特别的原因,只遵循 rgeo doc

最后我在 Rails 控制台上进行了测试以检查是否正常工作

  1. poly_text = "POLYGON ..." (很多点,我知道第一个点和最后一个点是相同的,否则我认为这不会起作用,因为需要是一个封闭的多边形)
  2. factory = RGeo::Cartesian::Factory (我正在使用笛卡尔工厂,因为根据我的调查,如果我使用球形工厂,这将不起作用)
  3. poly = factory.new().parse_wkt(poly_text)
  4. point1 = factory.new().parse_wkt("POINT (0 0)") (这个点不属于多边形)
  5. poly.within?(point1)
  6. 结果:RGeo::Error::UnsupportedOperation: Method Geometry#contains? 没有定义的。来自 (irb):26

在这里你可以看到输出: 在此处输入图像描述

更多信息:rails 版本 5.1.2 ide c9 os ubuntu

如果有人有解决方案,在此先感谢,我也愿意使用另一个 gem,或者其他什么,我的目标是解决我的点/多边形问题。