Anonymous | Login | Signup for a new account | 21-11-24 13:20 UTC |
All Projects | SAS.Планета | Домен, сайт, форум, багтрекер | Доработка карты (ZMP) | Переводы и локализации | Прочее |
My View | View Issues | Change Log | Roadmap | Search |
View Issue Details [ Jump to Notes ] | [ Issue History ] [ Print ] | ||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | ||||
0003237 | SAS.Планета | [All Projects] Баг | public | 09-06-2017 07:00 | 09-05-2019 19:57 | ||||
Reporter | Alezy80 | ||||||||
Assigned To | zed | ||||||||
Priority | normal | Severity | minor | Reproducibility | always | ||||
Status | resolved | Resolution | fixed | ||||||
Platform | Windows | OS | 7 | OS Version | Ultimate | ||||
Product Version | 160707 | ||||||||
Target Version | 181221 | Fixed in Version | 181221 | ||||||
Summary | 0003237: Неверный размер некоторых иконок при экспорте в KML файл | ||||||||
Description | При экспорте иконок задается неверное масштабирование. Если при создании точки выбран размер иконок 32х32, а исходный файл иконки имеет размер 64х64, то при экспорте иконке задается масштаб <scale>0.5</scale>. Если размер исходного файла 32х32, то масштаб ставится равным 1. При последующем импорте в Google Earth иконки с масштабом 0,5 выглядят очень мелкими, т.к. GE и другие программы (проверял еще на Android в программе Locus) применяют этот коэффициент масштабирования не к исходному файлу иконки, а к базовому квадратику, в который надо вписать иконку. Поэтому при экспорте надо игнорировать разрешение файла иконки, а коэффициент масштабирования вычислять как отношение заданного размера иконки к базовому, который можно принять как константу 32х32, или вынести в настройки | ||||||||
Steps To Reproduce | 1. Создал несколько точек, установил разные иконки (1.png и ancienttemple.png) 2. Экспортировал в KMZ файл 3. Открыл KMZ в Google Earth (или Android Locus) Точка с иконкой 1.png стала малюсенькой, а точка с иконкой ancienttemple.png осталась нормальной, скриншот GE прилагаю | ||||||||
Tags | No tags attached. | ||||||||
Attached Files | 01ExportToGE.png [^] (33,953 bytes) 09-06-2017 07:00
Test.kmz [^] (8,619 bytes) 20-06-2017 06:29 GECustomIcons.png [^] (116,528 bytes) 20-06-2017 06:30 | ||||||||
Relationships | ||||||||||||||||
|
Notes | |
(0017984) vdemidov (manager) 09-06-2017 08:05 |
Если это действительно так, то исправить очень просто. Достаточно в u_ExportMarks2KML.pas в методе AddPointAppearence заменить получение ширины width := VAppearanceIcon.Pic.GetMarker.Size.X; просто на константу 32 |
(0017985) Alezy80 (developer) 09-06-2017 09:06 |
Как быстрофикс - хорошее решение. А потом можно развить идею иконок, чтобы в настройках программы задавался базовый размер, а размер самих иконок задавался масштабирующим коэффициентом. Так сделано в Google Earth, там три размера иконок (маленькие, средние, большие) и такой подход поможет пользователям с HiDPI экранами |
(0017989) zed (manager) 19-06-2017 19:47 |
Что-то я не совсем понимаю, как надо сделать, чтобы получилось правильно для иконок любых размеров? Чему равен этот "базовый квадратик" который использует GE? Всегда 32x32 pix? Дефолтная булавка в GE имеет размер 64x64 pix и по дефолту она сохраняется с масштабом 1,1. И там нету выбора между маленькой/средней/большой иконкой. Она там одна. |
(0017990) Alezy80 (developer) 20-06-2017 06:29 |
В настройках GE можно выбрать базовый размер иконки, например "нормальный" имеет размер квадрата 32х32. Иконки вписываются в этот базовый квадратик по *меньшей стороне* в независимости от разрешения исходного файла. А потом иконке можно еще ввести масштабирующий коэффициент, который будет увеличивать размер базового квадратика. Для примера я создал 4 иконки разного размера, прикладываю KMZ и скриншот, как он отображается в GE |
(0017991) zed (manager) 22-06-2017 14:48 |
Понятно. Но по-моему, заменять на константу нельзя, поскольку есть программы (GlobalMapper, к примеру), которые отображают иконки так же как и SAS - производят абсолютное масштабирование иконок, а не относительное. Поэтому, надо делать отдельную настройку, чтобы было всем хорошо. Интересно, что в описании kml формата нет ни слова о том, что возможны различные типы масштабирования иконок. |
(0018322) zed (manager) 14-06-2018 13:10 |
А какие размеры базового квадрата должны быть для "маленького" и "большого" размера? По моим прикидкам где-то 28 и 38 pix. У экспорта в kml появился конфиг, так что сейчас можно вынести в настройки способ, каким образом считать этот scale. |
(0018323) zed (manager) 14-06-2018 14:59 |
Сделал настройку (Управление метками - иконка с синей шестерёнкой), тестируйте. Возможно, для small надо задать базовый размер 16 (сейчас 28), а для Large - 64 (сейчас 38) и наверное надо как-то альтернативно считать масштаб у шрифта. Сейчас он считается относительно 14 ppt. В общем, жду отзывов и предложений. |
(0018328) cycler (reporter) 15-06-2018 15:03 |
У меня почему-то при любых настройках Icon Scale (может стоит в русской версии "масштаб иконки" сделать?) выскакивает в kml магическое число <scale>0.785714285714286</scale>. Очень бы хотелось, чтобы там было <scale>1</scale>, тогда одной ручной операцией перед публикацией в веб станет меньше. По идее, такое поведение должно быть при настройке icon style -> absolute, но почему-то не срабатывает.. |
(0018329) zed (manager) 15-06-2018 15:10 |
Единица будет если в SAS указан размер иконок 32 pix и в настройках экспорта выбрано Medium. > <scale>0.785714285714286</scale> Это похоже на масштаб у шрифта, а не иконки. Как я писал выше, шрифт я пока не трогал. |
(0018330) cycler (reporter) 15-06-2018 15:54 |
Не заметил что один scale относится к <IconStyle> и он везде 1, а вот scale внутри <LabelStyle> всегда почему-то 0.785714285714286. Похоже на какую-то багу. Может LabelStyle/scale всегда при выгрузке в kml выставить равный единице? Потому что нет ситуаций в kml, требующих изменения масштаба текста. Или есть? Но если есть, то логичнее его делать более человечным, типа 0.5, 1.5, 2... А если и есть, то как он всё же такой посчитался? Опытным путём нашёл что шрифт 14 в свойствах иконки даёт scale равный 1 (да, надо было внимательнее читать предыдущие заметки). То есть размер 14 принят за базовый размер шрифта, и иные шрифты обсчитываются относительно него. Но ведь в иных прогах и вебе, где будет использоваться Kml-файл может быть какой угодно другой базовый размер шрифта. Так что мне кажется логичным указать 1 для LabelStyle и не париться. Наверное это уже к другому тикету? |
(0018331) zed (manager) 15-06-2018 16:06 |
> Потому что нет ситуаций в kml, требующих изменения масштаба текста. Ситуации могут быть разные. Кому-то может захотеться сделать шрифт мельче или крупнее дефолтного. Если формат позволяет, то почему бы и нет? Сейчас в SAS дефолтный размер шрифта 11-й, а при экспорте в kml масштаб считается относительно 14-го. Вот тут по-моему наблюдается несоответствие и считать надо так же относительно 11-го. > Наверное это уже к другому тикету? По-хорошему, да - надо открыть отдельный тикет и там этот вопрос обсуждать. |
(0018332) cycler (reporter) 15-06-2018 17:09 |
На тему масштаба текста создал тикет http://www.sasgis.org/mantis/view.php?id=3343 |
Users who viewed this issue | |
User List | Anonymous (3204x), Elbrussoid (4x), rass (1x), zed (19x), vdemidov (16x), cycler (9x), ingener (2x), stepanxxx (1x), Alezy80 (10x), AlexWhiter (1x), Papazol (1x), Garl (1x) |
Total Views | 3269 |
Last View | 21-11-2024 13:20 |
Issue History | |||
Date Modified | Username | Field | Change |
09-06-2017 07:00 | Alezy80 | New Issue | |
09-06-2017 07:00 | Alezy80 | File Added: 01ExportToGE.png | |
09-06-2017 08:03 | vdemidov | Status | new => confirmed |
09-06-2017 08:03 | vdemidov | Product Version | .Nightly => 160707 |
09-06-2017 08:03 | vdemidov | Target Version | => 181221 |
09-06-2017 08:05 | vdemidov | Note Added: 0017984 | |
09-06-2017 09:06 | Alezy80 | Note Added: 0017985 | |
19-06-2017 19:47 | zed | Note Added: 0017989 | |
20-06-2017 06:29 | Alezy80 | Note Added: 0017990 | |
20-06-2017 06:29 | Alezy80 | File Added: Test.kmz | |
20-06-2017 06:30 | Alezy80 | File Added: GECustomIcons.png | |
22-06-2017 14:48 | zed | Note Added: 0017991 | |
20-10-2017 20:36 | zed | Relationship added | has duplicate 0003290 |
01-12-2017 07:25 | vdemidov | Target Version | 181221 => 190707 |
14-06-2018 13:10 | zed | Note Added: 0018322 | |
14-06-2018 14:59 | zed | Note Added: 0018323 | |
14-06-2018 14:59 | zed | Assigned To | => zed |
14-06-2018 14:59 | zed | Status | confirmed => feedback |
15-06-2018 15:03 | cycler | Note Added: 0018328 | |
15-06-2018 15:10 | zed | Note Added: 0018329 | |
15-06-2018 15:54 | cycler | Note Added: 0018330 | |
15-06-2018 16:06 | zed | Note Added: 0018331 | |
15-06-2018 17:09 | cycler | Note Added: 0018332 | |
15-06-2018 17:20 | zed | Relationship added | related to 0003343 |
15-06-2018 17:21 | zed | Relationship added | related to 0003339 |
09-05-2019 19:56 | zed | Status | feedback => resolved |
09-05-2019 19:56 | zed | Fixed in Version | => 181221 |
09-05-2019 19:56 | zed | Resolution | open => fixed |
09-05-2019 19:57 | zed | Target Version | 190707 => 181221 |
My View | View Issues | Change Log | Roadmap | Search |
Copyright © 2007 - 2024 SAS.Planet Team |