SASGIS

Веб-картография и навигация


View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0001834SAS.Планета[All Projects] Хотелкаpublic25-02-2013 09:0518-05-2015 15:28
ReporterFetser 
Assigned Tozed 
PrioritynormalSeverityminorReproducibilityhave not tried
StatusresolvedResolutionfixed 
PlatformWindowsOSXPOS VersionSP3
Product Version121010 
Target Version150915Fixed in Version150915 
Summary0001834: Объединять несколько полигонов в одну метку
DescriptionДовольно часто приходится иметь дело с объектами в виде нескольких полигонов. И хочется иметь возможность соединить их в одну метку с одним названием и одинаковыми описаниями.
В случае разных описаний брать описание от первого полигона.
TagsNo tags attached.
Attached Filesjpg file icon 77_all.jpg [^] (281,296 bytes) 02-03-2013 11:47
zip file icon Multipolygon.zip [^] (518 bytes) 11-03-2013 16:28

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

-  Notes
(0010640)
vasketsov (manager)
25-02-2013 18:08

Как предполагается выбирать метки (полигоны, полилинии) для объединения?
Типа все выделенные полигоны в конкретной категории (к первому дописываем куски контуров из остальных того же типа, остальные удаляем), или как-то иначе?
(0010643)
Fetser (reporter)
26-02-2013 04:54

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

Вполне красивое решение. Поскольку сейчас приходится создавать подкатегорию и в неё помешать все полигоны имеющие отношение к определённой зоне, у всех полигонов одно название и одно описание. Выделение нужных из подкатегории нужно пока нет возможности адекватно работать с дырками. То есть будет возможность сделать две метки: одна это все внешними контура, а другая все дырки.
(0010644)
Fetser (reporter)
26-02-2013 06:31

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

1. Все
2. Для всех
3. Суммарные
Все предусмотрено и сделано уже очень давно.
(0010646)
vasketsov (manager)
26-02-2013 07:42

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

>То есть будет возможность сделать две метки: одна это все внешними контура, а другая все дырки
Обращаю внимание на такой факт, что нельзя в общем случае собрать в один мультиполигон все внешние контуры, а в другой - все дырки. Ну то есть собрать-то можно, но в результате последующего применения мультидырки к мультиполигону может получиться совсем не то, что было бы, если бы дырки как и положено были привязаны каждая к своему внешнему контуру. Поэтому с такими "сборками" надо аккуратнее.
(0010647)
Fetser (reporter)
26-02-2013 08:20

>Поэтому с такими "сборками" надо аккуратнее.
Понятно. Оригиналы буду хранить до тех пор пока появится полноценная поддержка дырок
(0010763)
Fetser (reporter)
02-03-2013 10:43

Я конечно верю, что в SASпланете может в одной метке быть несколько полигонов.
А кто нибуть может привести пример KMZ с несколькими не пересекающимися полигонами, которые при импорте станут одной меткой?
(0010766)
vasketsov (manager)
02-03-2013 11:11
edited on: 02-03-2013 11:13

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

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

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

(0010768)
Fetser (reporter)
02-03-2013 11:26

Попробовал грузить с росрееста всё что вы предложили. Грузятся по одному полигону. Например Москва, если грузить с росреетра, то зеленоград не грузится его надо грузить отдельно то-есть второй меткой. А это тоже регион 77 Тоесть полностью загрузить 77 регион одной меткой не получается.
(0010769)
vasketsov (manager)
02-03-2013 11:46

А на метке что написано? Это квартал? Крупный квартал? Округ?
В информации о метке сколько контуров упомянуто?
Ща картинку приаттачу после "операции с выделенной областью" над полигоном 77.
(0010770)
Fetser (reporter)
02-03-2013 11:49

Категория: Новая категория
Имя: 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
(0010771)
vasketsov (manager)
02-03-2013 11:54

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

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

[VectorItemsFactory]
AllowMultiParts=1

