Geohash-запросы в Google Cloud Datastore - PullRequest
       58

Geohash-запросы в Google Cloud Datastore

0 голосов
/ 18 октября 2018

Я новичок в геохешировании и собираюсь внедрить его в Google Cloud Datastore.

Моя цель - сохранить данные широты и долготы в виде геохеша, а затем запросить все сущности на расстоянии около 400 метров от заданной широты / долготы.

Кто-нибудь сделал это успешно и эффективно?

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

В конце концов, звучит так, как будто мне нужно вычислить расстояние между заданным широтой / долготой и всеми возвращенными объектами, чтобы убедиться, что они находятся на расстоянии х метров от заданного широты / долготы.

Тогда возникает другая проблема: как я могу реализовать курсор с набором результатов?

Вот некоторые из выявленных мной проблем.Если у кого-то есть советы и подсказки или какой-нибудь код (в Java) о том, как выполнять геохеширование в Datastore, я был бы очень признателен!Спасибо!

1 Ответ

0 голосов
/ 18 октября 2018

Datastore не подходит для этого.

Но согласно этому ответу

https://stackoverflow.com/a/1037891/4458510

похоже, что есть модуль, который вы можете настроить, который пытается обеспечить некоторый уровень этой функциональности в хранилище данных, но это онвероятно, не будет идеальным: https://code.google.com/archive/p/geomodel/

Так что я думаю, это зависит от ваших потребностей.Если вам нужно, чтобы это было сделано правильно, вы можете выбрать другое решение для хранения данных, которое напрямую поддерживает геопространственную функциональность: https://cloud.google.com/storage-options/

Мне нужно было сделать что-то подобное, вот как я это сделал в Datastoreи это было достаточно хорошо для моих нужд https://stackoverflow.com/a/45602189/4458510

...