为什么 "circles" 在 PostGIS 中在地图上显示为 "ellipsis"?

Why "circles" in PostGIS appear as "ellipsis" on map?

我像这样在 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

问题是圆在地图上显示为省略号,就像这里一样

这可能与投影有关,但我不明白如何在服务器端创建这个圆圈,使其在地图上显示为一个真实的圆圈。

你能帮我解决这个问题吗? 提前致谢。

是的,这是投影,因为经度与纬度的地面长度(以米为单位)不同。

也就是说,图片和示例代码不匹配,因为代码指示创建一个 6 度宽的缓冲区,即 +- 600 公里,并且该点位于地中海而不是后院(也许 X 和 Y 被调换了?)。

为了克服这个问题,您可以选择保留距离的本地 CRS,例如 UTM。

或者,您可以使用默认单位为米的地理创建缓冲区,然后转换回几何。

select ST_Buffer(
    ST_MakePoint(6.1043443253471, 42.3150676015829)::geography, 
    6, 'quad_segs=8'
  )::geometry  
WHERE id = 1;