Frage

Ich bin für eine Java-Bibliothek Kartendaten aus verschiedenen Quellen angezeigt werden, einschließlich der Shape-Datei, WMS, WFS, Google Maps, möglicherweise ArcIMS usw. Es ist wie Openlayers scheint, ist die nächste Sache, was ich will, es sei denn es ist ein JavaScript ist Bibliothek, und ich schreibe eine Swing-Anwendung.

GDAL sieht vielversprechend aus, aber soweit ich es sagen kann, nicht Java-Bindungen sein, bis „irgendwann“ in die Zukunft.

Just klar sein, ich bin auf der Suche für einen einzelnen Java-API, die ich Karten anzuzeigen, aus einer Reihe von Kartenservern / Quellen verwenden kann.

Wer weiß, ob so etwas existiert, und wenn nicht, wohin man von hier gehen? Sollte ich diese API oben auf GeoTools bauen? Oder ...

War es hilfreich?

Lösung

GeoTools ist eine gute Wette für diese. Die Google Maps Nutzungsbedingungen verbieten Zugriff auf Fliesen Google Maps, außer durch die (JavaScript ) Google maps API, so dass es nicht wahrscheinlich, dass Sie eine frei verfügbare Code-Basis finden sie in einer Java-Anwendung zuzugreifen. Ähnliche Einschränkungen wahrscheinlich zu anderen kommerziellen Schichten gelten.

Andere Tipps

Dies ist ein Fall, in dem Sie viel Auswahl haben. GeoTools ist in der Tat eine niedrige Level-Bibliothek und eine ausgezeichnete Wahl für einige Hände auf der Arbeit. Wir begannen vor kurzem Schaukel für unsere Beispiel-Code, um mit Tutorials zu machen mehr visuelle . Das sagte sie Tutorial Code ist nur und nicht ein Multi-Threaded-System wie uDig darstellen.

Wenn Sie für Swing-Anwendungen suchen Formular zu starten gibt es die Jump-Familie (leider durch einen geschlossenen Entwicklungsprozess verstreut - Openjump eine Sammlung der verschiedenen Gabeln darstellt), gvSIG, die ausgezeichnete finanzielle Unterstützung in Span hat, und so weiter.

Sie können auch wünschen, in der Bibliothek Seite des deegree-Projekt suchen (was ich scheinen eine Desktop-Anwendung erzeugt und wieder zu?).

Ich empfehle auch auf einige der gekachelten Karte Zuschauer um Nasa World Wind und Open Street Map Datensätze erzeugt suchen. Diese wird mehr ähnlich die Openlayers Erfahrung.

Disclaimer Ich bin auf dem Lenkungsausschuss für GeoTools und uDig.

uDig würde wahrscheinlich Ihre Bedürfnisse ganz gut erfüllen, wenn Sie innerhalb des RCP Rahmen arbeiten können. Ich habe keine Erfahrung mit uDig oder NASA World Wind, aber wenn Sie benötigen, um die Kartenfunktion in einer bestehenden Anwendung zu bringen, World Wind Java SDK der NASA ist eine weitere Option. Sie ist erweiterbar und unterstützt Industriestandards für Geodaten. Sie haben ein informatives Wiki hier . Ich sah zuerst NASA World Wind auf der JavaOne 2007 und es sieht nicht aus wie das Java SDK wirklich weg genommen hat, noch es wie die .NET-Version sieht eine Menge neuer Versionen zu sehen, aber es könnte Ihre Bedürfnisse erfüllen, wenn sie basisch sind .

OpenMap ist angeblich ziemlich gut.

Hinweis: die „offene“ Lizenz verwendet sie ist betrachtet unfreie von Fedora und GNU.

ich verwendet habe, MapXtreme für Java , es war ziemlich gut und mehrere Formate unterstützt. Es ist nicht billig, aber es liefert.

Es ist darauf ausgerichtet Vektordatenformate zu machen.

Sie können es entweder Server oder Client-Seite verwendet werden.

Versuchen mapscript für java www.mapserver.org

CU

Hier finden Sie aktuelle uDig

http://udig.refractions.net/

Es basiert auf der Eclipse RCP mit Geotools arbeitet und kann die meisten Arten von Raumdaten angezeigt werden.

es ist Open Source und scheint ziemlich viel Aktivität zu haben,

ArcGIS Engine Java wird tun, was Sie brauchen. Es integriert sich in eine vollständig integrierte GIS-Plattform. Es gibt Werkzeuge, kartographische Qualität Karten zu erstellen, veröffentlichen sie, hosten sie aus, oder benutzerdefinierte Anwendungen zu bauen.

Es behandelt nicht alle Formate, die Sie erwähnen, aber ich war erfolgreich Webkarten Anzeigen mit modestmaps Verarbeitung (finden sie es hier ). Eine Verarbeitungs PApplet kann in einer Schaukel GUI eingebettet werden, wie erklärt hier .

Sie können Googlemaps verwenden, wenn Sie einen Web-Browser in Ihre Java-Swing-Anwendung einbetten können, versuchen JDIC oder DJ-Projekt. Siehe auch Gibt es eine Möglichkeit, einen Browser in Java einbinden ? ich habe mit einer solchen Lösung in C # arbeiten - Einbettung IE. Sie müssen jedoch einen guten Web-Browser einbetten, in der Regel einige nativen Web-Browser und dies schränkt eine solche Lösung.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top