Java-эквивалент OpenLayers

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

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

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

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

10 ответов

Решение

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

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

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

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

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

Отказ от ответственности Я в Руководящем комитете для GeoTools и uDig.

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

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

Предупреждение: используемая ими "открытая" лицензия считается несвободной для Fedora и GNU.

Попробуйте mapscript для Java www.mapserver.org

CU

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

Он ориентирован на рендеринг векторных форматов данных.

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

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

Вы можете использовать GoogleMaps, если вы можете встроить веб-браузер в приложение Java Swing, попробуйте JDIC или DJ Project. Также см. Есть ли способ встроить браузер в Java? Я работал с таким решением в C# - встраивание IE. Однако вы должны встроить хороший веб-браузер, обычно какой-то собственный веб-браузер, и это ограничивает ваше решение.

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

Посмотрите на UDig

http://udig.refractions.net/

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

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

Другие вопросы по тегам