MySQL запрос для извлечения данных в пределах и около париткулярной широты и долготы

Я пытаюсь этот запрос, но он дает мне только на расстоянии.
Например pune latitude=18.52043 а также longitude =73.85674,
Это показывает мне ближайшее местоположение и его хорошо.
Проблема заключается в том, что, если пользователь ищет страну Индии, он должен получить все широты и долготы страны Индии.

Пожалуйста, помогите мне разобраться с этой проблемой.

SELECT
(

6373 *
acos(
cos( radians(18.52043) ) *
cos( radians( `latitude` ) ) *
cos(
radians( `longitude` ) - radians(73.85674)
) +
sin(radians(18.52043)) *
sin(radians(`latitude`))
)
) `distance`
FROM
`caw_user_meal`
HAVING
`distance` < 50
ORDER BY
`distance`

0

Решение

Вы должны сначала определить все границы всех стран мира. Вы можете скачать эти данные бесплатно здесь Естественная земля

После этого вы должны проверить, попадает ли данный лонг в пределы определенной страны.

Надеюсь, это поможет.

0

Другие решения

Нажмите на это ссылка на сайт, Выполните поиск (Ctl + F) для Индии, и вы увидите группу координат в столбце JSON_4236. Вставьте их в свою базу данных с таблицей, имеющей один атрибут как Индия. Запустите приведенный выше запрос с предложением WHERE

SELECT
(

6373 *
acos(
cos( radians(18.52043) ) *
cos( radians( `latitude` ) ) *
cos(
radians( `longitude` ) - radians(73.85674)
) +
sin(radians(18.52043)) *
sin(radians(`latitude`))
)
) `distance`
FROM
`caw_user_meal`
WHERE
`country` = India
0

По вопросам рекламы [email protected]