Клуб API Карт

Найдено на тему «полигоны»:
Задача определения попадания адреса в зону доставки одного из филиалов
shachneff
19 августа 2017, 19:37

Да, наверное для людей в теме вопрос будет банален.

Но я столкнулся с задачей, решения которой основываясь на чтении документации и поиске по Клубу и рунету не нашел.

1) Берется область карты и размечается на зоны (тут понятно, редактор карт, полигоны, хранение вершин в базе). Полигонов много, и они могут накладываться друг на друга (например, полигон Москва обслуживается центральным офисом, но есть филиалы в каждом административном округе Москвы кроме ЦАО и ВАО), каждый из которых имеет свой полигон доставки, который пересекается с полигоном Москва)

2) Есть адрес по ФИАС (или КЛАДР). Преобразуем его с помощью геокодера в географическую координату. Используем http-запрос, посколько все это  делается на сервере в неком приложении без участия человека. Да, я знаю, что понадобится коммерческий доступ.

3) Теперь у меня есть координата и мне надо так же, без открытия карты, без участия человека, желательно запросом, получить список полигонов (см. п. 1), в который попал адрес. 

Я вижу рассказы в Интернете, что люди это делают играючи, но я не понимаю как (не могу в описании API Яндекс.Карт и около него найти ничего похожего (без js).

Помогите!

2 комментария
http-геокодер,поиск объекта,полигоны
Циклическое создание полигонов по координатам из файла или вручную при их отсутствии
lolwut-lol
31 мая 2017, 01:51

Заранее прошу извинения за ОЧЕНЬ длинный пост, но считаю, что развёрнутое и подробное объяснение гораздо полезнее двух-трёх строк и страницы кода. Готов показать любые логи консоли и дать весь код целиком.

Есть некоторый JSON файл, в котором есть массив из N объектов. Каждый из объектов, помимо некоторых данных (обрабатываются в непосредственной связи с полигонами, поэтому сам код для обработки даже не начинал писать), может хранить в себе координаты в трёхмерном массиве (начальное значение ключа везде " "). В самом скрипте координаты из строк переводятся в числа и по ним вполне себе строится полигон. 

Карта области изначально строится в схематическом виде, с помощью фотошопа и небольших костылей на неё накладываются те же дома/здания из вида со спутника. Полигон служит для обводки каждого дома, цвет зависит от "типа здания" (жилой дом, школа, магазин и т. д.). Использование схематической карты и готовых зданий гарантированно лишь сейчас, потому что потом, возможно, придётся рисовать планы ещё не застроенных участков, для которых нельзя средствами API просто определить координаты зданий, но можно вручную построить полигоны по уже наложенному на карту "плановому" изображению и сохранить их координаты.

Требуется после получения JSON-данных пройтись по массиву, и если координаты уже есть, то построить полигон (или добавить в коллекцию для дальнейшего построения). Если же координат нет, то запустить редактор, в котором один из пунктов меню позволяет завершить рисование и AJAX-запросом отправить координаты нового полигона для соответствующего объекта в JSON-файл.

Потом и кровью заставил координаты отправляться и даже сохранил полигон для первого объекта (изначально for отсутствовал и везде стоял индекс 0), затем начал расширять масштабы деятельности и наткнулся сразу на несколько проблем, описанных после кода.

Последняя версия выглядит вот так. В ней решены все проблемы с jQuery, с самим редактором и окраской, остались лишь специфичные для API Яндекс.Карт вопросы, которые не задашь просто так на каком-нибудь StackOverflow (в гугле и блоге тоже не нашёл). Убрал не имеющие отношения к вопросу части кода и добавил несколько объяснений.

ymaps.ready(init);

function init() {

//Тут создаётся карта

//Тут немного кода для наложения картинки

//Коллекция с объектами, для которых уже заданы координаты в JSON
 var buildingsOverlay = new ymaps.GeoObjectCollection({},{});
 $.getJSON("data/strogi.json",function(objdata){
  console.log(".getJSON success");
 })
 .done(function(objdata){
//Создаю и задаю "шаблонный" полигон тут
//Пытался решить проблему с несовпадением 
//индексов рисуемого и отправляемого объекта
//Подозревал задание пункта меню в for 
//даже при единоразовом создании меню проблема остаётся
   var tempPol = new ymaps.Polygon([],{},{
    fillColor: "#BBBBBB",
    opacity: 0.3,
    strokeColor: "#BBBBBB",
    strokeOpacity: 0.5,
    strokeWidth: 1
   });
   tempPol.editor.options.set({
    drawingCursor: "crosshair",
    maxPoints: 50,
    menuManager: function(menuItems, model){
     menuItems.push({
      id:"StopAndSend",
      title: "Завершить редактирование и отправить координаты",					
//count-1 стоит, так как при тесте двух объектов
//(индексы 0 и 1) 
//данные записывались в третий (индекс 2)
//и индекс менялся именно при нажатии на кнопку
      onClick: function(){
       console.log(count-1);
       tempPol.editor.stopDrawing();					
       var tempArr = tempPol.geometry.getCoordinates();
							
//Тут перевод координат в строки для валидности JSON
//Почти такой же код есть ниже
//с переводом строк в числа
							
       objdata.buildings[count-1].coords = tempArr;
							
//Проверял вид JSON, всегда координаты приписывались не туда
       console.log(JSON.stringify(objdata));
							
//Чтобы не отправить пустоту
       if (objdata.buildings[count-1].coords != " "){
        $.ajax({
         type: "POST",
         data: {json: JSON.stringify(objdata)},
         url: "writecoords.php",
         success: function(data){
          console.log("AJAX success");
         },
         error: function(){
          console.log("failed to send POST");
          alert("error");
         }
        });	
       }
      }
     });
     return menuItems;
    }
   });
//До трёх, потому что объектов много
//а тестировать все сразу очень долго
//Также при большем числе
//с имеющимся количеством возможных тестов
//новых вариантов появиться не должно
   for(count = 0; count < 3; count++){
    console.log(count);
    console.log(objdata.buildings[count]);
//"Шаблонный" полигон добавляется
//Дальше используется для редактирования 
//при пустых координаты у текущего объекта)
    strogino.geoObjects.add(tempPol);
    if(objdata.buildings[count].coords == " ") {
     console.log(count);
//Опустошение координат стоит, так как в предыдущих попытках
//Тот же "шаблонный" полигон использовался с готовыми координатами
//После чего добавлялся в коллекцию
     tempPol.geometry.setCoordinates([]);
     tempPol.editor.startDrawing();
    }
//Если координаты уже заданы
    else {
//Перевод координат JSON-объекта из строк в числа
     var coordArr = objdata.buildings[count].coords;
     for (var j = 0; j < coordArr[0].length; j++) {
      console.log(coordArr[0][j]);
      for (var k = 0; k < coordArr[0][j].length; k++) {
       var mn = parseFloat(coordArr[0][j][k]);
       coordArr[0][j][k] = mn;	
      }
     }
			
//Создание объекта по готовым координатам
     var newObj1 = new ymaps.Polygon([coordArr[0]],{},{
      fillColor: "#999999",
      strokeColor: "#999999",
      opacity: "0.4",
      strokeOpacity: "0.6",
      strokeWidth: "2"
     });
			
//Немного кода для установки цвета 
//по данным из JSON через 
//newObj1.options.set("fillColor", "#БлаБла"); и 
//newObj1.options.set("strokeColor", "#БлаБла"); 
//через if и switch, расположенный в else
			
     strogino.geoObjects.add(newObj1);
    }
   }			
 })
//Коллбеки .fail() и .always(), роли не играют
}

Как я понял после кучи мелких правок, экспериментов и выкидывания в консоль всего возможного, даже несмотря на цикл for, тупо упирающийся в развилку, из 3 объектов редактирование всегда вызывается для последнего: в консоли появляется первый объект, затем второй (с пустыми координатами), затем третий (также с пустыми координатами) и только после этого начинается редактирование.

После завершения рисования и отправки координат вместо нового курсора-прицела, который означает начало рисования, появляется обычная "рука" и карта становится завершённой.

Сохраняется всё, естественно, для последнего объекта, а второй (первый из пустых) так и остаётся пустым. Без count-1 в менюшке даже при цикле из ДВУХ возможных объектов objdata.buildings[0] и odjdata.buildings[1] пункт меню сохранял всё в objdata.buildings[2], что я проверял и несколькими вызовами всего объекта objdata, и вызовом objdata.buildings[1].coords в пункте меню, и выводами индексов на всех стадиях кода, и чтением JSON из файла после записи. Даже непосредственно JSON-файл смотрел.

Думал об использовании коллекции для сохранения готовых объектов, которые будут рисоваться в конце (а tempPol использовать только для постоянного рисования), но и тут ничего не помогло, пробовал сразу несколько способов. Заканчивалось несколькими разными ошибками:

  1. Объект tempPol создавался в цикле for и только потом следовала развилка. В else использовалось buildingsOverlay.add(tempPol); После добавления готового объекта (сначала выводились длины до и после добавления) в консоли появлялась ошибка (указанная строка с ошибкой показывала на следующее создание tempPol) о невозможности выполнения getParent на undefined.
  2. Использовать buildingsOverlay.set(count, tempPol);. Это я пробовал и при работе с одним объектом (0 вместо count), не работало вообще.
  3. Создавать в else{} объект newObj1, приписывать ему все свойства и координаты, затем добавлять в коллекцию. Успешно увеличивалась длина, вне else{} (в конце коллбека .done() и после окончания всей функции .getJSON()) длина становилась равной нулю.
  4. После задания нужных опций и координат у tempPol, использовать что-то вроде var newObj1 = tempPol; и записывать newObj1 в коллекцию, но эффект был совсем не тот -- newObj1 не становился геообъектом (в прицнипе, ожидаемо).

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

За сегодня пришло в голову несколько новых идей:

  • Два раза делать .getJSON, в первый раз ТОЛЬКО рисовать, если есть объекты без координат, во второй раз нарисовать все объекты, т. к. наличие координат гарантированно;

Критичной проблемой является невозможность рисовать несколько полигонов подряд. Даже если else убрать и оставить только рисование при пустых координатах, в консоли сначала появляются два пустых объекта (при том, что в том же if, где стоит вывод в консоль, есть tempPol.editor.startDrawing(), т. е. вывод два раза, а рисуется один)

  • Добавлять объекты в коллекцию без присвоения объектов, сразу через buildingsOverlay.add(new ymaps.Polygon([coords[count]], {}, {});

Так можно избежать отсутствия возможности создать новый шаблонный полигон. Однако я уже не уверен в том, что можно дальше менять опции через buildingsOverlay.get(count).options.set();, как это делается для отдельных объектов, да и внезапное обнуление коллекции после else{} в коде не просто же так происходит.

  • В самом-самом начале хотел использовать ещё и коллекцию со временными объектами (в которой не было необходимости при работе с одним-двумя объектами) и дальнейшем переносе из временной коллекции в готовую, но эта идея упирается сразу в обе проблемы.

Можно, конечно, вернуться к редактированию по одному объекту, однако их число УЖЕ перевалило за пару десятков, и несмотря на возможную простоту обводки одного дома, столько раз менять везде индексы и обновлять карту довольно утомительно. Да и после отправки карты в пользование при добавлении новых объектов заказчик, очевидно, предпочтёт сразу добавить объект на карту, а не копаться в коде скрипта.

Конечные вопросы, с учётом всех нюансов:

  1. Возможно ли использование редактора в цикле при каждом его выполнении?
  2. Как правильно использовать коллекции для хранения изменяющегося числа объектов с возможностью дальнейшего изменения опций?

Также принимаю абсолютно любые советы по улучшению благовидности кода. Особенно интересует создание отдельных функций для редактирования полигона, отправки данных (если есть способ отправлять обратно не весь JSON объект, а только координаты, которые обработаются в php и будут записаны в JSON-файл, буду крайне рад услышать), изменения типа данных сохранённых координат. Последняя попытка создать обработку для всего трёхмерного массива сразу с использованием рекурсивного захода и Array.isArray() закончилась превышением максимального размера call stack, а моё желание сделать универсально и долгосрочно и без попыток всё это создать и отладить уже надолго растянуло создание скрипта.

    1 комментарий
    полигоны,коллекция,циклы
    Запретить пересечения полигонов
    work.pavlenko
    30 мая 2017, 18:33

    Доброго времени суток. Есть функционал рисования полигонов. Пользователь рисует область на канвасе, затем она трансформируется в полилинию и создается полигон. Все было отлично, пока не понадобилось, сделать так, чтоб полигоны не пересекались. Тоесть, если пользователь "залез" на существующий полигон, то новый должен пройти по границе, а не сверху.

    Что то типа редактора областей должно получится. Очень хочется надеятся что есть хоть что нибудь в помощь в АПИ (2.1).

    Спасибо Большое)

    2 комментария
    полигоны
    Полигоны в objectManager
    Maxim R.
    16 февраля 2017, 22:49

    Здравствуйте!

    Нужно разместить на карте большое количество полигонов. В документации к objectManager ничего про полигоны не нашел. На хабре читал статью про objectManager от 2014 года, в которой говорилось, что поддержка полигонов в objectManager уже в разработке и скоро появится.

    Но что-то непонятно появилась или нет ?

    Если не появилась, то данная задача решается через активные области ? Т.е. генерить png на сервере придётся ?

    4 комментария
    ObjectManager,полигоны
    Внутренний контур полигона
    Sergey S.
    28 января 2017, 08:09

    Доброго времени суток.

    Подскажите пожалуйста, как при редактировании полигона запретить создавать внутренний контур.

    2 комментария
    полигоны,редактор геометрии
    Цвета полигона и отображение балуна
    Удалённый пользователь
    9 декабря 2016, 13:07

    Добрый день. Мучаюсь со своей картой ((( Но я пока только учусь, так что не сильно забивайте камнями )))

    В общем вопросы:
    1.  Прописываю <div>, но он почему-то не задается, может что-то не так? Теги h2 и p тоже не видит. Если в MYCollection.options.set задаю

    balloonContentHeader: 'Заголовок',
    balloonContentFooter: 'Подвал'

    он их тоже не видит. Что-то где-то накосячил, но где не пойму ((

    2.  Как правильно прописать цвета полигона, в зависимости  от properties.статуса? Написал, но  как-то не то...

    MYCollection.options.set({
    if ($[properties.status] == 'Оплачено' ){
    this.options.set({
    fillColor: '#333'
    });

    }else {
    this.options.set({
    fillColor: '#fff'
    });
    }

    });

    ymaps.ready(init);

    function init () {

        var MYMap = new ymaps.Map("YMapsID", {
                center: [60.18196329668826,30.364867863283404],
                zoom: 17,
                behaviors: ['default', 'scrollZoom'] // скроллинг колесом
            }),

    // Общий многоугольник для всех полигонов, будет в виде картинки
            BigPoligon = new ymaps.Polygon(
                [[[... координаты ...]]],
                {name: 'Общий фон' },
            { fillImageHref:'img/MY.png', zIndex:1, strokeWidth:0, zIndexHover:1});


        MY1 = new ymaps.Polygon(
                [[[... координаты ...]]],
            { price: 10000, area: 25 , status: 'Купить' ,name: '№ 1' });

        MY2 = new ymaps.Polygon(
                [[[... координаты ...]]],
            {price: 40000, area: 25 , status: 'Купить' ,name: '№ 2' });

        MY3 = new ymaps.Polygon(
                [[[... координаты ...]]],
            {price: 10000,  area: 25 , status: 'Оплачено' ,name: '№ 3'});


    // Создаем коллекцию, в которую будем добавлять метки
        MYCollection = new ymaps.GeoObjectCollection();

    //Добавляем метки в коллекцию геообъектов.
        MYCollection
            .add(MY1)
            .add(MY2)
            .add(MY3);

    // Шаблон для отображения контента балуна

        var myBalloonLayout = ymaps.templateLayoutFactory.createClass(
            '<div class="myBallon"> <h3>  $[properties.name]  </h3> </div>' +
            '<p><strong>Площадь:</strong>  $[properties.area]  соток</p>' +
            '<p><strong>Цена:</strong>  $[properties.price] рублей</p> '+
            '<p><strong>Статус:</strong>  $[properties.status] </p> '
        );

    //  хранилище шаблонов.
        ymaps.layout.storage.add('my#poligonlayout', myBalloonLayout);

    // Задаем шаблон для балунов геобъектов коллекции.
        MYCollection.options.set({
            balloonContentBodyLayout:'my#poligonlayout',
            strokeWidth: 0,
            opacity: 0.9,
            zIndexHover:20,
            zIndex:20
        });


    //  цвета полигона от статуса

    MYCollection.options.set({
    if ($[properties.status] == 'Оплачено' ){
    this.options.set({
    fillColor: '#333'
    });

    }else {
    this.options.set({
    fillColor: '#fff'
    });
    }

    });


    // Добавляем коллекцию геообъектов на карту.
        MYMap.geoObjects.add(MYCollection);
        MYMap.geoObjects.add( BigPoligon);
    }

    полигоны,цвет полигона,цвет полигона при наведении,не работает балун
    Надпись на полигоне
    Удалённый пользователь
    8 декабря 2016, 16:28

    Добрый день. Можно ли сделать надпись на полигоне? Например написать номер дома? Домов будет несколько

    9 комментариев
    надпись на полигоне,полигоны
    Изменить информацию в балуне через txt/csv
    Удалённый пользователь
    7 декабря 2016, 18:28

    Всем привет! Вопрос такой:
    Делаю карту с расположением нескольких полигонов (до 15) для сайта по продаже земельных участков. Сами полигоны будут обозначать участки для продажи. Вопрос, можно ли сделать, что бы менеджер менял информацию в txt/csv файлах и в картах (балуне) менялась информация?

    Вид файла:

    Участок №1  | 2 млн. руб  | 4,4 сотки | Продан

    Участок №2  | 3 млн. руб  | 5,5 сотки | Зарезервировать

    Участок №3  | 4 млн. руб  | 6,6 сотки | Зарезервировать

    На данный момент :

    function init () {
    
        var myMap = new ymaps.Map("YMapsID", {
                center: [x,y],
                zoom: 16,
                behaviors: ['default', 'scrollZoom'] 
            }),
    
            myPolygon = new ymaps.Polygon([[
                    [x,y],[x1,y1],[x2,y2], [x3,y3]]],
                {fillColor: '#FF0000',strokeColor: '#0000FF', opacity: 0.6, strokeWidth: 1,strokeStyle: 'shortdash'});
    
      myPolygon2 = new ymaps.Polygon([[
               [x,y],[x1,y1],[x2,y2], [x3,y3]]],
            {fillColor: '#FF0000',strokeColor: '#0000FF', opacity: 0.6, strokeWidth: 1,strokeStyle: 'shortdash'});
    
        myCollection = new ymaps.GeoObjectCollection();
    
        myCollection
            .add(myPolygon)
       .add(myPolygon2);
    
        var myBalloonLayout = ymaps.templateLayoutFactory.createClass(
    
            '<h3> Участок Номер участка??  </h3>' +
            '<p><strong>Площадь:</strong> Площадь??</p>' +
            '<p><strong>Цена:</strong> Цена???</p>' +
            
        );
    
        ymaps.layout.storage.add('my#theaterlayout', myBalloonLayout);
    
        myCollection.options.set({
            balloonMaxWidth: 400
        });
    
        myMap.geoObjects.add(myCollection);
    }
    4 комментария
    содержимое балуна,csv,полигоны
    Как правильно показывать несколько полигонов на карту?
    jo@hay.agency
    13 ноября 2016, 13:49

    Подскажите пожалуйста как правильно показывать на карту полигонов ? Я новичок.

    На яндекс карте нарисовал несколько  полигонов  и экспортировал в формате geosjon ?И вот так добавляю на карту. Что не так делаю?

    ymaps.ready(init);
      function init () {
      var myMap = new ymaps.Map("map", {
                center: [55.73, 37.75],
                zoom: 10
            }, {
                searchControlProvider: 'yandex#search'
            });

        jQuery.getJSON('http://bakeland.ru/js/data.geojson', function (json) {
                var geoObjects = ymaps.geoQuery(json)
                                  .addToMap(myMap)
            });       
    }

    4 комментария
    полигоны,geojson
    Общие границы полигонов
    MaximVarz
    4 октября 2016, 17:52

    Ситуация такова:

    на карте размещено несколько полигонов, которые имеют общие границы друг с другом, т.е. точки одного полигона являются точками другого (правильнее  - другой полигон тоже имеет точки с такими же координатами).

    есть потребность в изменении геометрии этих полигонов. Изменение области геометрии, неграничащей с другими полигонами  - не вызывает затруднений, а вот на общей границе- очень даже не просто ...

    подскажите пжлста есть ли возможность как то сцепить полигоны в общих границах (точках), и изменять геометрию обоих полигонов, в случае перемещения общей точки одного из полигонов?

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

    3 комментария
    Polygon,полигон,полигоны
    Помогите заставить функции видеть полигон
    Lobsterbob1
    12 сентября 2016, 10:43

    Помогите, пожалуйста, разобраться...День уже совладать не могу с эитми полигонами.

    Есть код вот тут: http://other.deadpool.shn-host.ru/test/map.html , который без добавления полигонов нормаьлно считает сумму/расстояния, но как только в функцию рассчета расстояния добавить что-то связаное с полигоном, функция тут же перестает рабтать (сейчас там в ней расположен вывод в консоль объекта ТТК полигона), если вывод в консоль закоментировать - функция работает как надо.

    Задача разместить полигоны и к стоимости за кмлометраж добавлять фиксированную стоимость за въезд в пределы ТТК.

    Знаю уже как проверять принадлежность точки полигону, только вот не могу заставить функции видеть этот полигон, чтобы проверять принадлежность точки... Для карты это полигон всегда undefined, виден но не существует.... Голову уже сломал =(

    2 комментария
    полигоны,функции,расчет маршрута,принадлежность точки
    Добавить к полигону область определенной ширины?
    Удалённый пользователь
    18 июля 2016, 17:32

    Всем привет.
    Возникла задача добавить к МКАД для Москвы и КАД для СПб область одинаковой ширины, равной 50 км.
    Как это можно просто сделать?

    1 комментарий
    полигоны
    Как объединить несколько полигонов в один?
    Пётр Рудой
    30 декабря 2015, 04:25

    Как несколько полигонов объединить в один (или в одну группу), чтоб потом можно было проверить, принадлежит ли какой-то адрес какому-нибудь из полигонов или лежит за пределами?

    https://tech.yandex.ru/maps/jsbox/2.1/route_inside_polygon вот тут это работает. Но там только один полигон и длину участков не показано, как вычислить. У меня же несколько полигонов и надо вычислить длину маршрута в городе и длину за пределами.

    Помогите плз.

    3 комментария
    маршрутизация,API 2.1,полигоны
    Много полигонов на карте
    NBAH1990
    13 декабря 2015, 09:15

    Добрый день. Отрисовываю на карте очень много полигонов (по сути почти каждый дом в городе), при этом действия с картой становятся почти невозможными, браузер зависает. Есть идея сделать скрин слоя полигонов (png в хорошем разрешении, чтобы не было разницы между отрисованными полигонами и картинкой) и накладывать его как картинку прямо на карту. Подскажите пожалуйста, как это сделать?

    4 комментария
    полигоны,множество объектов,png на карте,картинка на карте,скриншот
    В Chrome неверно происходит заливка многоугольников при наличии пересекающихся сторон. Что делать?
    khalitovsv
    10 ноября 2015, 14:07

     

    Берем пример из песочницы: https://tech.yandex.ru/maps/jsbox/2.1/polygon

     

    Chrome (ошибка отрисовки заливки)Firefox (как должно быть)

     

    Речь идет о левом многоугольнике c параметром геометрии fillRule = "evenOdd" (по умолчанию).

    Многоугольник начинает заливаться правильно при определенном приближении (zoom)

     

    Как с этим бороться? Огромная масса пользователей сидит на хроме... 

    4 комментария
    API 2.1,заливка,Chrome,ошибка,полигоны
    Кластеризация полигонов
    Konstantin
    30 июня 2015, 16:58

    Что-то подобное http://stackoverflow.com/questions/13600685/how-to-utilize-google-map-markercluster-to-catch-polygon-rather-than-marker можно на данный момент реализовать на вашем апи?

    6 комментариев
    кластеризатор,API 2.1,полигоны
    Создание полигона по массиву адресов
    Павел
    19 января 2015, 13:50

     Добрый день!

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

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

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

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

    Есть идеи? :)

    3 комментария
    API 2.1,полигоны,геокодирование