SASGIS - SAS.Планета
View Issue Details
0002762SAS.Планета[All Projects] Хотелкаpublic08-07-2015 16:1001-01-2024 11:05
Argut 
zed 
lowtweakalways
resolvedfixed 
141212 
24xxxx24xxxx 
0002762: Нельзя задать размер тайлов, на которые режется изображение, при операции Склеить KMZ Garmin
На вкладке "Склеить" диалога "Операции с выделенной областью" мне хотелось бы иметь возможность задавать размер тайлов (картинок), из которых состоит создаваемый при склейке KMZ-файл для Garmin. Это нужно для того, чтобы иметь возможность покрыть KMZ-файлом с высокой детализацией максимально большую площадь.

Если Вами для создания KMZ и/или нарезания его на тайлы используется некий внешний сервис, ограничивающий размер тайлов или не позволяющий его менять, то хотел бы предложить обходной путь, состоящий в создании KML такой же структуры с тайлами нужного размера, созданными операцией Склеить JPG.

Готов помочь чем угодно, включая программирование на вменяемом языке и тестирование на своём навигаторе. Заранее спасибо

ЗЫ, Приоритет = Срочный, ибо результат нужен до 30 июля :)
Предвидя массовые возражения по поводу якобы существующих ограничения Garmin на общий размер KMZ и размер тайлов, осмелюсь сообщить:

1)Прибор GPSmap 62s выпуска 2013 года с родной прошивкой
2)Выявленные экспериментально ограничения:
   а) 100 тайлов на все KMZ в приборе вместе взятые
   б) максимальный размер тайла 3 МБ
3) НЕ выявленные экспериментально ограничения:
   а) на размеры тайла в пикселях (успешно загружал тайл размером 3177 на 1703)
   б) на размер KMZ (успешно загружал KMZ 61 МБ, 96 тайлов). Исходя из п. 2, ожидаю, что размер KMZ ограничен 300 МБ, но проверить не могу, ибо сабж.
garmin, kmz, склейка, экспорт
Issue History
08-07-2015 16:10ArgutNew Issue
08-07-2015 16:13ArgutTag Attached: kmz
08-07-2015 17:27zedNote Added: 0016112
08-07-2015 19:02vasketsovNote Added: 0016113
08-07-2015 19:02vasketsovProjectSACS.Планета => SAS.Планета
09-07-2015 10:22ArgutNote Added: 0016117
09-07-2015 10:24ArgutNote Added: 0016118
09-07-2015 10:26ArgutNote Edited: 0016118bug_revision_view_page.php?bugnote_id=16118#r6644
09-07-2015 10:28vdemidovNote Added: 0016119
15-07-2015 09:13ArgutNote Added: 0016160
15-07-2015 09:34zedNote Added: 0016161
15-07-2015 09:36zedNote Edited: 0016161bug_revision_view_page.php?bugnote_id=16161#r6655
15-07-2015 09:36zedNote Edited: 0016161bug_revision_view_page.php?bugnote_id=16161#r6656
15-07-2015 09:45zedNote Added: 0016162
15-07-2015 10:39ArgutNote Added: 0016163
30-07-2015 08:48vdemidovPriorityurgent => low
30-07-2015 08:48vdemidovStatusnew => confirmed
30-07-2015 08:48vdemidovProduct Version => 141212
30-07-2015 08:48vdemidovTarget Version => 151010
30-07-2015 08:50vdemidovTag Attached: garmin
30-07-2015 08:50vdemidovTag Attached: склейка
30-07-2015 08:50vdemidovTag Attached: экспорт
04-10-2015 15:28vdemidovTarget Version151010 => 151111
13-10-2015 08:43vdemidovTarget Version151111 => 30xxxx.Vip
01-01-2024 11:05zedStatusconfirmed => resolved
01-01-2024 11:05zedFixed in Version => 24xxxx
01-01-2024 11:05zedResolutionopen => fixed
01-01-2024 11:05zedAssigned To => zed
01-01-2024 11:05zedTarget Version30xxxx.Vip => 24xxxx

