SASGIS - SAS.Планета |
View Issue Details |
|
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 прилагаю |
Additional Information | |
Tags | No tags attached. |
Relationships | has duplicate | 0003290 | closed | zed | Экспорт в kml: проблемы с отображением иконок и текста в Google Earth | related to | 0003343 | resolved | zed | При экспорте в KML масштаб шрифта метки считается относительно НЕ дефолтного шрифта | related to | 0003339 | resolved | zed | Определённым образом форматировать KML-файл при экспорте меток |
|
Attached Files | 01ExportToGE.png (33,953) 09-06-2017 07:00 https://bugtracker.sasgis.org/file_download.php?file_id=2160&type=bug
Test.kmz (8,619) 20-06-2017 06:29 https://bugtracker.sasgis.org/file_download.php?file_id=2161&type=bug GECustomIcons.png (116,528) 20-06-2017 06:30 https://bugtracker.sasgis.org/file_download.php?file_id=2162&type=bug
|
|
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 |
Notes |
|
|
Если это действительно так, то исправить очень просто. Достаточно в u_ExportMarks2KML.pas в методе AddPointAppearence заменить получение ширины
width := VAppearanceIcon.Pic.GetMarker.Size.X;
просто на константу 32 |
|
|
|
Как быстрофикс - хорошее решение.
А потом можно развить идею иконок, чтобы в настройках программы задавался базовый размер, а размер самих иконок задавался масштабирующим коэффициентом. Так сделано в Google Earth, там три размера иконок (маленькие, средние, большие) и такой подход поможет пользователям с HiDPI экранами |
|
|
(0017989)
|
zed
|
19-06-2017 19:47
|
|
Что-то я не совсем понимаю, как надо сделать, чтобы получилось правильно для иконок любых размеров? Чему равен этот "базовый квадратик" который использует GE? Всегда 32x32 pix?
Дефолтная булавка в GE имеет размер 64x64 pix и по дефолту она сохраняется с масштабом 1,1. И там нету выбора между маленькой/средней/большой иконкой. Она там одна. |
|
|
|
В настройках GE можно выбрать базовый размер иконки, например "нормальный" имеет размер квадрата 32х32. Иконки вписываются в этот базовый квадратик по *меньшей стороне* в независимости от разрешения исходного файла. А потом иконке можно еще ввести масштабирующий коэффициент, который будет увеличивать размер базового квадратика. Для примера я создал 4 иконки разного размера, прикладываю KMZ и скриншот, как он отображается в GE |
|
|
(0017991)
|
zed
|
22-06-2017 14:48
|
|
Понятно. Но по-моему, заменять на константу нельзя, поскольку есть программы (GlobalMapper, к примеру), которые отображают иконки так же как и SAS - производят абсолютное масштабирование иконок, а не относительное. Поэтому, надо делать отдельную настройку, чтобы было всем хорошо.
Интересно, что в описании kml формата нет ни слова о том, что возможны различные типы масштабирования иконок. |
|
|
(0018322)
|
zed
|
14-06-2018 13:10
|
|
А какие размеры базового квадрата должны быть для "маленького" и "большого" размера? По моим прикидкам где-то 28 и 38 pix.
У экспорта в kml появился конфиг, так что сейчас можно вынести в настройки способ, каким образом считать этот scale. |
|
|
(0018323)
|
zed
|
14-06-2018 14:59
|
|
Сделал настройку (Управление метками - иконка с синей шестерёнкой), тестируйте. Возможно, для small надо задать базовый размер 16 (сейчас 28), а для Large - 64 (сейчас 38) и наверное надо как-то альтернативно считать масштаб у шрифта. Сейчас он считается относительно 14 ppt. В общем, жду отзывов и предложений. |
|
|
(0018328)
|
cycler
|
15-06-2018 15:03
|
|
У меня почему-то при любых настройках Icon Scale (может стоит в русской версии "масштаб иконки" сделать?) выскакивает в kml магическое число <scale>0.785714285714286</scale>.
Очень бы хотелось, чтобы там было <scale>1</scale>, тогда одной ручной операцией перед публикацией в веб станет меньше. По идее, такое поведение должно быть при настройке icon style -> absolute, но почему-то не срабатывает.. |
|
|
(0018329)
|
zed
|
15-06-2018 15:10
|
|
Единица будет если в SAS указан размер иконок 32 pix и в настройках экспорта выбрано Medium.
> <scale>0.785714285714286</scale>
Это похоже на масштаб у шрифта, а не иконки. Как я писал выше, шрифт я пока не трогал. |
|
|
(0018330)
|
cycler
|
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
|
15-06-2018 16:06
|
|
> Потому что нет ситуаций в kml, требующих изменения масштаба текста.
Ситуации могут быть разные. Кому-то может захотеться сделать шрифт мельче или крупнее дефолтного. Если формат позволяет, то почему бы и нет?
Сейчас в SAS дефолтный размер шрифта 11-й, а при экспорте в kml масштаб считается относительно 14-го. Вот тут по-моему наблюдается несоответствие и считать надо так же относительно 11-го.
> Наверное это уже к другому тикету?
По-хорошему, да - надо открыть отдельный тикет и там этот вопрос обсуждать. |
|
|
(0018332)
|
cycler
|
15-06-2018 17:09
|
|
На тему масштаба текста создал тикет http://www.sasgis.org/mantis/view.php?id=3343 |
|