то полегчает.
(0010773)
Fetser (reporter)
02-03-2013 11:55
edited on: 02-03-2013 11:59

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

>[VectorItemsFactory]
 AllowMultiParts=1

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

(0010774)
Fetser (reporter)
02-03-2013 12:05

Если мультиполигон экспортировать в KMZ, а потом обратно импортировать то между полигонами появляются соединительные линии, что конечно некрасиво.
(0010804)
Fetser (reporter)
05-03-2013 12:36

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

текстовой редактор меняет на ура. А вот собрать бат файл который управляет консольным Fart чтобы он подобное проделывал не получается. Проблема именно в том что </Polygon>.*<Polygon> содержит несколько строк. Вторая и третья замены проблем не вызывают.
(0010805)
vasketsov (manager)
05-03-2013 12:47

>содержит несколько строк
видимо надо какой-то параметр указать, чтобы шаблон через перенос строки ходил. типа /s или как-то так.
(0010863)
Fetser (reporter)
11-03-2013 16:28

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

в результате в каждом kml 1 мультиполигон, дырки удалены.
(0011194)
vasketsov (manager)
24-04-2013 18:03
edited on: 24-04-2013 18:09

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

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

(0011202)
Fetser (reporter)
25-04-2013 07:58

Конечно многоходовое получилось решение, но это гораздо лучше чем ничего. И результат очень хороший.
И получилось что выполнена хотелка 0000526: Обновление карты под группой полигонов
(0011215)
vasketsov (manager)
25-04-2013 11:06

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

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

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

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

а сейчас надо сделать видимыми нужные, на одну нажать и через ПКМ создать выделение, затем его сохранить, затем импортировать, при этом потеряв и имя и описание всех полигонов.
(0011223)
vasketsov (manager)
25-04-2013 11:24

>нужно получить один сумарный полигон
Ну да, так не очень удобно.
Это решение - когда один суммарный отдельный полигон делать не надо, а сразу надо качнуть всю категорию.
(0011224)
vasketsov (manager)
25-04-2013 11:26

>затем его сохранить, затем импортировать
Нет, сразу из формы запуска скачки создаётся новая метка.
(0011225)
Fetser (reporter)
25-04-2013 11:29

> Нет, сразу из формы запуска скачки создаётся новая метка.
Был неправ, про эту кнопку я забыл.
(0015344)
rsuan (reporter)
07-03-2015 08:07
edited on: 07-03-2015 08:30

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

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

(0015345)
zed (manager)
07-03-2015 10:20

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

Берёте Delphi и пишите код :) Тут предлагаются варианты реализации хотелки. Хотелка ещё открыта, значит в программе такого функционала ещё нет. А вы уже ищите, где такая функция.
(0015348)
rsuan (reporter)
07-03-2015 17:47

Я же процитировал vasketsov'а, который здесь сказал что решение проблемы есть. Только у меня так не получилось.
(0015349)
zed (manager)
07-03-2015 18:19

А, ну так он же и написал: в ночнушке SACS. Там, может и работает.
(0015871)
zed (manager)
08-05-2015 15:56

Устраивает текущая реализация через Merge Polygons?
(0015940)
Fetser (reporter)
18-05-2015 11:17

Попробовал на версии SAS.Planet.Nightly.150513.8754 объединять полигоны. Очень удобно мне понравилось.
(0015941)
vasketsov (manager)
18-05-2015 15:28

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

- Users who viewed this issue
User List Anonymous (6894x), ValeriyaKoroleva (1x), Garl (1x), ygorigor (1x), MontoyaSat (1x)
Total Views 6898
Last View 21-11-2024 09:50

- 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 => 27xxxx
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 View Revisions
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 View Revisions
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 View Revisions
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 View Revisions
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 27xxxx => 150915
18-05-2015 15:28 vasketsov Note Added: 0015941



Copyright © 2007 - 2024 SAS.Planet Team