我正在使用Geoserver版本2.1.1,Postgres 9和PostGIS 2.0
我想要实现的目标(我认为!)应该非常直接。我想在地图上渲染一条线,代表地球表面上两个城市之间的大圆。
我的数据库包含城市位置,表示为定义为纬度和长度对的地理点。
我在Geoserver中有一个定义SQL视图的图层,它从指定城市的两个坐标中检索一个线串(st_makeline)。我不得不键入将地理位置转换为几何图形以使其工作。
但是当我在地图上绘制返回的线时,我得到的是一条直线,而不是我期待的曲线。
有人可以告诉我应该怎么做吗?
谢谢!
答案 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可以提供帮助。