Поиск мест внутри города и в радиусе от него - PullRequest
0 голосов
/ 29 мая 2018

Я пытаюсь выяснить, как реализовать поиск местоположений в пределах города и в радиусе вокруг города.У меня уже есть таблица с городами:

города таблица: id: INT name: VARCHAR(20) lat: FLOAT lng: FLOAT

У меня также есть таблица с местоположениями.

местоположения таблица: id: INT city_id: INT name: VARCHAR(30) lat: FLOAT lng: FLOAT

Обычно координаты города указаны для его центр .Это нормально, так как, когда у меня есть поиск местоположений для определенного города, я могу использовать city_id в таблице locations.Однако, когда у меня есть поиск в радиусе вокруг города, результаты не будут достаточно точными.Если город относительно маленький, это не будет проблемой.Однако, если город большой, и поиск ведется на 10 км вокруг города, скорее всего, результаты будут только для самого города.

У меня вопрос, как справиться с этой ситуацией, , чтобы результаты были более точными ?

То, о чем я думал, имеет диаметр длякаждый город (который охватывает территорию города) хранится в таблице cities.Когда я ищу места вокруг города, я сначала выбираю радиус (назовем его cityRadius) для целевого города.Затем я бы добавил его в радиус поиска (скажем, searchedRadius = 10).И тогда я выполню запрос, который будет искать места вокруг центра города, в радиусе cityRadius + searchedRadius.У меня есть две проблемы с этим:

  1. Я не могу найти этот тип информации (радиус, охватывающий территорию города, в частности, для городов в Германии).
  2. Чувствуется себя немного хакером.Я думаю, что есть лучший способ сделать это, но у меня проблема с его поиском.

Мой стек: PHP 7.2, Mysql 5.7.

Заранее спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...