- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在开发的一个应用程序有一个 regions
包含名为 polygon
的几何列的表.该应用程序通过 activerecord-postgis-adapter
使用 PostGIS gem 。涉及几何列的 Active Record 迁移产生的模式显示:t.geometry "polygon", limit: {:srid=>0, :type=>"geometry"}
用户可以通过前端的 Leaflet.js map 存储圆形、矩形和多边形。创建圆时,浏览器请求包括圆心和半径(以米为单位)。
为了创建一个圆,应用程序将中心和半径与多边形一起存储。要保存多边形,Region
模型使用以下方法:
def uncached_circle(coordinates, radius)
ActiveRecord::Base.connection.execute("
SELECT ST_Buffer(ST_GeomFromText('#{uncached_point(coordinates.first)}')::geography, #{radius}, 'quad_segs=8')::geometry AS circle;
")[0]["circle"]
end
LinearRing failed ring test
错误。例如,这些请求参数:
{"name"=>"New Orleans, LA", "coordinates"=>[{"lat"=>29.9510658, "lng"=>-90.0715323}], "radius"=>25000, "shape"=>"circle", "format"=>:json, "region"=>{"name"=>"New Orleans, LA", "shape"=>"circle"}}
SELECT ST_Buffer(ST_GeomFromText('POINT(29.9510658 -90.0715323)')::geography, 25000, 'quad_segs=8')::geometry AS circle;
ST_MakeValid
中。 ,我认为这是一种代码异味。
最佳答案
我相信您正在切换坐标对的顺序。应该是 lon,lat
而不是 lat,lon
.
因此,请使用 POINT(-90.0715323 29.9510658)
尝试您的查询和 不是 POINT(29.9510658 -90.0715323)
:
SELECT
ST_Buffer('POINT(-90.0715323 29.9510658)'::geography,
25000,
'quad_segs=8')::geometry AS circle;
WGS84
(EPSG:4326)
关于ruby-on-rails - 事件记录和 PostGIS ST_BUFFER : LinearRing failed ring test,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60402782/
我有以下代码: set @lon = 121.4732134; set @lat = 31.2304321; set @point = point(@lon, @lat); set @radius
我想使用 sf 在都柏林机场周围绘制一个 110 NM(海里)的圆圈包裹。 (稍后我将通过 st_intersect 与来自 ADS-B 的航类位置报告相交。) 我为 NM 定义了一个新单位,如下所示
我尝试测试是否在距某点一定距离处遇到一条线。 St_distance 给了我我想要的东西。但是,我对 st_intersects + st_buffer 很好奇: $ mysql --version
要围绕一对经纬度坐标创建多边形,我希望能够缓冲地理点: 例如ST_BUFFER(ST_GEOGPOINT(lat, lon), 1000) 这将创建一个半径为 1000 米的圆形多边形。 Bigque
我有以下墨西哥 map 。它显示了所有市政当局和大约400个气象站。 我想在每个车站周围创建一个10公里的缓冲区,并最终将每个市政当局与位于每个半径内的车站相关联。 map 和测站存储在单独的sf对象
我需要使用 MySQL GIS 搜索指定圆内的点所在的行。伪代码示例查询是: select * from gistable g where isInCircle(g.point, circleCent
我正在开发的一个应用程序有一个 regions包含名为 polygon 的几何列的表.该应用程序通过 activerecord-postgis-adapter 使用 PostGIS gem 。涉及几何
我正在 Java 应用程序中使用 Hibernate 5.1.0。我正在将两者连接到具有 Postgis 扩展和 Oracle 数据库的 Postgres 9.5。我需要在我的数据库中找到所有与我应用
我是一名优秀的程序员,十分优秀!