2011-01-09 3 views
0

У меня есть таблица MySQL с городами, и для каждого города у меня есть геокоординаты. Я хочу построить запрос, который определяет ближайший город, заданный координатами любой случайной позиции. Может ли кто-нибудь дать мне пример?Определить код ISO страны из координат GEO

+0

сначала вы запрашиваете код страны, а затем для ближайшего города. что именно вы ищете? – Axarydax

+0

В своем названии вы говорите о коде ISO страны, в вопросительном теле вы говорите о ближайшем городе. Который из них? Кроме того, что определяет «город» в этом контексте? –

+0

Я предполагаю, что он пропустил шаг, поскольку таблица городов, вероятно, содержит ссылку на страны со своими кодами ISO. –

ответ

2

Может быть, я неправильно понял вопрос, но если у вас есть:

  1. [X1, Y1] - координаты вашей позиции
  2. [Xn, Yn] - для каждого города

Тогда почему бы просто не рассчитать расстояние, используя простую формулу sqrt((X1-Xn)^2 + (Y1-Yn)^2)?

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

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