Я новичок в Hibernate Spatial и пытаюсь выполнить простой запрос объектов в пределах заданного радиуса. Я создал несколько записей в моей базе данных со свойствами, соответствующими широте и долготе, используя данные из Карт Google и других источников. Это свойство определяется как это в моем классе Entity:Hibernate Spatial - Запрос в радиусе X километров?
@Column
@Type(type = "org.hibernate.spatial.GeometryType")
private Point coordinates = null;
Я сейчас пытаюсь выяснить, как сделать поиск всех объектов сущностей, которые имеют координаты, которые находятся в пределах радиуса х километров от данный пункт. Например, я хотел бы найти объекты, которые находятся в радиусе 50 километров от точки (12.34567, -76.54321). Тем не менее, я не могу найти примеров или руководств, которые объясняли бы, как это сделать в Hibernate Spatial.
Может ли кто-нибудь дать мне какую-либо информацию о том, как можно построить такой запрос?
В примере, показанном на этой странице, отображается запрос точки в заданном полигоне. Должен ли я указывать многоугольник в моем запросе? В идеале я мог бы дать ему точку (lat/long) и радиус и использовать это в моем запросе вместо полигона. Как я могу объявить, что геометрия использует JTS/Hibernate Spatial? – Shadowman
Ну, круг - это специальная геометрия, но не многоугольник. См. Мой обновленный пример, чтобы узнать, как вы создаете круг. –
Хорошо, это все имеет смысл. Я сделаю это. К сожалению, я столкнулся с этой ошибкой (http://stackoverflow.com/questions/20079825/hibernate-spatial-invalid-endian-flag-value-encountered-exception), что делает невозможным тестирование до тех пор, пока я его не разрешу. – Shadowman