2011-12-19 19 views
5

sto usando Geoserver versione 2.1.1, Postgres 9 e PostGIS 2.0Geoserver - Come posso disegnare una linea geodetica che rappresenta il grande cerchio tra due punti

Quello che voglio raggiungere dovrei (credo!) essere abbastanza semplice Voglio rendere su una mappa una linea che rappresenta il Grande Cerchio tra due città sulla superficie terrestre.

Il mio database contiene le ubicazioni della città rappresentate come punti geografici definiti come coppie di latitudine e di lealtà.

Ho un layer che definisce una vista SQL in Geoserver che recupera una stringa lineare (st_makeline) dalle due coordinate per le città specificate. Devo digitare le geografie alle geometrie per farlo funzionare.

Ma quando disegno la linea restituita su una mappa ciò che ottengo è una linea retta e non la linea curva che mi aspetto.

Qualcuno può dirmi come dovrei fare questo?

Grazie!

risposta

2

PostGIS offre principalmente "costruttori" del punto delle geometrie di base, linea e poligono, come ST_MakeLine.

E ciò che si vuole fare dipende anche dal sistema di riferimento di coordinate che si usa quando si visualizzano i livelli della mappa.

Ecco un bel trucco sui grandi cerchi o parti di: https://gis.stackexchange.com/questions/5204/curved-point-to-point-route-maps

Distinti, Stefan

P.S. Ecco alcune cose correlate: Drawing circles on a sphere E c'è di certo per la matematica qui: http://www.mathworks.ch/matlabcentral/newsreader/view_thread/277881

0

Ho avuto un problema simile in cartodb (che utilizza anche PostGIS); Volevo ottenere linee curve da linee rette. Forse this post può aiutare.