Нужна автономная библиотека Java для выполнения пространственных вычислений по данным lat/lon

Я ищу библиотеку Java, которая способна выполнять пространственные вычисления на наборах данных lat/lon. Вот некоторые из функций, которые я ищу:

  • Рассчитайте расстояние Великого круга между двумя точками
  • Определить, находится ли точка в пределах простого замкнутого многоугольника, где многоугольник определяется упорядоченным списком точек
  • Определите, пересекает ли линия между точкой "А" и точкой "В" простой замкнутый многоугольник, где многоугольник определяется упорядоченным списком точек
  • Определите, находится ли точка "A" в определенном радиусе точки "B"

Что я НЕ ищет:

  • Я не хочу библиотеку, зависящую от геопространственного компонента базы данных, такого как Oracle Spatial, и не может функционировать независимо.
  • Я не хочу библиотеку, целью которой является создание графики/карт/и т.д. Я создаю модуль анализа для существующего приложения, и конечная цель - не создавать красивые картинки.
  • Я не хочу библиотеку для поиска больших объемов пространственных данных. Если это так и происходит, это нормально, но я не буду использовать эту функцию.

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

Ответы

Ответ 1

Я верю, что GeoTools удовлетворит ваши требования. Обратите внимание, что у него есть средства для работы с графикой/картами, но они могут быть оставлены неиспользованными достаточно легко.

Ответ 2

Существует новая библиотека Spatial4J, которая, как представляется, полностью заполняет ваши потребности, она поддерживает различные пробелы и формы

Spatial4j является пространственной/геопространственной лицензией ASL с открытым исходным кодом (...)

Я не использовал его до сих пор, но README завершен, и репозиторий довольно популярен, и он доступен в maven-репозитории Я искал такую ​​пространственную библиотеку, когда заканчиваю как на репо, так и на этот вопрос.

Ответ 4

Несмотря на ваше желание избежать библиотеки, используемой для рисования карт, я бы рекомендовал OpenMap. Пакет com.bbn.openmap.geo этой библиотеки выполняет большинство, если не все, о чем вы просите.