SASGIS - SAS.Планета
View Issue Details
0001501SAS.Планета[All Projects] Багpublic14-08-2012 10:5215-08-2012 16:04
Fetser 
vasketsov 
normalminoralways
resolvedfixed 
WindowsXPSP3
120808 
121010121010 
0001501: При импорте дырки превращаются в новые полигоны
Пока не реализована возможность импортировать kmz с дырками, надо игнорировать дырки при импорте называть эти полигоны другим именем.
А то сейчас каждая дырка превращается в новый полигон того же цвета. И на карте выглядит не как дырка, а наоборот, как места с наиболее ярким цветом и минимальной прозрачностью.
No tags attached.
related to 0001471resolved vdemidov Сделать импорт KML с дырками 
Issue History
14-08-2012 10:52FetserNew Issue
14-08-2012 10:54TolikDescription Updatedbug_revision_view_page.php?rev_id=4117#r4117
14-08-2012 10:55TolikSummaryПри импоре дырки превращаются в новые полигоны => При импорте дырки превращаются в новые полигоны
14-08-2012 11:07vasketsovNote Added: 0008463
14-08-2012 11:07vasketsovRelationship addedrelated to 0001471
14-08-2012 11:10TolikNote Added: 0008464
14-08-2012 11:11vasketsovNote Added: 0008466
14-08-2012 11:12FetserNote Added: 0008467
14-08-2012 11:15vasketsovNote Added: 0008468
14-08-2012 11:17FetserNote Added: 0008469
14-08-2012 11:28TolikNote Added: 0008471
14-08-2012 11:41FetserNote Added: 0008474
14-08-2012 11:42vasketsovNote Added: 0008475
14-08-2012 11:42TolikNote Added: 0008476
14-08-2012 11:43FetserNote Added: 0008478
14-08-2012 11:44FetserNote Edited: 0008478bug_revision_view_page.php?bugnote_id=8478#r4121
14-08-2012 11:45vasketsovNote Added: 0008479
14-08-2012 11:47TolikNote Added: 0008480
14-08-2012 11:49TolikNote Edited: 0008480bug_revision_view_page.php?bugnote_id=8480#r4125
14-08-2012 11:51vasketsovNote Added: 0008482
14-08-2012 12:05vasketsovNote Added: 0008484
14-08-2012 12:07FetserNote Added: 0008486
14-08-2012 12:07TolikNote Added: 0008487
14-08-2012 12:10TolikNote Added: 0008488
14-08-2012 12:13TolikStatusnew => acknowledged
14-08-2012 12:13TolikDescription Updatedbug_revision_view_page.php?rev_id=4128#r4128
14-08-2012 12:13Dima2000Note Added: 0008490
14-08-2012 12:32vasketsovNote Added: 0008491
14-08-2012 12:34TolikNote Added: 0008492
14-08-2012 12:35FetserNote Added: 0008493
14-08-2012 12:37vasketsovNote Added: 0008494
14-08-2012 12:39FetserNote Added: 0008495
14-08-2012 13:10vdemidovNote Added: 0008496
14-08-2012 13:25vasketsovNote Added: 0008497
14-08-2012 13:28vasketsovAssigned To => vasketsov
14-08-2012 13:28vasketsovStatusacknowledged => assigned
14-08-2012 13:28vasketsovStatusassigned => resolved
14-08-2012 13:28vasketsovFixed in Version => 121010
14-08-2012 13:28vasketsovResolutionopen => fixed
14-08-2012 13:35vdemidovNote Added: 0008498
14-08-2012 13:40vasketsovNote Added: 0008499
15-08-2012 16:04vdemidovTarget Version => 121010

Notes
(0008463)
vasketsov   
14-08-2012 11:07   
Игнорировать-то несложно.
Вопрос в целесообразности что-то делать, и потом заведомо переделывать.
(0008464)
Tolik   
14-08-2012 11:10   
Ну оставлять как есть нехорошо. 0001471 ведь не планирется скоро решить.
(0008466)
vasketsov   
14-08-2012 11:11   
Дело в том, что если их просто игнорировать, то вообще не будет никакой информации о внутреннем контуре. Сейчас только теряется признак внутренности.
(0008467)
Fetser   
14-08-2012 11:12   
Подскажите тогда пожалуйста как быть. У меня kmz очень часто из десятков полигонов и сотен дырок. Как их сортировать? Конечно можно удалять дырки в глобал мапере. но не хотелось бы их терять. Тогда придётся хранить kmz и с дырками и без дырок. А то вдруг к всеобщей радости вы сделаете поддержку дырок.
(0008468)
vasketsov   
14-08-2012 11:15   
>У меня kmz очень часто из десятков полигонов и сотен дырок
Это что? Что за источник данных?

>Как их сортировать?
Имеется в виду, как убрать дырки?
(0008469)
Fetser   
14-08-2012 11:17   
Источники этих kmz программы по расчёту зон радио покрытия. Дырки это как раз радиотень и конечно нужная информация. Сортировать я имел ввиду внутри саспланеты чтобы отключить видимость. Убрать их из kmz можно глобал мапером
(0008471)
Tolik   
14-08-2012 11:28   
А если эти контуры импортировать в другую категорию? Имя категории генерить из заданного путём добавления слова "дырки".
(0008474)
Fetser   
14-08-2012 11:41   
А смена категории каким образом?Автоматически дырки попадут в другую категорию? В ручную менять категорию почти нереально ввиду одинаковых названий полигонов и дырок. Если реализовать сложно я лучше пока буду удалять дырки из kmz и хранить и дырявые и не дырявые варианты в kmz.
И надеяться на реализацию поддержки дырок :)
(0008475)
vasketsov   
14-08-2012 11:42   
Импорт XML вроде бы ничего не знает про категории, там строятся объекты, а потом они падают в БД меток. Сейчас даже параметры оформления не пропихнуть из импорта в БД меток. В реальности можно только что-то добавлять в название метки, и потом руками.

