Как к поиску индекс от координаты GPS?

В python вы можете сделать что-то вроде этого:

color = "green"

if color in ["red", "green", "blue"]:
    print 'Yay'

Он называется оператором in , который проверяет членство в наборе.

15
задан luvieere 7 October 2009 в 22:09
поделиться

4 ответа

На вашем месте я бы попытался проверить документацию по обратному геокодеру в SDK 3.0. Я не могу сказать, что там, но вы можете, скажем, обнаружить, что обратный геокод возвращает placeMark, а затем, если вы посмотрите эту placeMark в SDK, вы можете обнаружить, что у него есть свойство почтового индекса. Кто знает?

6
ответ дан 1 December 2019 в 03:35
поделиться

Этот вид поиска называется «Обратное геолокация».

Первое, что вам нужно сделать, это преобразовать данные широты и долготы из объекта CLocation в градусы ...

в функция locationManager (которая вызывается после получения обновления местоположения) ....

Код:

[lat stringWithFormat:@"%+.6f", myLocation.coordinate.latitude];
[lng stringWithFormat:@"%+.6f", myLocation.coordinate.longitude];

Отсюда вы отправляете строки широты и долготы в серверную веб-службу, такую ​​как «GeoNames.org» или API Карт Google. .. и вы можете узнать ближайший город или улицу.

0
ответ дан 1 December 2019 в 03:35
поделиться

Существует база данных, созданная в результате переписи населения США - база данных Tiger. Я считаю, что есть возможность найти почтовый индекс с учетом широты / долготы.

Готов поспорить, если вы искали почтовый индекс тигра , вы могли бы что-нибудь найти. см., например, здесь . Похоже, что на CPAN есть модуль Perl, который это делает, поэтому это не должно быть невозможным.

0
ответ дан 1 December 2019 в 03:35
поделиться

Я предполагаю, что когда вы говорите во всех тегах html, вы имеете в виду все одинарные кавычки, содержащие атрибут. Вы бы не хотели, чтобы преобразовал b / c, это нарушило бы код.

Любое регулярное выражение будет хрупким. Если вы знаете, что ваш ввод будет конкретным набором простых случаев, вы можете быть в порядке с регулярным выражением . В противном случае вам понадобится парсер DOM, который понимает сложную разметку html, например onmouseover = "(function () {document.getElementById (''); alert (\" ... \ ") ...}) ( ) " (например). Добавьте к этому атрибут, который может охватывать несколько строк. ;)

В последнее время мне не приходилось решать эту конкретную проблему, но, возможно, есть ' http://zips.sourceforge.net/

Распакованный файл - 500k. Вот несколько первых строк данных:

"35004", "AL", " 33.606379", " -86.50249", "Moody", "Alabama"
"35005", "AL", " 33.592585", " -86.95969", "Adamsville", "Alabama"
"35006", "AL", " 33.451714", " -87.23957", "Adger", "Alabama"

Выгрузите эти данные в локальную базу данных. Используйте формулу Хаверсина, чтобы сравнить свои координаты и координаты в базе данных, чтобы найти ближайшую точку. CoreLocation имеет функцию getDistanceFrom, которую вы тоже можете использовать.

- (CLLocationDistance)getDistanceFrom:(const CLLocation *)location

На этой странице есть функция Haversine в c и информация о базе данных zips.

http://www.jaimerios.com/?p=39

Edit : Вот отличное объяснение от Google о вычислении расстояний. Он использует MySQL и PHP, но здесь также полезен SQL для поиска ближайших точек. Вероятно, будет быстрее выполнять запросы с использованием SQL, а не функции getDistanceFrom.

http://code.google.com/support/bin/answer.py?answer=87134&

15
ответ дан 1 December 2019 в 03:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: