Я хочу выбрать фотографию в зависимости от местоположения (широта / долгота), когда кто-то другой выполняет поиск по стране или городу.
Например: местоположение фотографии 12.127, 42.127 -> запрос «Сан-Франциско» -> выбрать точки внутри этой области (хорошим примером является Instagram, где фотография связана с городом + страной)
Прямо сейчас я ищу использовать полигоны, чтобы найти местоположения, основанные на городе / стране. Однако я не уверен, как использовать и хранить полигоны в моей базе данных.
Вот мои визуальные шаги (не уверен, что это правильно технически)
table1
table2
внутри многоугольника от table1
Если эти шаги верны, я не смог найти ресурсы для получения полигонов для городов или стран.
Пожалуйста, включите несколько примеров + структуры таблиц и пояснения о том, как это реализовать.
Спасибо 🙂
Mysql уже довольно давно поддерживает геопространственная типы данных и функции.
Вы можете хранить город или любое другое место в качестве многоугольника, и вы можете использовать один из Внутри () или Содержит () функции (их 3), чтобы проверить, находится ли точка в городе.
Документация Mysql содержит множество примеров типов данных и функций. Вы также можете найти как бесплатные, так и несвободные источники в Интернете, которые содержат координаты различных зон метро. Рекомендовать сторонний ресурс не по теме на SO, поэтому я не буду давать никаких рекомендаций.
Других решений пока нет …