2009-05-21 20 views
9

Estoy buscando una biblioteca Java para mostrar datos de mapas de varias fuentes, incluidos shapefile, WMS, WFS, Google Maps, posiblemente ArcIMS, etc. Parece que OpenLayers es lo más parecido a lo que deseo, excepto que es una biblioteca de JavaScript, y estoy escribiendo una aplicación Swing.Java equivalente de OpenLayers

GDAL parece prometedor, pero por lo que puedo ver, no habrá enlaces Java hasta "alguna vez" en el futuro.

Para que quede claro, estoy buscando una sola API de Java que pueda usar para mostrar mapas de varios servidores/fuentes de mapas.

¿Alguien sabe si algo como esto existe, y si no, a dónde ir desde aquí? ¿Debo construir esta API encima de GeoTools? O ...

+0

Quizás acepté esta respuesta demasiado pronto, ya que esta fue mi primera pregunta sobre SO? Parece haber obtenido más vistas pero no más información. – dave4351

Respuesta

3

GeoTools es una buena apuesta para esto. Google Maps Terms of Service prohíbe el acceso a los mosaicos de Google Maps, excepto a través de la API de Google Maps (JavaScript), por lo que no es probable que encuentre una base de código disponible libremente para acceder a ellos en una aplicación Java. Restricciones similares probablemente se apliquen a otras capas comerciales.

+0

Esperaba algo con un nivel de abstracción más alto que Geotools, pero tendré que crear lo que necesito sobre esta base. – dave4351

0

He utilizado MapXtreme for Java, era bastante bueno y admitía varios formatos. No es barato, pero cumple.

Está orientado a la representación de formatos de datos vectoriales.

Puede usarlo tanto en el servidor como en el lado del cliente.

0

mapscript Try para Java www.mapserver.org

CU

0

Tenga una mirada en UDIG

http://udig.refractions.net/

Se basa en el Eclipse RCP trabaja con Geotools y puede mostrar más tipos de datos espaciales.

es de código abierto y parece tener un poco de actividad

3

uDig, probablemente satisfacer sus necesidades de bien si se puede trabajar en el marco del PCR. No tengo ninguna experiencia con uDig o NASA World Wind, pero si necesita poner las características del mapa en una aplicación existente, NASA's World Wind Java SDK es otra opción. Es extensible y admite estándares industriales para datos geoespaciales. Tienen una wiki informativa here. Vi por primera vez NASA World Wind en JavaOne 2007 y no parece que Java SDK realmente haya despegado ni parece que la versión .Net esté viendo muchas versiones nuevas, pero podría satisfacer sus necesidades si son básicas. .

0

ArcGIS Engine Java hará lo que necesite. Se integra en una plataforma SIG completamente integrada. Existen herramientas para crear mapas de calidad cartográfica, publicarlos, alojarlos o crear aplicaciones personalizadas.

4

Este es un caso en el que tiene muchas opciones. GeoTools es una biblioteca de bajo nivel y una excelente opción para algunos trabajos prácticos. Recientemente comenzamos a usar Swing para nuestro código de ejemplo para hacer tutoriales more visual. Dicho esto, son solo código de tutorial y no representan un sistema multihilo como uDig.

Si está buscando aplicaciones Swing para comenzar a formar, está la familia Jump (tristemente dispersa a través de un proceso de desarrollo cerrado - OpenJump representa una colección de varias bifurcaciones), gvSig que tiene un excelente respaldo financiero en Span, etc. .

Es posible que también desee ver el lado de la biblioteca del proyecto deegree (que parece recordar que produjo una aplicación de escritorio también).

También recomiendo mirar algunos de los visualizadores de mapas en mosaico producidos alrededor de los conjuntos de datos de Nasa World Wind y Open Street Map. Estos serán más similares a la experiencia OpenLayers.

Descargo de responsabilidad Estoy en el comité de dirección de GeoTools, y uDig.

1

OpenMap es supuestamente bastante bueno.

Advertencia: la licencia "abierta" que utilizan es considerednon-free por Fedora y GNU.

0

No maneja todos los formatos que usted menciona, pero yo estaba exitosas mapas Web que muestra utilizando modestmaps para Processing (encontrarla here). Se puede incrustar un PApplet de procesamiento en una GUI de oscilación como se explica en here.

0

Puede utilizar GoogleMaps si puede insertar un navegador web en su aplicación Java swing, pruebe JDIC o DJ Project. También vea Is there a way to embed a browser in Java? He estado trabajando con tal solución en C# - incrustando IE. Sin embargo, debe incorporar un buen navegador web, generalmente un navegador web nativo, y esto limita su solución.