View Issue Details

IDProjectCategoryView StatusLast Update
0001834SAS.ПланетаХотелка / Feature requestpublic18-05-2015 15:28
ReporterFetser Assigned Tozed  
PrioritynormalSeverityminorReproducibilityhave not tried
Status resolvedResolutionfixed 
PlatformWindowsOSXPOS VersionSP3
Product Version121010 
Target Version150915Fixed in Version150915 
Summary0001834: Объединять несколько полигонов в одну метку
DescriptionДовольно часто приходится иметь дело с объектами в виде нескольких полигонов. И хочется иметь возможность соединить их в одну метку с одним названием и одинаковыми описаниями.
В случае разных описаний брать описание от первого полигона.
TagsNo tags attached.
Attached Files
77_all.jpg (281,296 bytes)
Multipolygon.zip (518 bytes)

Relationships

related to 0000526 closedvasketsov SACS.Планета Обновление карты под группой полигонов 
related to 0002457 resolvedvdemidov SAS.Планета Обновление карты под группой полигонов 
related to 0001877 resolvedzed SAS.Планета Логические функции при работе с полигонами 

Activities

vasketsov

25-02-2013 18:08

manager   ~0010640

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

Fetser

26-02-2013 04:54

reporter   ~0010643

>все выделенные полигоны в конкретной категории (к первому дописываем куски контуров из остальных того же типа, остальные удаляем)

Вполне красивое решение. Поскольку сейчас приходится создавать подкатегорию и в неё помешать все полигоны имеющие отношение к определённой зоне, у всех полигонов одно название и одно описание. Выделение нужных из подкатегории нужно пока нет возможности адекватно работать с дырками. То есть будет возможность сделать две метки: одна это все внешними контура, а другая все дырки.

Fetser

26-02-2013 06:31

reporter   ~0010644

В случае реализации данной хотелки несколько сопутствующих вопросов:
1 если из менеджера меток "Перейти к выделенному объекту на карте отобразятся все полигоны? Хотелось бы чтобы все.
2 При наведении мышкой на один из полигонов метки будет всплывать общее описание? которое надо будет писать один раз, Если изначально описания не было. Хотелось бы один раз и отображалось для всех.
3 При получении информации о свойствах метки ( а.в менеджере меток б.при контекстом меню по ПКМ на карте)площадь и периметр, количество точек - будут суммарные всех полигонов? Хотелось бы всех.

vdemidov

26-02-2013 07:04

manager   ~0010645

1. Все
2. Для всех
3. Суммарные
Все предусмотрено и сделано уже очень давно.

vasketsov

26-02-2013 07:42

manager   ~0010646

>Если изначально описания не было
Если у метки-"акцептора" нет описания - вполне логично сделать, чтобы залетело первое непустое из убиваемых меток-"доноров".
В любом случае это получится ОДНА метка (пусть и сложная), и у неё будет ОДНО описание, и показываться она будет ОДНА ВСЯ.

>То есть будет возможность сделать две метки: одна это все внешними контура, а другая все дырки
Обращаю внимание на такой факт, что нельзя в общем случае собрать в один мультиполигон все внешние контуры, а в другой - все дырки. Ну то есть собрать-то можно, но в результате последующего применения мультидырки к мультиполигону может получиться совсем не то, что было бы, если бы дырки как и положено были привязаны каждая к своему внешнему контуру. Поэтому с такими "сборками" надо аккуратнее.

Fetser

26-02-2013 08:20

reporter   ~0010647

>Поэтому с такими "сборками" надо аккуратнее.
Понятно. Оригиналы буду хранить до тех пор пока появится полноценная поддержка дырок

Fetser

02-03-2013 10:43

reporter   ~0010763

Я конечно верю, что в SASпланете может в одной метке быть несколько полигонов.
А кто нибуть может привести пример KMZ с несколькими не пересекающимися полигонами, которые при импорте станут одной меткой?

vasketsov

02-03-2013 11:11

manager   ~0010766

Last edited: 02-03-2013 11:13

