Клуб API Карт

Кто как обрабатывает результаты обратного геокодирования?

Пост в архиве.

В прошлый раз никто не ответил, а тему поднять нельзя, спрошу еще раз.

 

Опять вопрос про обратное геокодирование =(((

Не нашел ответа в клубе.

 

Проблема в следующем:

Ищем точку в питере. В 10 запросах (немного сдвигая маркер) получаем 10 разных результатов.

  город Санкт-Петербург -> Центральный район

  Санкт-Петербург -> Санкт-Петербург -> Центральный район

  Ленинградская область -> Санкт-Петербург -> Центральный район

  Санкт-Петербург -> Санкт-Петербург -> Что-то еще -,> Центральный район

  и т.д.

 

Задача: выстроить иерархию расположения (Страна -> Область -> Город -> Округ -> Район)

Использовать для поиска 3 запроса с разным kind нехорошо, т.к. легко превысим лимит в 25к.

 

Да и в этом случае есть проблемы:

Для Питера необходимо: Страна -> Область(город) -> Район

Для Москвы: Страна -> Область(город) -> Округ -> Район

Для других городов РФ: Страна -> Область -> Город -> необяз(Округ -> Район)

Для зарубежных городов тоже самое. Есть большие города, которые являются административной единицей как Питер и Москва.

АПИ Яндекса каждый раз возвращает разную иерархию.

 

Вот например проблемная точки в Питере: поселок Парголово

60.081028 30.275415

Возвращает иерархию: Россия -> Санкт-Петербург -> поселок Парголова -> Выборгский район

Так же есть иерархия: Россия -> Санкт-Петербург -> Выборгский район

Получаем дублирование одного и тогоже района.

7 комментариев

зачем это всё нужно? для чего нужна иерархия?

10 запросов, сдвигать маркер?

Создавать словарь расположения объектов, чтобы потом искать по этому словарю.

Я бы взял что-нибудь готовое и обновляемое типа КЛАДРа

А так искать со сдвигом это все равно что пальцем в небо тыкать.

Увы, не существует мирового КЛАДРа ))

Пока остановились на модерации, т.е. иерархия создается но временная, пока не утвердит или не исправит модератор.

http://www.gadm.org/country(или openstreetmap), geonames.org ну и wikipedia.

С адреской у онлайн карт почему-то плохо, особенно у Гугла.

Да проблемы не только с обратным, но и прямым геокодированием.

С некоторых пор я не могу определить даже это Москва или нет.

 http://geocode-maps.yandex.ru/1.x/?results=1&geocode=Москва, Щербинка, Рабочая улица, 28

и http://geocode-maps.yandex.ru/1.x/?results=1&geocode=Москва, Щербинка 

И как в общем случае определить Москву?

В одном ответе это AdministrativeAreaName, а в другом это LocalityName

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ошибся - SubAdministrativeAreaName