Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/прямое геокодирование - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » прямое геокодирование (Макросы/Sub)
прямое геокодирование
wot Дата: Пятница, 06.02.2015, 11:28 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
на форуме есть готовое решение по обратному геокодированию.
Уточните по прямому геокодированию, по координатам необходимо найти адрес, изучил несколько форумов, решений нет.
спасибо заранее.
К сообщению приложен файл: Book145.xlsx (10.9 Kb)
 
Ответить
Сообщениена форуме есть готовое решение по обратному геокодированию.
Уточните по прямому геокодированию, по координатам необходимо найти адрес, изучил несколько форумов, решений нет.
спасибо заранее.

Автор - wot
Дата добавления - 06.02.2015 в 11:28
alex77755 Дата: Пятница, 06.02.2015, 12:07 | Сообщение № 2
Группа: Проверенные
Ранг: Обитатель
Сообщений: 362
Репутация: 64 ±
Замечаний: 0% ±

Вариант? или не так понял?
К сообщению приложен файл: Book146.xlsb (19.6 Kb)


Могу помочь в VB6, VBA
Alex77755@mail.ru


Сообщение отредактировал alex77755 - Пятница, 06.02.2015, 12:08
 
Ответить
СообщениеВариант? или не так понял?

Автор - alex77755
Дата добавления - 06.02.2015 в 12:07
alex77755 Дата: Пятница, 06.02.2015, 12:18 | Сообщение № 3
Группа: Проверенные
Ранг: Обитатель
Сообщений: 362
Репутация: 64 ±
Замечаний: 0% ±

И вот:
[vba]
Код
Function GetAddress(Lat#, Lon#)
Dim R, L1
   Set R = CreateObject("Microsoft.XMLHTTP")
   L1 = "http://maps.googleapis.com/maps/api/geocode/xml?latlng=" & Replace(Lat, ",", ".") & "," & Replace(Lon, ",", ".") & "&sensor=false"
   R.Open "GET", L1, 0: Application.Wait Now + TimeValue("00:00:05"): R.send
   GetAddress = Split(Split(R.responseText, "<formatted_address>")(1), "</formatted_address>")(0)
   Set R = Nothing
End Function
[/vba]


Могу помочь в VB6, VBA
Alex77755@mail.ru
 
Ответить
СообщениеИ вот:
[vba]
Код
Function GetAddress(Lat#, Lon#)
Dim R, L1
   Set R = CreateObject("Microsoft.XMLHTTP")
   L1 = "http://maps.googleapis.com/maps/api/geocode/xml?latlng=" & Replace(Lat, ",", ".") & "," & Replace(Lon, ",", ".") & "&sensor=false"
   R.Open "GET", L1, 0: Application.Wait Now + TimeValue("00:00:05"): R.send
   GetAddress = Split(Split(R.responseText, "<formatted_address>")(1), "</formatted_address>")(0)
   Set R = Nothing
End Function
[/vba]

Автор - alex77755
Дата добавления - 06.02.2015 в 12:18
wot Дата: Пятница, 06.02.2015, 12:23 | Сообщение № 4
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Это обратное геокодирование, по адресу находит координаты, это уже обсуждали и есть решение форуме.
Необходимо что то аналогичное, только в другую сторону, которое по координатам определяло адрес. Координаты в принципе можно объединить в ячейку для упрощения запроса.
К сообщению приложен файл: 3172651.xlsb (19.1 Kb)
 
Ответить
СообщениеЭто обратное геокодирование, по адресу находит координаты, это уже обсуждали и есть решение форуме.
Необходимо что то аналогичное, только в другую сторону, которое по координатам определяло адрес. Координаты в принципе можно объединить в ячейку для упрощения запроса.

Автор - wot
Дата добавления - 06.02.2015 в 12:23
doober Дата: Пятница, 06.02.2015, 12:34 | Сообщение № 5
Группа: Друзья
Ранг: Ветеран
Сообщений: 947
Репутация: 323 ±
Замечаний: 0% ±

Excel 2010
изучил несколько форумов, решений нет

Не может этого быть,есть справка в яндексе по Апи
[vba]
Код
Function geocodemaps(LATITUDE, LONGITUDE) As String
     Dim Url As String, Countr
     geocodemaps = ""
     Url = "http://geocode-maps.yandex.ru/1.x/?geocode=" & Replace(LONGITUDE, ",", ".") & "," _
           & Replace(LATITUDE, ",", ".") & "&kind=house&results=1"
     Set Xdoc = CreateObject("Microsoft.XMLDOM")
     Xdoc.Load Url
     Do While Xdoc.readyState <> 4
         DoEvents
     Loop
     ''Debug.Print Xdoc.XML
     Set Countr = Xdoc.getElementsByTagName("AdministrativeArea")

     If Countr.Length > 0 Then
         geocodemaps = Countr(0).Text
     End If
End Function
[/vba]


 
Ответить
Сообщение
изучил несколько форумов, решений нет

Не может этого быть,есть справка в яндексе по Апи
[vba]
Код
Function geocodemaps(LATITUDE, LONGITUDE) As String
     Dim Url As String, Countr
     geocodemaps = ""
     Url = "http://geocode-maps.yandex.ru/1.x/?geocode=" & Replace(LONGITUDE, ",", ".") & "," _
           & Replace(LATITUDE, ",", ".") & "&kind=house&results=1"
     Set Xdoc = CreateObject("Microsoft.XMLDOM")
     Xdoc.Load Url
     Do While Xdoc.readyState <> 4
         DoEvents
     Loop
     ''Debug.Print Xdoc.XML
     Set Countr = Xdoc.getElementsByTagName("AdministrativeArea")

     If Countr.Length > 0 Then
         geocodemaps = Countr(0).Text
     End If
End Function
[/vba]

Автор - doober
Дата добавления - 06.02.2015 в 12:34
SLAVICK Дата: Пятница, 06.02.2015, 12:35 | Сообщение № 6
Группа: Модераторы
Ранг: Старожил
Сообщений: 2290
Репутация: 766 ±
Замечаний: 0% ±

2019
Когда-то заморачивался этим :D
Вырвал куски кода из своего проекта - ничего не чистил - лениво :D
Вроде работает B)

Там два варианта вывода :
как адрес
Все данные через разделитель "||"
К сообщению приложен файл: 3172651.xls (68.5 Kb)


Иногда все проще чем кажется с первого взгляда.

Сообщение отредактировал SLAVICK - Пятница, 06.02.2015, 12:49
 
Ответить
СообщениеКогда-то заморачивался этим :D
Вырвал куски кода из своего проекта - ничего не чистил - лениво :D
Вроде работает B)

