2011-12-19 15 views
5

que estoy usando la versión 2.1.1 Geoserver, Postgres 9 y PostGIS 2.0Geoserver - ¿Cómo puedo dibujar una línea geodésica que representa el círculo máximo entre dos puntos

Lo que yo quiero lograr debería (creo!) ser bastante directo. Quiero representar en un mapa una línea que representa el Gran Círculo entre dos ciudades en la superficie de la tierra.

Mi base de datos contiene las ubicaciones de la ciudad representadas como puntos de geografía definidos como pares de latitud y longitud.

Tengo una capa que define una vista de SQL en Geoserver que recupera una cadena de líneas (st_makeline) de las dos coordenadas para las ciudades especificadas. Tengo que escribir el reparto de geografías a las geometrías para que esto funcione.

Pero cuando dibujo la línea devuelta en un mapa, lo que obtengo es una línea recta y no la línea curva que estoy esperando.

¿Alguien me puede decir cómo debería hacerlo?

Gracias!

Respuesta

2

PostGIS ofrece principalmente "constructores" del punto de geometrías base, cadenas lineales y polígonos, como ST_MakeLine.

Y lo que usted desee hacer también dependerá del sistema de referencia de coordenadas que use cuando muestre las capas de su mapa.

Aquí es un buen truco acerca de los grandes círculos o partes de: https://gis.stackexchange.com/questions/5204/curved-point-to-point-route-maps

Suyo, Stefan

P. S. He aquí algunas cosas relacionadas: Drawing circles on a sphere Y aquí está un poco de matemática: http://www.mathworks.ch/matlabcentral/newsreader/view_thread/277881

0

que tenía un problema similar en cartodb (que también utiliza PostGIS); Quería obtener líneas curvas a partir de líneas rectas. Tal vez this post puede ayudar.

Cuestiones relacionadas