Клуб API Карт

Создание полигона по массиву адресов

Kvinta30
19 января 2015, 13:50

 Добрый день!

Есть такая задача: Имеем набор объектов, домов с адресами (в виде: Ул. Вишневая д.1-11, ул. Персиковая д. 5-62, ул. Яблочная 6-12/Б), которые объединены одним признаком (прикреплены к определенному учреждению). Задача - отобразить на карте микроучастки. Т.е. нарисовать поверх групп этих домов полигон, который бы их покрывал.

Адреса в принципе наверное можно было бы привести к человеческому виду: (340047, Ставропольский край, г. Ставрополь, ул. Вишневая, д 1.;340047, Ставропольский край, г. Ставрополь, ул. Вишневая, д 2.;....), но тоже в идеале бы без этих тяжких телодвижений по ручному раскодированию информации за счет впустую потраченных человеко-часов.

Главная задача: Как рассчитать углы многоугольника, который покрывает эти дома, автоматически? По целому городу умрешь прикидывать в рамках муниципалитета с населением более 1 000 000 (все дома прикреплены к учреждению), так что понятно работа сумасшедшая будет.

Всего микро-участков около 130 получится.

Есть идеи? :)

3 комментария
Подписаться на комментарии к посту
Всеволод Шмыров
19 января 2015, 15:12
Добрый день. Вам нужно выполнить множественное геокордирование один раз, сохранить где-нибудь координаты, а потом выводить их на карту. Заставлять это делать каждого посетителя страницы с картой очень плохая идея.
http://ymapsapi.ya.ru/replies.xml?item_no=462

Шаг 1 - получить координаты точек, те геокодирование. 

Шаг 2 - сохранить результаты и больше не запускать шаг 1

Шаг 3 - почитать теорию про "минимальные выпухлые оболочки"(https://ru.wikipedia.org/wiki/%C2%FB%EF%F3%EA%EB%E0%FF_%EE%E1%EE%EB%EE%F7%EA%E0 http://habrahabr.ru/post/144921/ ) и как либо реализовать алгортим.

Встроеного решения для этого в АПИ нет.

Спасибо! Выпуклые оболочки, то что надо!