Geoserver - Как нарисовать геодезическую линию, которая представляет большой круг между двумя точками - PullRequest
5 голосов
/ 19 декабря 2011

Я использую Geoserver версии 2.1.1, Postgres 9 и PostGIS 2.0

То, чего я хочу достичь, должно (я думаю!) Быть довольно прямым. Я хочу нарисовать на карте линию, которая представляет Великий круг между двумя городами на поверхности земли.

Моя база данных содержит местоположения городов, представленные в виде географических точек, определенных как пары широты и долготы.

У меня есть слой, определяющий представление SQL в Geoserver, которое извлекает линейную строку (st_makeline) из двух координат для указанных городов. Мне нужно набрать приведение географии к геометрии, чтобы заставить это работать.

Но когда я рисую возвращенную линию на карте, я получаю прямую линию, а не искривленную линию, которую я ожидаю.

Может кто-нибудь сказать мне, как я должен идти об этом?

Спасибо!

Ответы [ 2 ]

2 голосов
/ 05 августа 2012

PostGIS предлагает в основном «конструкторы» базовой геометрической точки, линейной линии и полигона, такие как ST_MakeLine.

И то, что вы хотите сделать, зависит также от системы координат, которую вы используете при отображении слоев карты.

Вот хороший трюк с большими кругами или частями: https://gis.stackexchange.com/questions/5204/curved-point-to-point-route-maps

С уважением, Стефан

P.S. Вот некоторые связанные вещи: Рисование окружностей на сфере А вот немного математики: http://www.mathworks.ch/matlabcentral/newsreader/view_thread/277881

0 голосов
/ 16 августа 2015

У меня была похожая проблема в cartodb (которая также использует PostGIS);Я хотел получить изогнутые линии из прямых.Может быть этот пост может помочь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...