Java-äquivalent von OpenLayers
Ich bin auf der Suche nach eine Java-Bibliothek zum anzeigen von Daten aus verschiedenen Quellen, einschließlich shapefile, WMS, WFS, Google Maps, möglicherweise ArcIMS, etc. Es scheint, wie OpenLayers ist die nächste Sache, was ich will, außer es ist eine JavaScript-Bibliothek, und ich bin das schreiben einer Swing-Anwendung.
GDAL sieht vielversprechend aus, aber soweit ich sagen kann, es wird nicht Java bindings, bis "irgendwann" in der Zukunft.
Nur um klar sein, ich bin auf der Suche für ein einzelnes Java-API, die ich verwenden können, um die Karten-Anzeige von einer Nummer, die der map-Server/Quellen.
Weiß jemand, ob so etwas existiert, und wenn nicht, wo von hier aus gehen? Sollte ich bauen diese API auf der Oberseite der GeoTools? Oder...
- Vielleicht habe ich angenommen, dass diese Antwort viel zu schnell, da war meine erste Frage, ALSO? Es scheint, bekommen mehr views, aber keine mehr input.
Du musst angemeldet sein, um einen Kommentar abzugeben.
GeoTools ist eine gute Wette für diese. Die Google Maps Nutzungsbedingungen verbieten den Zugriff auf Google-Maps Kacheln, ausser durch die (JavaScript) Google-Maps-API, so ist es nicht wahrscheinlich, dass Sie finden einen frei verfügbaren Codebasis, um Ihnen den Zugang in eine Java-Anwendung. Ähnlichen Einschränkungen unterliegen wohl für andere kommerzielle Legehennen.
Dies ist ein Fall, wo haben Sie viel Auswahl.
GeoTools ist in der Tat eine low-level-Bibliothek und eine ausgezeichnete Wahl für einige Hände auf der Arbeit. Wir haben vor kurzem begonnen, mit Schaukel für unsere Beispiel-code, um zu machen tutorials mehr visual. Das heißt, Sie sind tutorial-code nur, und nicht repräsentieren ein multi-threaded system wie uDig.
Wenn Sie auf der Suche für Swing-Anwendungen zu starten, gibt es die Jump-Familie (leider verstreut über einen geschlossenen Entwicklungsprozess - OpenJump stellt eine Sammlung von verschiedenen Gabeln), gvSig, die hervorragende finanzielle Unterstützung im Span, und so weiter.
Können Sie auch wollen, betrachten Sie die library-Seite des deegree-Projekt (welches ich scheine zu erinnern, produzierte eine desktop-Anwendung wie auch?).
Ich empfehle auch einen Blick auf einige der gekachelten Karten-Zuschauer produziert rund Nasa World Wind-und Open-Street-Map-datasets. Diese wird ähnlich wie die OpenLayers-Erfahrung.
Haftungsausschluss ich bin auf der lenkungsausschuß für GeoTools und uDig.
uDig würde wahrscheinlich erfüllen Ihre Bedürfnisse nur in Ordnung, wenn Sie arbeiten innerhalb der RCP-framework. Ich habe keine Erfahrung mit uDig oder NASA World Wind, aber wenn Sie brauchen, um die map-Funktionen in einer vorhandenen Anwendung, NASA World Wind Java SDK ist eine weitere option. Es ist erweiterbar und unterstützt Industrie-standards für raumbezogene Daten. Sie haben eine informative wiki -hier. Sah ich zum ersten mal NASA World Wind in die JavaOne 2007 und es sieht nicht wie das Java-SDK wirklich aus, noch sieht es die .Net-version ist zu sehen, eine Menge von neuen Versionen, aber es könnte Ihre Bedürfnisse zu erfüllen, wenn Sie grundlegende.
OpenMap ist angeblich ziemlich gut.
Achtung: die "open" - Lizenz, die Sie verwenden, ist als non-free von Fedora GNU.
Habe ich verwendet MapXtreme for Java, es war ziemlich gut und unterstützt mehrere Formate. Es ist nicht Billig, aber es liefert.
Es orientiert sich an den rendering-vektorielle Datenformate.
Können Sie es verwenden, entweder server-oder client-Seite.
Versuchen mapscript für java http://www.mapserver.org
CU
Haben Sie einen Blick auf UDig
http://udig.refractions.net/
Es basiert auf der eclipse RCP arbeitet mit Geotools und anzeigen können die meisten Typen von räumlichen Daten.
es ist open source und scheint ziemlich wenig Aktivität
ArcGIS Engine Java wird tun, was Sie brauchen. Es integriert sich in eine voll-integrierte GIS-Plattform. Gibt es tools zum erstellen von kartographischen Qualität der Karten, zu veröffentlichen, zu hosten oder erstellen Sie benutzerdefinierte apps.
Es nicht verarbeiten alle Formate, die Sie erwähnen, aber ich war erfolgreich die Anzeige von Web-Karten mit modestmaps für Verarbeitung (finde es hier). Eine Verarbeitung von PApplet sein kann, eingebettet in eine swing-GUI erklärt hier.
Können Sie GoogleMaps verwenden, wenn Sie einbetten können einen Web-browser in Java-swing-Anwendung, versuchen, JDIC-oder DJ-Projekt. Siehe auch Gibt es eine Möglichkeit zum einbetten von einem browser in Java? mit denen ich gearbeitet habe so eine Lösung in C# - Einbettung, DH. Sie müssen jedoch die Einbettung eines guten web-browser, in der Regel einige native web-browser und diese Grenzen, die Ihr eine solche Lösung.