В росреестре есть такие области. Например Якутия (см. число контуров в информации о метке). У Ярославской области есть эксклав в Вологодской (соответственно Вологодская имеет ярославский анклав) чуть выше Тутаева. У Москвы есть эксклавы.

У роскосмоса есть полигоны и многоконтурные, и с дырками, их же прямо на портале видно, они в масштабе как будто мелкими точками испещрены. Если надо именно два полигона рядом и без дыро - см. Хабаровск вроде, если память не подводит.

Все они (в смысле, каждый такой) импортируются сейчас как ОДНА метка.
То что они не kmz, а импортируются из формы поиска снимков или с росреестра, ввдить в заблуждение не должно, логика там одна на всех общая.

Fetser

02-03-2013 11:26

reporter   ~0010768

Попробовал грузить с росрееста всё что вы предложили. Грузятся по одному полигону. Например Москва, если грузить с росреетра, то зеленоград не грузится его надо грузить отдельно то-есть второй меткой. А это тоже регион 77 Тоесть полностью загрузить 77 регион одной меткой не получается.

vasketsov

02-03-2013 11:46

manager   ~0010769

А на метке что написано? Это квартал? Крупный квартал? Округ?
В информации о метке сколько контуров упомянуто?
Ща картинку приаттачу после "операции с выделенной областью" над полигоном 77.

Fetser

02-03-2013 11:49

reporter   ~0010770

Категория: Новая категория
Имя: 77
Количество частей: 1
Количество точек: 9276
Периметр: 593 км 764,44 м
Площадь: 2501,98 км2

value:77
displayFieldName:Идентификатор
OBJECTID:3025
Ключ СФ:177
Идентификатор:77
Кадастровый номер:77
Наименование:Московский городской
Аннотация:77
Число КР:23
Число КК:3143
Число ЗУ:218599
ACTUAL_DATE:12/29/2012
X центра:4185908.2714
Y центра:7507402.9322
Экстент - X мин.:4096905.9159
Экстент - X макс.:4226519.3993
Экстент - Y мин.:7389517.7859
Экстент - Y макс.:7562647.3065
geometryType:esriGeometryPolygon
spatialReference:102100

vasketsov

02-03-2013 11:54

manager   ~0010771

Хм. Перегенерил полигон - изменилась инфа о метке:
Категория: Росреестр Округа
Имя: 77
Количество частей: 5
Количество точек: 12472
Периметр: 730 км 841.37 м
Площадь: 2569.42 км2
Впрочем 10-й район всё равно есть, что-то другое отвалилось, возможно дырки.

vasketsov

02-03-2013 11:55

manager   ~0010772

Возможно если в ini-щку добавить

[VectorItemsFactory]
AllowMultiParts=1

то полегчает.

Fetser

02-03-2013 11:55

reporter   ~0010773

Last edited: 02-03-2013 11:59

Попробовал на разных типах меток при SQL получился из нескольких полигонах при SML только по одному

>[VectorItemsFactory]
 AllowMultiParts=1

При метках в формате SML по прежнему по одному полигону

Fetser

02-03-2013 12:05

reporter   ~0010774

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

Fetser

05-03-2013 12:36

reporter   ~0010804

Господа программисты может кто подскажет как временный вариант сделать объединение полигонов в один мультполигон.
Идея простая поиск и замена по тексту KML
</Polygon>.*<Polygon> поменять на </Polygon>\\n<Polygon>
</description> поменять на </description>\\n<MultiGeometry>
</Placemark> поменять на </MultiGeometry>\\n</Placemark>

текстовой редактор меняет на ура. А вот собрать бат файл который управляет консольным Fart чтобы он подобное проделывал не получается. Проблема именно в том что </Polygon>.*<Polygon> содержит несколько строк. Вторая и третья замены проблем не вызывают.

vasketsov

05-03-2013 12:47

manager   ~0010805

>содержит несколько строк
видимо надо какой-то параметр указать, чтобы шаблон через перенос строки ходил. типа /s или как-то так.

Fetser

11-03-2013 16:28

reporter   ~0010863

