5

我正在使用 Geoserver 版本 2.1.1、Postgres 9 和 PostGIS 2.0

我想要实现的目标应该(我认为!)非常简单。我想在地图上绘制一条代表地球表面上两个城市之间的大圆的线。

我的数据库包含表示为定义为纬度和经度对的地理点的城市位置。

我在 Geoserver 中有一个定义 SQL 视图的层,它从指定城市的两个坐标中检索线串(st_makeline)。我必须将地理类型转换为几何形状才能使其正常工作。

但是当我在地图上绘制返回的线时,我得到的是一条直线,而不是我期望的曲线。

有人能告诉我我应该怎么做吗?

谢谢!

4

2 回答 2

2

PostGIS 主要提供基础几何点、线串和多边形的“构造函数”,如 ST_MakeLine。

您想要做什么还取决于您在显示地图图层时使用的坐标参考系统。

这是一个关于大圆圈或部分的好技巧: https ://gis.stackexchange.com/questions/5204/curved-point-to-point-route-maps

你的,斯特凡

PS这里有一些相关的东西: 在球体上 画圆圈这里有一些数学: http: //www.mathworks.ch/matlabcentral/newsreader/view_thread/277881

于 2012-08-05T19:37:49.717 回答
0

我在 cartodb (也使用 PostGIS)中遇到了类似的问题;我想从直线得到曲线。也许这篇文章可以提供帮助。

于 2015-08-16T10:29:23.630 回答