Ответ 1
Я верю, что GeoTools удовлетворит ваши требования. Обратите внимание, что у него есть средства для работы с графикой/картами, но они могут быть оставлены неиспользованными достаточно легко.
Я ищу библиотеку Java, которая способна выполнять пространственные вычисления на наборах данных lat/lon. Вот некоторые из функций, которые я ищу:
Что я НЕ ищет:
Организация планирует приобрести лицензию для Oracle Spatial в конечном итоге (так что пространственный поиск будет рассмотрен в этот момент), но на данный момент мне нужно реализовать функции анализа, которые я упомянул выше, на небольших наборах данных, не полагаясь на базу данных -пользуемая пространственная поддержка.
Я верю, что GeoTools удовлетворит ваши требования. Обратите внимание, что у него есть средства для работы с графикой/картами, но они могут быть оставлены неиспользованными достаточно легко.
Существует новая библиотека Spatial4J, которая, как представляется, полностью заполняет ваши потребности, она поддерживает различные пробелы и формы
Spatial4j является пространственной/геопространственной лицензией ASL с открытым исходным кодом (...)
Я не использовал его до сих пор, но README
завершен, и репозиторий довольно популярен, и он доступен в maven-репозитории
Я искал такую пространственную библиотеку, когда заканчиваю как на репо, так и на этот вопрос.
Simplelatlng предоставляет для этого более простой API:
Несмотря на ваше желание избежать библиотеки, используемой для рисования карт, я бы рекомендовал OpenMap. Пакет com.bbn.openmap.geo этой библиотеки выполняет большинство, если не все, о чем вы просите.
Я использовал класс strtree java для индексирования по данным ll lng и расстояниям https://locationtech.github.io/jts/javadoc/org/locationtech/jts/index/strtree/STRtree.html