Domanda

Sto cercando una libreria Java per visualizzare dati cartografici da varie fonti, inclusi shapefile, WMS, WFS, Google Maps, possibilmente ArcIMS, ecc.Sembra che OpenLayers sia la cosa più vicina a ciò che voglio, tranne che è una libreria JavaScript e sto scrivendo un'applicazione Swing.

GDAL sembra promettente, ma per quanto ne so non ci saranno collegamenti Java fino a "qualche volta" in futuro.

Giusto per essere chiari, sto cercando una singola API Java che posso utilizzare per visualizzare mappe da un numero di server/fonti di mappe.

Qualcuno sa se esiste qualcosa di simile e, in caso contrario, dove andare da qui?Dovrei creare questa API su GeoTools?O...

È stato utile?

Soluzione

GeoTools è una buona scommessa per questo.Le mappe di Google Termini di servizio vietare l'accesso ai riquadri di Google Maps se non tramite l'API di Google Maps (JavaScript), quindi è improbabile che troverai una codebase disponibile gratuitamente per accedervi in ​​un'applicazione Java.Restrizioni simili si applicano probabilmente ad altri livelli commerciali.

Altri suggerimenti

Questo è un caso in cui hai un sacco di scelta. GeoTools è infatti una libreria di basso livello e una scelta eccellente per alcune mani sul lavoro. Recentemente abbiamo iniziato a utilizzare swing per il nostro codice di esempio al fine di rendere tutorial più visivi . Detto codice sono solo dimostrativi e non rappresentano un sistema multi threaded come uDig.

Se siete alla ricerca di applicazioni Swing per iniziare forma c'è la famiglia Jump (purtroppo dispersa attraverso un processo di sviluppo chiuso - OpenJUMP rappresenta un insieme delle varie forcelle), gvSIG, che ha un eccellente sostegno finanziario a Span, e così via.

Si può anche voler guardare il lato biblioteca del progetto di Deegree (che mi sembra di ricordare prodotta un'applicazione desktop come bene?).

Consiglio anche guardare alcuni dei telespettatori mappa piastrelle prodotte intorno set di dati NASA World Wind e Open Street Map. Questi saranno più simile all'esperienza OpenLayers.

di responsabilità Sono parte del comitato direttivo per GeoTools e uDig.

uDig sarebbe probabilmente soddisfare le vostre esigenze più che bene se si può lavorare nel quadro RCP. Non ho alcuna esperienza con uDig o NASA World Wind, ma se avete bisogno di mettere le caratteristiche della mappa in un'applicazione esistente, della NASA World Wind Java SDK è un'altra opzione. E 'estendibile e supporta gli standard di settore per i dati geospaziali. Hanno un wiki informativo qui . Ho visto la prima volta la NASA World Wind a JavaOne 2007 e non sembra l'SDK Java è veramente decollato né fa apparire come la versione Net sta vedendo un sacco di nuove uscite, ma potrebbe soddisfare le vostre esigenze, se sono di base .

OpenMap è presumibilmente piuttosto buona.

Attenzione: la licenza "aperta" che usano è considerato > non libero da Fedora e GNU.

ho usato MapXtreme per Java , era abbastanza buono e sostenuto diversi formati. Non è economico ma offre.

Si è orientata verso il rendering formati di dati vettoriali.

Si può usare entrambi i server o lato client.

Prova MapScript per Java www.mapserver.org

CU

Date un'occhiata al uDig

http://udig.refractions.net/

Si basa sulla Eclipse RCP funziona con GeoTools e può visualizzare la maggior parte dei tipi di dati spaziali.

è open source e sembra avere un po 'di attività

ArcGIS Engine Java farà quello che ti serve. Si integra in una piattaforma GIS completamente integrata. Ci sono strumenti per creare mappe cartografiche di qualità, pubblicarli, li ospitano fuori, o per costruire applicazioni personalizzate.

Non gestisce tutti i formati di cui parli, ma ho avuto successo visualizzazione delle mappe Web utilizzando modestmaps per Lavorazione (trovo qui ). Un PApplet elaborazione può essere incorporato in una GUI altalena come spiegato qui .

È possibile utilizzare GoogleMaps se è possibile incorporare un browser Web nella vostra applicazione Java Swing, provare JDIC o DJ Project. Vedere anche C'è un modo per incorporare un browser in Java ? ho lavorato con tale soluzione in C # - embedding IE. Tuttavia, è necessario incorporare un buon browser web, di solito un po 'di web browser nativo e questo limita la soluzione del genere.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top