SASGIS

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


View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0002407SAS.Планета[All Projects] Багpublic10-04-2014 18:5512-07-2014 16:10
Reporter8orms 
Assigned Tozed 
PrioritynormalSeveritymajorReproducibilityunable to reproduce
StatusresolvedResolutionfixed 
PlatformWindowsOS7OS VersionProfessional
Product Version131111 
Target Version141111Fixed in Version141111 
Summary0002407: Экспорт в формат kml/kmz меток состоящих из более чем 10000 отдельных линий выполняется медленно
DescriptionЭкспорт в kml метки состоящей из большого количества отдельных линий (в прикрепленном примере 389122 линии в одной метке) занимает очень большое время и требует много памяти.
TagsNo tags attached.
Attached Fileszip file icon marks.zip [^] (400,064 bytes) 11-04-2014 17:37
? file icon SASPlanet.elf [^] (43,764 bytes) 11-04-2014 17:49
7z file icon 2407.7z [^] (2,935,547 bytes) 12-07-2014 16:01

- Relationships

-  Notes
(0014126)
8orms (reporter)
11-04-2014 06:22

Одну группу из 60 линий экспортирует в течении 3 секунд, а из соседней группы одну метку экспортирует в течении 7 секунд ( при экспорте всей группы наглухо виснет и начинает жрать оперативку 400 - 500 - 600 и более МБ.
(0014127)
zed (manager)
11-04-2014 08:49

Проект точно SACS?

И наверное, не помешал бы пример sml, на котором воспроизводится проблема.
(0014128)
Parasite (administrator)
11-04-2014 09:41

Перенесено из SACS в SAS согласно мыла пользователя.
(0014129)
zed (manager)
11-04-2014 09:43

8orms
Укажите, какой конкретно версией вы пользуетесь и приложите sml.
(0014130)
8orms (reporter)
11-04-2014 17:24

v.140303.7919
v.140407.8030
 SML? надо немножко погуглить.
(0014131)
zed (manager)
11-04-2014 17:26

Ваши метки программа хранит в sml файлах в корне с exe файлом.
(0014132)
8orms (reporter)
11-04-2014 17:35

http://dropmefiles.com/R66PM
http://dropmefiles.com/sMuQ8
(0014133)
zed (manager)
11-04-2014 17:38

А в чём была сложность заархивировать и приаттачить их сразу сюда? Ну да ладно.
(0014134)
zed (manager)
11-04-2014 17:51

Да, висит и потихоньку отжирает кучу памяти. Эврика детектит заморозку гуя.
(0014135)
8orms (reporter)
11-04-2014 20:26

Не хочу показаться ламером, но как заморозить графический интерфейс?
(0014152)
vdemidov (manager)
18-04-2014 06:43

Увы, это не ошибка САС.Планеты, а просто проблемы используемого для формирования kml компонента TXMLDocument. Он просто работает медленно, а у вас очень специфические метки. Требуется полностью переделывать экспорт меток в kml, что бы он заработал быстрее.
(0014403)
zed (manager)
10-07-2014 19:52
edited on: 10-07-2014 19:56

Заметил особенность. Если сделать экспорт, а затем импорт этих меток в sml формат, то у путей сильно увеличивается количество точек и частей (в 2-4 раза).

Особенно это заметно на пути:

Категория: ГКИ
Имя: 102. КЛ 110 кВ Имеретинская - Ледовый Дворец*
Количество частей: 389122
Количество точек: 778244
Длина: 9059,69 км

после импорта он превращается вот в такое чудо на 3 миллиона точек и 1,5 миллиона частей:

Категория: Новая категория\ГКИ
Имя: 102. КЛ 110 кВ Имеретинская - Ледовый Дворец*
Количество частей: 1556482
Количество точек: 3112964
Длина: 36244,70 км

У пути изменилась так же и длина - в 4 раза.

Это я к тому, что кроме как медленного компонента для экспорта в kml, возможно тут присутствует какой-то баг с обработкой путей, который превращает и так медленный экспорт в невозможный. В sml оно кстати импортирует/экспортирует более-менее нормально (делал в два этапа: вначале все метки, кроме этой особенно большой, а вторым этапом обрабатывал отдельно эту метку).

Upd: А если отрыть отдельно экспортированный путь (подменой sml), то по нему вот такая информация:

Категория: \ГКИ
Имя: 102. КЛ 110 кВ Имеретинская - Ледовый Дворец*
Количество частей: 778242
Количество точек: 1556484
Длина: 18121,36 км

Явно где-то баг, который накручивает число точек.

(0014406)
vdemidov (manager)
11-07-2014 04:58

Нужно смотреть, а еще лучше написать тест, который будет воспроизводить багу, а уже потом фиксить. Я все никак не соберусь это дело тестами покрыть.
(0014407)
8orms (reporter)
11-07-2014 05:38

Для информации (вдруг чем поможет):
Пути(полигоны) получены путем экспорта полилиний из Autocad civil 3d в KML.
Линии в KML получаются как множество идущий друг за другом отрезков, а не как сплошная полилиния. Чтобы превратить в одну полилинию можно воспользоваться GlobalMapper, но для этого сначала надо выгрузить нужные полилинии (на этом этапе все виснет).
(0014408)
vdemidov (manager)
11-07-2014 06:11

Оно не виснет, оно очень медленно работает. Подождите пару суток и оно закончит :) И та бага о которой говорит Zed максимум удваивает время. Но оно в любом случае очень большое получается из-за использования XMLDocument
(0014415)
zed (manager)
12-07-2014 14:49

