Geoserver - 如何绘制代表两点之间的大圆的测地线

时间:2011-12-19 16:47:47

标签: postgresql gis postgis geoserver

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

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

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

我在Geoserver中有一个定义SQL视图的图层,它从指定城市的两个坐标中检索一个线串(st_makeline)。我不得不键入将地理位置转换为几何图形以使其工作。

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

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

谢谢!

2 个答案:

答案 0 :(得分:2)

PostGIS主要提供"构造函数"基本几何点,线串和多边形,如ST_MakeLine。

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

这是关于大圆圈或部分内容的好方法: https://gis.stackexchange.com/questions/5204/curved-point-to-point-route-maps

你的,斯特凡

P.S。这里有一些相关的东西: Drawing circles on a sphere 这里有一些数学: http://www.mathworks.ch/matlabcentral/newsreader/view_thread/277881

答案 1 :(得分:0)

我在cartodb中也有类似的问题(也使用PostGIS);我想从直线上得到曲线。也许this post可以提供帮助。