2009-05-21 4 views
9

Я ищу библиотеку Java для отображения данных из разных источников, включая шейп-файл, WMS, WFS, Google Maps, возможно ArcIMS и т. Д. Кажется, что OpenLayers - это самое близкое к тому, что я хочу, кроме библиотеки JavaScript, и я пишу приложение Swing.Java-эквивалент OpenLayers

GDAL выглядит многообещающим, но насколько я могу судить, привязки Java не будут существовать до «когда-нибудь» в будущем.

Для того чтобы быть ясным, я ищу один Java API, который я могу использовать для отображения карт с нескольких серверов/источников.

Кто-нибудь знает, существует ли что-либо подобное, а если нет, куда идти отсюда? Должен ли я создавать этот API поверх GeoTools? Или ...

+0

Возможно, я принял этот ответ слишком рано, так как это был мой первый вопрос о SO? Кажется, у него появилось больше просмотров, но больше нет ввода. – dave4351

ответ

3

GeoTools - хорошая ставка для этого. Карты Google Terms of Service запрещают доступ к плитам Google Maps, за исключением API (API) Google Maps, поэтому вряд ли вы найдете свободно доступную кодовую базу для доступа к ним в приложении Java. Подобные ограничения, вероятно, применимы и к другим коммерческим слоям.

+0

Я надеялся на что-то на более высоком уровне абстракции, чем Geotools, но мне нужно будет построить то, что мне нужно на этом фундаменте. – dave4351

0

Я использовал MapXtreme for Java, это было очень хорошо и поддерживалось несколько форматов. Это не дешево, но оно поставляет.

Он предназначен для визуализации векторных форматов данных.

Вы можете использовать его либо на сервере, либо на стороне клиента.

0

Try mapscript для Java www.mapserver.org

CU

0

Посмотрите UDig

http://udig.refractions.net/

Он основан на Eclipse RCP работает с GeoTools и может отображать наиболее типы пространственных данных.

он является открытым исходным кодом и, кажется, совсем немного активности

3

uDig, вероятно, удовлетворить ваши потребности очень хорошо, если вы можете работать в рамках RCP. У меня нет опыта работы с uDig или NASA World Wind, но если вам нужно поместить функции карты в существующее приложение, то еще один вариант: NASA's World Wind Java SDK. Он расширяемый и поддерживает отраслевые стандарты для геопространственных данных. У них есть информативная вики here. Я впервые увидел NASA World Wind на JavaOne 2007, и это не похоже на то, что Java SDK действительно снят и не выглядит так, как .Net-версия видит много новых выпусков, но может удовлетворить ваши потребности, если они являются основными ,

0

ArcGIS Engine Java будет делать то, что вам нужно. Он интегрируется в полностью интегрированную ГИС-платформу. Существуют инструменты для создания картографических карт качества, публикации их, их размещения или создания пользовательских приложений.

4

Это случай, когда у вас есть выбор. GeoTools - действительно библиотека низкого уровня и отличный выбор для некоторых рук на работе. Недавно мы начали использовать Swing для нашего примера кода, чтобы сделать учебники more visual. Тем не менее, они являются только учебным кодом и не представляют собой многопоточную систему, такую ​​как uDig.

Если вы ищете Swing-приложения для запуска формы, есть семья Jump (грустно разбросанная по закрытому процессу разработки - OpenJump представляет собой коллекцию различных вилок), gvSig, которая имеет отличную финансовую поддержку в Span и т. Д. ,

Возможно, вы также захотите посмотреть библиотечную часть проекта deegree (который, как мне кажется, также вызвал настольное приложение?).

Я также рекомендую взглянуть на некоторые из черепичных зрителей карт, созданных вокруг наборов данных Nasa World Wind и Open Street Map. Они будут больше похожи на опыт OpenLayers.

Отказ от ответственности Я нахожусь в комитете по управлению для GeoTools и uDig.

1

OpenMap предположительно довольно хорошо.

Предупреждение: «Открытая» лицензия, которую они используют, - considerednon-free от Fedora и GNU.

0

Он не обрабатывает все указанные вами форматы, но я успешно показываю веб-карты, используя modestmaps для Processing (найти here). Обработка PApplet может быть встроена в графический интерфейс swing, как описано here.

0

Вы можете использовать GoogleMaps, если вы можете встроить веб-браузер в свое приложение Java swing, попробовать JDIC или DJ Project. Также см. Is there a way to embed a browser in Java? Я работал с таким решением в C# - встраивании IE. Однако вы должны встроить хороший веб-браузер, обычно какой-то собственный веб-браузер, и это ограничивает ваше решение.

 Смежные вопросы

  • Нет связанных вопросов^_^