Notes
(0016112)
zed   
08-07-2015 17:27   
>используется некий внешний сервис, ограничивающий размер
Нет конечно, мы всё делаем сами.

>включая программирование
О, ну за язык никто не тянул, так что изучайте сорцы: u_ProviderMapCombineKMZ.
И только посмейте сказать, что Delphi невменяемый язык :)

P.S. А проект точно SACS, ничего не перепутали?
(0016113)
vasketsov   
08-07-2015 19:02   
Ну, мне не интересно, я юзаю JNX.
(0016117)
Argut   
09-07-2015 10:22   
Зед,

Дельфи - вменяемый конечно же! Только брался за него я в 2007 крайний раз. Ну да неважно:) На форму бросить два Spin-Edit, а в коде в строках 186 и 187 вместо 1024 вставить то, что возвращают эти Spin-Edit

Перепутал, прошу прощения. Должно быть SAS
(0016118)
Argut   
09-07-2015 10:24   
(edited on: 09-07-2015 10:26)
Да, и на GPSmap 78s KMZ (61 МБ, 96 тайлов) тоже работает

(0016119)
vdemidov   
09-07-2015 10:28   
Ну еще и в TThreadMapCombineKMZ передать размер отдельного тайла и там тоже использовать именно его, а не магическое число 1024.
Ждем пулл-реквеста.
(0016160)
Argut   
15-07-2015 09:13   
Из-за проблем с установкой SourceTree под WinXP и нестабильности VirtualBox быстро внести необходимые исправления не удалось. Плотно вернуться к решению вопроса смогу только через месяц (командировка -> поход). Поэтому пулл-реквеста не будет.

Было найдено решение с использованием имеющихся средств:
"Операции с выделенной областью | Склеить". Выбираем "JPEG". Ставим галочку "KML". Подбираем параметры "Разбить изображение" с учётом размера области и требуемого размера тайла KMZ. В результате получается набор JPEG нужного размера и KML с привязкой. Набор грузится в Google Earth и сохраняется как KMZ. Занавес.

В связи с этим темы для размышлений:
* Нужен ли вообще для склейки формат KMZ?
* Если делать выбор размера тайла при склейке, то его нужно использовать для всех форматов.
* Если да, то необходимо логически связать его с существующим "Разбить изображение".

До встречи через месяц! Спасибо vdemidov за помощь с освоением процедуры внесения изменений в SASPlanet!
(0016161)
zed   
15-07-2015 09:34   
(edited on: 15-07-2015 09:36)
>с установкой SourceTree под WinXP и нестабильности VirtualBox
Чтобы работать с репо нужна консольная утилитка Mercurial (любая версия старше 1.7). И всё, никаких SourceTree и тем более VirtualBox, вам не нужно.

>Нужен ли вообще для склейки формат KMZ?
Раз он уже есть, то пускай будет. Зачем удалять?

>Если делать выбор размера тайла при склейке, то его нужно использовать для всех форматов.
В принципе, да, можно либо разбивать на части заданного размера и тогда будет автоматически определяться количество частей, либо разбивать на определённое количество (как сейчас) с автоматическим определением размера. НО если разбивать по первому варианту, вы практически всегда выйдете за границы выделения и будет склеена не та область, что выбрал пользователь, а бОльшая.

>Если да, то необходимо логически связать его с существующим "Разбить изображение".
Использовать одно из двух. Их логически не свяжешь - можно либо то, либо другое. Т.е. добавить радиогруппу с тремя состояниями "Не разбивать/Разбить на части по размеру/Разбить на части по количеству" (по-умолчанию - "Не разбивать"). А SpinEdit-ы использовать одни и те же, только инициализировать какими-то дефолтными значаниями при переключении группы (или дисэйблить, если разбивка отключена).

(0016162)
zed   
15-07-2015 09:45   
А хотя, нет - бОльшего размера оно не склеит, а скорее всего наделает обрезков произвольного размера на краях. Нужно смотреть код. Хотя, поведение можно и поменять на нужное/желаемое.
(0016163)
Argut   
15-07-2015 10:39   
>нужна консольная утилитка Mercurial
спасибо!
>Т.е. добавить радиогруппу с тремя состояниями
именно так!