Возможно есть вариант промежуточного преобразования через какой-нить gpsbabel, чтобы дырки или умерли, или выделились отдельно.
(0008476)
Tolik   
14-08-2012 11:42   
Конечно, я предлагаю автоматически. Конечно, это кривой костыль.
(0008478)
Fetser   
14-08-2012 11:43   
(edited on: 14-08-2012 11:44)
Если автоматически, тогда вариант очень даже интересный

(0008479)
vasketsov   
14-08-2012 11:45   
Есть уверенность на 99.9%, что автоматически запихнуть дырки в другую категорию не получится, слишом далеко это в коде, не дотянуться. Но погляжу сегодня.
(0008480)
Tolik   
14-08-2012 11:47   
(edited on: 14-08-2012 11:49)
> Сейчас даже параметры оформления не пропихнуть из импорта в БД меток
Странный limitation получается. У полигонов в БД меток есть цвета и т.п., в kml есть то же самое, почему нельзя пропихнуть? Пора, значит, переписывать пропихивалку.
(сорри за офтопик, про это, кажется, уже написана куча хотелок)

(0008482)
vasketsov   
14-08-2012 11:51   
Там не только цвета, параметры линий, иконки всякие. Там есть и <Folder> (если говорить про KML).

>Пора, значит, переписывать пропихивалку
Ну в общем-то да. Задачу экспорта и последующего импорта меток с минимальными потерями информации при этом никто не отменял.
(0008484)
vasketsov   
14-08-2012 12:05   
Можно сделать промежуточный по костыльности вариант: добавлять в имя полигона для дырок в начало имени префикс типа "inner - " (то есть будет "ИМЯ" для полигона и "inner - ИМЯ" для его дырок). EXE-ху приаттачу сюда. Устроит?
(0008486)
Fetser   
14-08-2012 12:07   
> добавлять в имя полигона для дырок в начало имени префикс
мне нравится
(0008487)
Tolik   
14-08-2012 12:07   
Костыльный в квадрате, но лучше чем ничего.
Если б была сортировка по имени в окне управления метками...
(на это тоже есть другая хотелка)
(0008488)
Tolik   
14-08-2012 12:10   
Зачем сюда? В ночнушку его.
(0008490)
Dima2000   
14-08-2012 12:13   
Можно кривым костылём: при создании объекта для дырок добавлять первым символом имени какой-то спецсимвол (типа 0x0C), а в момент записи объекта в внутреннюю БД (или куда там) проверять имя на этот спецсимвол (меняя категорию и убирая спецсимвол из имени, в этот момент это всё доступно). Согласен, криво, но зато несложно.
(0008491)
vasketsov   
14-08-2012 12:32   
>В ночнушку его
А что ещё кому-то надо дырки с захардкоденным inner?
(0008492)
Tolik   
14-08-2012 12:34   
Ну если мне попадётся kml с дырками, я хочу, чтобы дырки отличались от недырок (пока они не импортируются нормально).
(0008493)
Fetser   
14-08-2012 12:35   
>А что ещё кому-то надо дырки с захардкоденным inner?
А по моему отличный промежуточный вариант. У кого полигоны без дырок они не увидят разницы. А у кого с дырками сразу видно предупреждение это дырка, а не полигон. и если хочется (я так и буду делать) у дырок сменю цвет групповым преобразованием
(0008494)
vasketsov   
14-08-2012 12:37   
>отличный промежуточный вариант
А теперь давайте представим, само по себе имя полигона ужЕ начинается с inner )))

Впрочем ладно, уговорили, будет промежуточный костыль до нормального пописывания дырок.
(0008495)
Fetser   
14-08-2012 12:39   
Честное пионерское не буду сам называть начиная с inner :)
(0008496)
vdemidov   
14-08-2012 13:10   
А слабо импортировать как многокомпонентный полигон и чуток допилить отображение?
(0008497)
vasketsov   
14-08-2012 13:25   
Я даже не представляю, как и где чего поправить, чтобы отображать дырки на полигонах (пусть даже безотносительно операций с выделенной областью).
Так что "не слабо" пока только так.

зы. Поскольку полигон создаётся при импорте на закрывающем тэге, в этот момент уже известны все координаты всех контуров. Соответственно всё что надо - это запомнить в сторонке все inner-контуры (да хоть в том же TStringList построчно), и при создании полигона кроме outer-контура приаттачить к нему все его inner-контуры. Пример определения inner-контура я сейчас залью (префикс "inner - "), грубо говоря надо просто проти наверх по ссылке на родителя и проверить что попался тэг innerBoundatyIs. То есть в парсере-то проблемы вообще нет.
(0008498)
vdemidov   
14-08-2012 13:35   
Может лучше все-таки суффикс, а не префикс? Тогда при алфавитной сортировке полигон и его дырки будут рядышком.
(0008499)
vasketsov   
14-08-2012 13:40   
Думал насчёт суффикса. Но:
1. Здесь задача - отсортировать все дырки и скинуть их в отдельную категорию.
2. Если суффикс - при длином названии метки его будет не видно (в том числе на карте).
3. В принципе и без сортировки (исходя из написанного выше алгоритма импорта полигонов и их дырок) дырки будут прямо перед их родительским полигоном.
4. Если в полигоне несколько внешних контуров, и у каждого контура свои дырки, они всё равно перемешаются при сортировке, так что хрен редьки...