我在这样的PostGIS数据库上创建了圆形几何图形服务器端。
UPDATE element
SET geo = ST_Buffer(
ST_MakePoint(6.1043443253471, 42.3150676015829), 6, 'quad_segs=8')
WHERE id = 1;然后,在客户端浏览器上获取要发送给openlayers的WKT。
SELECT ST_AsText(geo) from element where id = 1问题是,圆圈在地图上显示为省略号,如这里所示。

它可能与投影有关,但我不知道如何创建这个圆服务器端,使它在地图上显示为一个真正的圆圈。
你能帮我吗?提前谢谢。
发布于 2021-12-20 21:32:49
是的,它是投影,因为经度不具有相同的地面长度,以米为单位,以纬度为单位。
尽管如此,图片和示例代码并不匹配,因为代码指示创建一个6度宽的缓冲区,即+- 600公里,点在地中海而不是后院(可能X和Y被交换了?)。
为了克服这一问题,您可以选择保存距离的本地CRS,例如UTM。
或者,您可以使用地理创建缓冲区,在默认情况下它有一个以米为单位的单位,然后转换回几何学。
select ST_Buffer(
ST_MakePoint(6.1043443253471, 42.3150676015829)::geography,
6, 'quad_segs=8'
)::geometry
WHERE id = 1;https://stackoverflow.com/questions/70427751
复制相似问题