问题标签 [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 - 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 段线,但两者都不是。
ruby - RGeo 两个 MultyPolygons 的并集返回 nil
我想从两个几何图形的并集创建一个新的 MultiPolygon,但它返回nil
.
可以在以下要点中找到重现此错误的 MultiPolygons 值:
https://gist.github.com/babasbot/926ae326ff3eb4a79601d56288e82a5f
postgresql - 使用 activerecord-postgis-adapter 并且点不是球形的
我正在尝试使用 activerecord-postgis-adapter gem 创建一个基本应用程序,并按照自述文件中的说明进行操作。
根据自述文件,一个点应该使用球形工厂,但我得到一个 CAPIPointImpl 类型而不是一个点的 SphericalPointImpl。这意味着距离计算不起作用。
这是我正在尝试的:
我正在使用 ruby 2.3.1、rails 5、postgres 9.6 和 postgis 2.3
这是我的架构:
我的初始化:
我的数据库配置:
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
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 特征集合
ruby-on-rails - 多边形 rgeo 中的点
我需要在我的 Rails 应用程序中知道一个点是否在多边形中,以便我想使用 rgeo gem。
要安装这个 geme,我按照rgeo git上的说明进行操作
然后我确定 GEOS 和 Proj4 已正确安装。
我还添加了这个 gem 'ffi-geos',没有特别的原因,只遵循 rgeo doc
最后我在 Rails 控制台上进行了测试以检查是否正常工作
- poly_text = "POLYGON ..." (很多点,我知道第一个点和最后一个点是相同的,否则我认为这不会起作用,因为需要是一个封闭的多边形)
- factory = RGeo::Cartesian::Factory (我正在使用笛卡尔工厂,因为根据我的调查,如果我使用球形工厂,这将不起作用)
- poly = factory.new().parse_wkt(poly_text)
- point1 = factory.new().parse_wkt("POINT (0 0)") (这个点不属于多边形)
- poly.within?(point1)
- 结果:RGeo::Error::UnsupportedOperation: Method Geometry#contains? 没有定义的。来自 (irb):26
更多信息:rails 版本 5.1.2 ide c9 os ubuntu
如果有人有解决方案,在此先感谢,我也愿意使用另一个 gem,或者其他什么,我的目标是解决我的点/多边形问题。