2011-12-19 13 views
5

używam wersji 2.1.1 GeoServer, Postgres 9 i PostGIS 2.0GeoServer - Jak mogę narysować linię geodezyjną, która reprezentuje wielkie koło pomiędzy dwoma punktami

Co chcę osiągnąć powinno (myślę!) być całkiem proste. Chcę wyświetlić na mapie linię reprezentującą Wielki Okrąg między dwoma miastami na powierzchni Ziemi.

Moja baza danych zawiera lokalizacje miast reprezentowane jako punkty geograficzne zdefiniowane jako pary szerokości i samotności.

Mam warstwę definiującą widok SQL w Geoserver, który pobiera linijkę (st_makeline) z dwóch współrzędnych dla określonych miast. Muszę wpisać rzucać geografie do geometrii, aby to działało.

Ale kiedy narysuję linię na mapie, otrzymuję linię prostą, a nie linię zakrzywioną.

Czy ktoś może mi powiedzieć, jak powinienem się tym zajmować?

Dzięki!

Odpowiedz

2

PostGIS oferuje głównie "konstruktorów" punktu geometrii bazowej, linitring i polygone, takich jak ST_MakeLine.

To, co należy zrobić, zależy również od układu odniesienia współrzędnych używanego podczas wyświetlania warstw mapy.

Oto miły podstęp o wielkich kręgów lub ich części: https://gis.stackexchange.com/questions/5204/curved-point-to-point-route-maps

Twoi Stefan

PS: Oto niektóre rzeczy związane: Drawing circles on a sphere A oto niektóre matematyka: http://www.mathworks.ch/matlabcentral/newsreader/view_thread/277881

0

miałem podobny problem w cartodb (który również korzysta z PostGIS); Chciałem uzyskać zakrzywione linie z linii prostych. Może może pomóc this post.

Powiązane problemy