Пофиксил багу с удвоением.

А по поводу XML: может попробовать заменить на реализацию из Alcinoe? Интерфейс там один-в-один, если не ошибаюсь. Правда на объектах и ансишных строках, зато обещают прирост скорости в 10-100 раз :)
(0014416)
vdemidov (manager)
12-07-2014 14:58

Та не вопрос. Если есть желание и время, то всегда пожалуйста. Не думаю, что станет хуже. На самом деле, там практически любой XMLWriter прокатит даже тупой самописный. DOM Дерево было нужно до того, как на вход стало приходить готовое дерево категорий.
(0014417)
zed (manager)
12-07-2014 16:08
edited on: 12-07-2014 16:08

Ого! Профит от замены компонента получился огромный. Весь этот тестовый набор получилось без проблем экспортировать в kml за ~ 10 секунд! Я такого, честно говоря, не ожидал и был приятно удивлён :)

И да, ансишные строки alcinoe совсем не помешали. Я как-то упустил, что в kml utf8, а не юникод, так что с этим всё в порядке.

P.S. Приаттачил скомпиленные бинарники: 2704.7z - тестируйте.


- Users who viewed this issue
User List Anonymous (3579x), 8orms (3x), zed (1x)
Total Views 3583
Last View 28-03-2024 18:23

- Issue History
Date Modified Username Field Change
10-04-2014 18:55 8orms New Issue
11-04-2014 06:22 8orms Note Added: 0014126
11-04-2014 08:49 zed Note Added: 0014127
11-04-2014 09:41 Parasite Project SACS.Планета => SAS.Планета
11-04-2014 09:41 Parasite Note Added: 0014128
11-04-2014 09:43 zed Note Added: 0014129
11-04-2014 09:44 zed Status new => feedback
11-04-2014 17:24 8orms Note Added: 0014130
11-04-2014 17:24 8orms Status feedback => new
11-04-2014 17:26 zed Note Added: 0014131
11-04-2014 17:35 8orms Note Added: 0014132
11-04-2014 17:37 zed File Added: marks.zip
11-04-2014 17:38 zed Note Added: 0014133
11-04-2014 17:49 zed File Added: SASPlanet.elf
11-04-2014 17:51 zed Note Added: 0014134
11-04-2014 20:26 8orms Note Added: 0014135
18-04-2014 06:40 vdemidov Status new => confirmed
18-04-2014 06:40 vdemidov Product Version => 131111
18-04-2014 06:40 vdemidov Target Version => 24xxxx
18-04-2014 06:40 vdemidov Summary Не выполняется экспорт категории меток в формате kml/kmz => Экспорт в формат kml/kmz меток состоящих из более чем 10000 отдельных линий выполняется медленно
18-04-2014 06:40 vdemidov Description Updated View Revisions
18-04-2014 06:40 vdemidov Steps to Reproduce Updated View Revisions
18-04-2014 06:43 vdemidov Note Added: 0014152
10-07-2014 19:52 zed Note Added: 0014403
10-07-2014 19:56 zed Note Edited: 0014403 View Revisions
11-07-2014 04:58 vdemidov Note Added: 0014406
11-07-2014 05:38 8orms Note Added: 0014407
11-07-2014 06:11 vdemidov Note Added: 0014408
12-07-2014 14:49 zed Note Added: 0014415
12-07-2014 14:58 vdemidov Note Added: 0014416
12-07-2014 16:01 zed File Added: 2407.7z
12-07-2014 16:08 zed Note Added: 0014417
12-07-2014 16:08 zed Note Edited: 0014417 View Revisions
12-07-2014 16:10 zed Status confirmed => resolved
12-07-2014 16:10 zed Fixed in Version => 141111
12-07-2014 16:10 zed Resolution open => fixed
12-07-2014 16:10 zed Assigned To => zed
12-07-2014 16:10 zed Target Version 24xxxx => 141111



Copyright © 2007 - 2024 SAS.Planet Team