2009-07-10 15 views
6

Actualmente estoy usando el Java Map Projection Library (Pude obtener el código usado para el Applet del autor y modificarlo para usarlo en una aplicación de escritorio, no estoy seguro de si se vinculó a eso en su sitio web aún) para dibujar un mapa de la Tierra en una aplicación. Sin embargo, quiero llevar esto un paso más allá. Tengo un conjunto de puntos de latitud/longitud que quiero trazar en este mapa; solo necesito dibujar un círculo en cada punto y tal vez algunas líneas que conectan los círculos (puntos) en el mapa. Sin embargo, como el usuario utiliza las funciones integradas de panoramización y zoom, los puntos deben volver a dibujarse en la posición correcta. Lo mejor que he podido lograr es mantener los puntos al hacer zoom, y aun así los puntos aumentan al acercarlo.Usando Java y cualquier biblioteca externa, ¿cómo puedo dibujar puntos de latitud/longitud en una representación gráfica de la Tierra?

Estoy totalmente abierto a cambiar bibliotecas, sin embargo, realmente no he encontrado una biblioteca que puede encargarse de dibujar un mapa del mundo, particularmente sobre un componente Swing (no necesita ser tan preciso, simplemente mostrar las masas terrestres de forma correcta) y también trazar puntos adicionales sobre ese mapa y hacer que se "peguen" a varias coordenadas de latitud/longitud.

Miré Google Earth y NASA WorldWind, sin embargo, son terriblemente pesados ​​para mis propósitos (no necesito nada tan detallado o preciso) y no parece tan fácil permitir el uso sin conexión e integrar el vista de imagen mundial en una aplicación existente.

Sugerencias o ideas?

+0

Una cosa que no menciona es que si quieres un 2D o 3D representación de los datos geoespaciales. ¿En qué proyección están tus datos? – rburhum

+0

Tengo coordenadas de latitud y longitud, como dije. AFAIK, no hay una proyección única asociada con latitudes y longitudes. –

Respuesta

0

Aunque no lo he usado, el proyecto SwingLabsSwingX-WS tiene un "componente de visor de mapas enriquecido". Hay un tutorial para comenzar con el componente del mapa en la página de Java.net.

+0

Esto parece estar orientado a la web. Como dije en mi publicación, esto es para una aplicación de escritorio y no puedo confiar en una conexión a Internet. –

+0

Es cierto. Su fraseología, específicamente "¿Sugerencias o pensamientos?", Parecía indicar que podría estar abierto a algo que no era una solución enmarcada. Me doy cuenta de que no es exactamente lo que estabas buscando, pero el golpe parece un poco punitivo. –

0

Manejo de los datos geoespaciales puede ser muy complicado rápidamente. El enfoque que se debe tomar depende en gran medida de la precisión que debe tener al mostrar los datos. GIS for Web Developers es un excelente libro que cubre los problemas con los datos geoespaciales y cómo obtenerlos de la fuente de datos en la pantalla. Está orientado a pantallas basadas en web, pero los conceptos son los mismos.

Si no necesita un alto grado de precisión, un enfoque simple es encontrar un mapa base no proyectado. Con un mapa base, es fácil mostrar puntos lat/long usando coordenadas cartesianas simples.

Si necesita una pantalla precisa, entonces realmente no hay forma de evitar las bibliotecas bastante complejas. Hay un montón de matemáticas involucradas en la conversión de datos geoespaciales con diferentes datos y proyecciones en algo que se puede mostrar a los usuarios.

0

Debería mirar OpenMap.

Hemos estado usando OpenMap para mostrar pistas de GPS en aplicaciones de escritorio durante algunos años. Es muy fácil agregar tus propias capas para los puntos de seguimiento, el historial, las anotaciones y tus propias fuentes de datos. No necesita tener ninguna conexión externa si no desea que la tenga.

Miré rápidamente a GeoTools, pero parecía que comenzar, al menos un año o dos atrás era más complejo de lo que ya habíamos logrado con OpenMap. Hemos estado explorando recientemente WorldWind, pero definitivamente mucho más de lo que necesitábamos.OpenMap requiere poco en caballos de fuerza frente a WorldWind, que necesita una tarjeta de video bastante decente.

0

Utilicé OpenMap para una aplicación pequeña hace algún tiempo, es un truco, pero muestra cómo hacerlo. La aplicación muestra pistas de huracanes de varios años utilizando datos de NOAA. Puede descargar desde aquí:

http://github.com/DonBranson/SnarfNOAA

Cuestiones relacionadas