2016-04-24 3 views
0

Я хочу выбрать фотографию, основанную на местоположении (lat/lon), когда кто-то ищет по стране или городу. Например: расположение фото 12.127, 42.127 -> запрос «Сан-Франциско» -> выберите точки внутри этой области (хорошим примером является Instagram, где фотография связана как с городом + страной)MySQL - поиск точек с использованием пространственных полигонов (границ)

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

Вот мои визуальные шаги (не уверен, если это право технически)

  1. Получить многоугольники/области, в зависимости от города/страны от table1
  2. Поиск точек из table2 внутри многоугольника от table1

Если эти шаги верны, я не смог найти какие-либо ресурсы для получения полигонов для городов или стран

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

Спасибо :)

+0

это не похоже на то, что вы хотели бы решить с помощью SQL. Вы можете использовать API Карт Google? Читайте дальше «Геокодирование»? https://developers.google.com/maps/documentation/geocoding/intro#Geocoding https://developers.google.com/maps/documentation/javascript/geocoding#GeocodingResults – yuan3y

+0

@ yuan3y Я думал об использовании радиуса ', однако это не будет точным, поскольку фактические границы могут варьироваться ... – user6227254

ответ

0

Mysql для довольно некоторое времени поддерживает geospatial типов данных и функцию.

Вы можете сохранить город или любое другое место в качестве многоугольника, и вы можете использовать одну из функций Within() or Contains() (по 3 из них), чтобы проверить, находится ли точка в пределах города.

Документация Mysql содержит множество примеров по типам и функциям данных. Вы также можете найти как бесплатные, так и бесплатные источники в Интернете, которые содержат координаты различных районов метро. Рекомендация offsite ресурса отключена от SO, поэтому я не буду давать никаких рекомендаций.

Смежные вопросы