Там два варианта вывода :
как адрес
Все данные через разделитель "||"

Автор - SLAVICK
Дата добавления - 06.02.2015 в 12:35
alex77755 Дата: Пятница, 06.02.2015, 16:21 | Сообщение № 7
Группа: Проверенные
Ранг: Обитатель
Сообщений: 362
Репутация: 64 ±
Замечаний: 0% ±

wot,
А самому вставить функцию GetAddress и проверить не досуг?
К сообщению приложен файл: Book147.xlsb (22.2 Kb)


Могу помочь в VB6, VBA
Alex77755@mail.ru
 
Ответить
Сообщениеwot,
А самому вставить функцию GetAddress и проверить не досуг?

Автор - alex77755
Дата добавления - 06.02.2015 в 16:21
Dimonl6ch Дата: Четверг, 12.10.2017, 04:04 | Сообщение № 8
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Доброго дня.
Не подскажите как получить адрес через запятую в функции, которая указана в посте doober?
[moder] - Прочитайте Правила форума[/moder]
Излишнее цитирование удалено администрацией - это нарушение п.5j Правил форума


Сообщение отредактировал Dimonl6ch - Четверг, 12.10.2017, 11:23
 
Ответить
СообщениеДоброго дня.
Не подскажите как получить адрес через запятую в функции, которая указана в посте doober?
[moder] - Прочитайте Правила форума[/moder]
Излишнее цитирование удалено администрацией - это нарушение п.5j Правил форума

Автор - Dimonl6ch
Дата добавления - 12.10.2017 в 04:04
Dimonl6ch Дата: Четверг, 12.10.2017, 17:27 | Сообщение № 9
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Решение найдено здесь
http://www.excelworld.ru/forum/10-32752-1
 
Ответить
СообщениеРешение найдено здесь
http://www.excelworld.ru/forum/10-32752-1

Автор - Dimonl6ch
Дата добавления - 12.10.2017 в 17:27
Мир MS Excel » Вопросы и решения » Вопросы по VBA » прямое геокодирование (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!