Для тех кому надо прямо сейчас объединять полигоны в мультиполигон вложил скрипт который это делает. Порядок действий такой.
1 открыть любое количество KML (содержащих отдельные полигоны) в программе AkelPad
2 запустить скрипт
3 сохранить всё

в результате в каждом kml 1 мультиполигон, дырки удалены.

vasketsov

24-04-2013 18:03

manager   ~0011194

Last edited: 24-04-2013 18:09

В ночнушке SACS должно опубликоваться не окончательное, но всё же решение проблемы. По ПКМ в допоперациях - создание области выделения по видимым полигонам для категории метки, на которой вызвано контекстное меню. Создать метку можно из формы операций с выделенной областью. А можно и не создавать, так как возможно надо просто запустить экспорт и т.п., и можно обойтись и без метки.

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

Fetser

25-04-2013 07:58

reporter   ~0011202

Конечно многоходовое получилось решение, но это гораздо лучше чем ничего. И результат очень хороший.
И получилось что выполнена хотелка 0000526: Обновление карты под группой полигонов

vasketsov

25-04-2013 11:06

manager   ~0011215

>многоходовое получилось решение
В смысле, что надо сначала метки в одну категорию слить? )))
Это не окончательное решение. Это отдельное упрощение для случая, когда метки ужЕ в одной категории, например для обновления гугла это будет работать, или для подготовленного экспорта в jnx или ещё в аналогичной ситуации. В общем случае этого недостаточно (вернее это неудобно).

>выполнена хотелка 0000526: Обновление карты под группой полигонов
Ну если забить на проблему, описанную в хотелке 0001894, и если есть лишний час чтобы подождать кривоногий и хромой итератор тайлов по сильно разнесённым мультиполигонам - то да )))

Fetser

25-04-2013 11:20

reporter   ~0011221

>В смысле, что надо сначала метки в одну категорию слить? )))
Имеем полигоны в одной категории, нужно получить один сумарный полигон.

Одноходовое я так подразумевал - в менеджере меток выделил несколько нужный меток с полигонами, куда-то нажал, и появилась новая метка с суммарным полигоном (возможно исходные удалились) имя и описание от первого.

а сейчас надо сделать видимыми нужные, на одну нажать и через ПКМ создать выделение, затем его сохранить, затем импортировать, при этом потеряв и имя и описание всех полигонов.

vasketsov

25-04-2013 11:24

manager   ~0011223

>нужно получить один сумарный полигон
Ну да, так не очень удобно.
Это решение - когда один суммарный отдельный полигон делать не надо, а сразу надо качнуть всю категорию.

vasketsov

25-04-2013 11:26

manager   ~0011224

>затем его сохранить, затем импортировать
Нет, сразу из формы запуска скачки создаётся новая метка.

Fetser

25-04-2013 11:29

reporter   ~0011225

> Нет, сразу из формы запуска скачки создаётся новая метка.
Был неправ, про эту кнопку я забыл.

rsuan

07-03-2015 08:07

reporter   ~0015344

Last edited: 07-03-2015 08:30

Подтверждаю необходимость объединения полигонов в один.
> всё же решение проблемы. По ПКМ в допоперациях - создание области выделения по видимым полигонам для категории метки, на которой вызвано контекстное меню.

Не разобрался, как это делать. Две метки-полигона, в одной категории, на обеих галки. По ПКМ на категории Доп. операций нет. ПКМ по карте - Доп. операции - там только Создать полигон согласно РосРеестру. Надо как-то объединять полигоны в один, хоть и через помещение в одну категорию.
Версия 141212Stable.

zed

07-03-2015 10:20

manager   ~0015345

> Не разобрался, как это делать.

Берёте Delphi и пишите код :) Тут предлагаются варианты реализации хотелки. Хотелка ещё открыта, значит в программе такого функционала ещё нет. А вы уже ищите, где такая функция.

rsuan

07-03-2015 17:47

reporter   ~0015348

Я же процитировал vasketsov'а, который здесь сказал что решение проблемы есть. Только у меня так не получилось.

zed

07-03-2015 18:19

