MySQL GIS и Spatial Extensions - как отображать регионы и запрашивать их - PullRequest
2 голосов
/ 28 мая 2010

Я пытаюсь создать приложение для смартфона, которое будет возвращать список пользователей в определенной близости, скажем, 100м. Можно легко получить координаты моего BlackBerry и записать их в базу данных, но для того, чтобы вернуть список других пользователей в пределах 100 м, мне нужно извлечь все остальные записи из базы данных и сравнить расстояние между двумя точками, проверяя проверьте, находится ли он в пределах диапазона, перед выводом информации этого пользователя.

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

Я прочитал основы ГИС и пространственных запросов на веб-сайте mysql , но, если честно, запрос у меня над головой, и я ненавижу копировать и вставлять код, не понимая его. Кроме того, он проверяет только близость - сначала я хочу проверить, попадает ли координата в определенную область.

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

Большое спасибо всем, кто нашел время:)

1 Ответ

1 голос
/ 31 мая 2010

Я бы не рекомендовал использовать MySQL для пространственного анализа. Они реализовали только анализ ограничивающих рамок, и он не реализован для большинства пространственных функций. Я бы порекомендовал использовать PostGIS или, возможно, SpaceCouch или расширить MongoDB. Это было бы намного лучше для того, что вы делаете.

...