首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法使用PostGIS/RGeo保存面

无法使用PostGIS/RGeo保存面
EN

Stack Overflow用户
提问于 2012-12-10 02:04:26
回答 2查看 1.9K关注 0票数 2

如何使用Rails的PostGIS适配器保存多边形?在我的模型中,我有:

代码语言:javascript
复制
self.rgeo_factory_generator = RGeo::Geos.factory_generator
set_rgeo_factory_for_column(:bounds, RGeo::Geographic.spherical_factory(:srid => 4326))

但是,当我尝试将多边形保存到DB时,它不会引发任何错误,但总是无法存储多边形:

代码语言:javascript
复制
1.9.3p194 :011 > n.bounds = "POLYGON(-149.737965876574 61.1952881991104, -149.71848377896 61.1953198415937, -149.718483761252 61.1952938698801, -149.718483872402 61.1951924591105)"
 => "POLYGON(-149.737965876574 61.1952881991104, -149.71848377896 61.1953198415937, -149.718483761252 61.1952938698801, -149.718483872402 61.1951924591105)" 
1.9.3p194 :012 > n.save
   (0.2ms)  BEGIN
   (0.3ms)  COMMIT
 => true 
1.9.3p194 :013 > n.bounds
 => nil 

我怎么才能让它工作呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-12-11 03:49:09

它是无效的WKT,无法解析的原因有两个:

  1. 这里没有戒指。您需要在坐标数组周围添加另一组括号。
  2. 环未闭合。重复起点作为终点。

下面是有效的WKT应该是什么样子:

代码语言:javascript
复制
POLYGON((-149.737965876574 61.1952881991104, -149.71848377896 61.1953198415937, -149.718483761252 61.1952938698801, -149.718483872402 61.1951924591105, -149.737965876574 61.1952881991104))
票数 6
EN

Stack Overflow用户

发布于 2012-12-10 02:27:05

在纯PostGIS中,此多边形将生成geometry contains non-closed rings错误。尝试“关闭”多边形(在末端添加第一个点)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13790131

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档