我正在使用Geoserver 2.1.1版,Postgres 9和PostGIS 2.0
我希望实现的目标(我认为!)应该是非常直接的 . 我想在 Map 上渲染一条线,代表地球表面上两个城市之间的大圆 .
我的数据库包含城市位置,表示为定义为纬度和长度对的地理点 .
我在Geoserver中有一个定义SQL视图的图层,它从指定城市的两个坐标中检索一个线串(st_makeline) . 我不得不键入将地理位置转换为几何图形以使其工作 .
但是当我在 Map 上绘制返回的线时,我得到的是一条直线而不是我期待的曲线 .
有人能告诉我应该怎么做吗?
谢谢!
2 回答
PostGIS主要提供基本几何点,线串和多边形的“构造函数”,如ST_MakeLine .
您想要做什么还取决于您在显示 Map 图层时使用的坐标参照系 .
这是关于大圆圈或部分内容的好方法:https://gis.stackexchange.com/questions/5204/curved-point-to-point-route-maps
你的,斯特凡
附:这是一些相关的东西:Drawing circles on a sphere这里有一些数学:http://www.mathworks.ch/matlabcentral/newsreader/view_thread/277881
我在cartodb中也有类似的问题(也使用PostGIS);我想从直线上得到曲线 . 也许this post可以提供帮助 .