manager   ~0015349

А, ну так он же и написал: в ночнушке SACS. Там, может и работает.

zed

08-05-2015 15:56

manager   ~0015871

Устраивает текущая реализация через Merge Polygons?

Fetser

18-05-2015 11:17

reporter   ~0015940

Попробовал на версии SAS.Planet.Nightly.150513.8754 объединять полигоны. Очень удобно мне понравилось.

vasketsov

18-05-2015 15:28

manager   ~0015941

Ок, значит как устаканится с полигонами и их дырками, так и сопру.

Issue History

Date Modified Username Field Change
25-02-2013 09:05 Fetser New Issue
25-02-2013 18:08 vasketsov Note Added: 0010640
26-02-2013 04:54 Fetser Note Added: 0010643
26-02-2013 06:31 Fetser Note Added: 0010644
26-02-2013 07:04 vdemidov Note Added: 0010645
26-02-2013 07:37 Tolik Summary Хочется иметь возможность объеденять несколько полигонов в одну метку => Объединять несколько полигонов в одну метку
26-02-2013 07:42 vasketsov Note Added: 0010646
26-02-2013 08:20 Fetser Note Added: 0010647
26-02-2013 19:16 vdemidov Status new => confirmed
26-02-2013 19:16 vdemidov Target Version => 43xxxx
02-03-2013 10:43 Fetser Note Added: 0010763
02-03-2013 11:11 vasketsov Note Added: 0010766
02-03-2013 11:13 vasketsov Note Edited: 0010766
02-03-2013 11:26 Fetser Note Added: 0010768
02-03-2013 11:46 vasketsov Note Added: 0010769
02-03-2013 11:47 vasketsov File Added: 77_all.jpg
02-03-2013 11:49 Fetser Note Added: 0010770
02-03-2013 11:54 vasketsov Note Added: 0010771
02-03-2013 11:55 vasketsov Note Added: 0010772
02-03-2013 11:55 Fetser Note Added: 0010773
02-03-2013 11:59 Fetser Note Edited: 0010773
02-03-2013 12:05 Fetser Note Added: 0010774
05-03-2013 12:36 Fetser Note Added: 0010804
05-03-2013 12:47 vasketsov Note Added: 0010805
11-03-2013 16:28 Fetser Note Added: 0010863
11-03-2013 16:28 Fetser File Added: Multipolygon.zip
24-04-2013 18:03 vasketsov Note Added: 0011194
24-04-2013 18:09 vasketsov Note Edited: 0011194
25-04-2013 07:58 Fetser Note Added: 0011202
25-04-2013 11:06 vasketsov Note Added: 0011215
25-04-2013 11:08 vasketsov Relationship added related to 0000526
25-04-2013 11:20 Fetser Note Added: 0011221
25-04-2013 11:24 vasketsov Note Added: 0011223
25-04-2013 11:26 vasketsov Note Added: 0011224
25-04-2013 11:29 Fetser Note Added: 0011225
11-07-2014 08:49 zed Relationship added related to 0002457
07-03-2015 08:07 rsuan Note Added: 0015344
07-03-2015 08:30 rsuan Note Edited: 0015344
07-03-2015 10:20 zed Note Added: 0015345
07-03-2015 17:47 rsuan Note Added: 0015348
07-03-2015 18:19 zed Note Added: 0015349
25-04-2015 11:12 zed Relationship added related to 0001877
08-05-2015 15:56 zed Note Added: 0015871
08-05-2015 15:56 zed Status confirmed => feedback
18-05-2015 11:17 Fetser Note Added: 0015940
18-05-2015 11:17 Fetser Status feedback => new
18-05-2015 11:25 zed Status new => resolved
18-05-2015 11:25 zed Fixed in Version => 150915
18-05-2015 11:25 zed Resolution open => fixed
18-05-2015 11:25 zed Assigned To => zed
18-05-2015 11:26 zed Target Version 43xxxx => 150915
18-05-2015 15:28 vasketsov Note Added: 0015941
08-08-2025 13:24 zed Category Хотелка => Хотелка / Feature request