Легкая Java-библиотека для гео-пространственного поиска? - PullRequest
2 голосов
/ 10 марта 2012

Моя текущая потребность довольно проста.У нас есть некоторая информация о географическом местоположении, представленная как (долгота, широта, контент).Нам нужно искать местоположения, которые находятся в пределах X километров от заданного местоположения запроса.

Не так много мест для запроса, я думаю, они могут быть проиндексированы в ОЗУ.Есть ли простая Java-библиотека для этого?Спасибо

Ответы [ 3 ]

1 голос
/ 08 февраля 2013

JSI (Java Spatial Index) обеспечивает относительно простую, но быструю реализацию R-Tree в Java, однако она предназначена для плоских координат.Я не уверен, насколько хорошо он работает с геопространственными координатами (для обтекания полюсов и на 180 градусов долготы).

NASA Worldwind Java SDK включает в себя эффективную реализацию QuadTree, которая работает хорошос геопространственными координатами.

Я оценил скорость и сложность времени для операций вставки и запроса, и оба показали одинаковую производительность для 10 000 элементов.

Я не пробовал Lucene пока что пространственный, но попробую и посмотрим, насколько хорошо он сравнится в моем маленьком тесте.

1 голос
/ 10 марта 2012

Вы можете использовать Solr . Он обладает возможностями гео-пространственного поиска и может быть встроен в ваше приложение.

0 голосов
/ 14 октября 2015

Hibernate Search также имеет возможности пространственных запросов .

Он построен на основе Apache Lucene и позволяет индексировать данныес помощью аннотаций и извлекать их с помощью полнотекстовых запросов.

...