Просмотр задачи
| Номер | Проект | Категория | Видимость | Создан | Изменен |
|---|---|---|---|---|---|
| 0001624 | SAS.Планета | Баг / Bug | публичная | 10-10-2012 23:26 | 12-10-2012 09:11 |
| Инициатор | AlexWhiter | Ответственный | AlexWhiter | ||
| Приоритет | обычный | Влияние | малое | Воспроизводимость | всегда |
| Состояние | решена | Решение | решена | ||
| Версия продукта | 121010 | ||||
| Целевая версия | 131111 | Решена в версии | 131111 | ||
| Тема | 0001624: Снижается качество изображения при экспорте в JNX | ||||
| Описание | При экспорте в JNX тайлы из кэша подвергаются деформации, что особенно хорошо заметно на картах OSM. Во вложении находится тайл из контейнера JNX, и ближайший тайл из кэша SAS. Очень хорошо видно, что при экспорте в JNX произошло сжатие изображения по вертикали, а также в изображение попали части соседних тайлов. Хотелось бы, что тайлы брались из кэша без изменений, чтобы максимально улучшить качество результата. | ||||
| Метки | jnx, экспорт | ||||
| Вложенные файлы | |||||
|
|
> Хотелось бы, что тайлы брались из кэша без изменений Подождите, но на навигаторе эти тайлы оказываются привязанными правильно? Значит, если просто взять и положить туда исходные тайлы, получится неправильная картинка, надо их точно так же масштабировать, только с лучшим качеством. Скорее всего, при ресайзе используется алгоритм, выбранный в настройках программы (в закладке вид), и по умолчанию выбран самый плохой - Nearest. Попробуйте поменять на Lanczos (лучший из тех, что я знаю) и сделать такой же экспорт, покажите, что получится. Если поможет, поэкспериментируйте с другими алгоритмами. Кстати, эту настройку по умолчанию надо изменить: Nearest никуда не годится. |
|
|
>при экспорте в JNX произошло сжатие изображения по вертикали Произошла смена проекции с исходной на Lat/Lon. Смена проекции подразумевает физическое, если так можно сказать, деформирование изображения. Поэтому понятно, что смена проекции спутниковых снимков происходит более-менее безболезненно (хотя тут уже был где-то тикет про качество перепроецирования снимков из кэша GE, правда там работает обратный алгоритм - из Lat/Lon преобразуется в Меркатора), а вот для всех типов карт ситуация становится много хуже, что вы собственно и наблюдаете. Помницца, когда мы прикручивали к САСу экспорт в JNX, вы ставили условие, что на вход должны приходить тайлы в проекции Lat/Lon. Я так и сделал. Можете сами поэкспериментировать с проекциями, она меняется одной константой в TThreadExportToJnx.ProcessRegion в строке 162: >VGeoConvert := FCoordConverterFactory.GetCoordConverterByCode(CGELonLatProjectionEPSG, CTileSplitQuadrate256x256); где, вместо CGELonLatProjectionEPSG можете подставить любое значение из c_CoordConverter.pas - будет работать принудительное изменение исходной проекции тайлов в ту, которую укажете. |
|
|
Если взять исходные тайлы (прямо из кэша) и указать их правильные координаты, то и в навигаторе такие тайлы будут правильно показаны. Именно таким образом работает конвертер MOBAT2JNX. И сейчас для получения JNX-карты нормального качества приходится скачивать тайлы через SAS, а потом натравливать MOBAT2JNX на каталог с кэшем. Проблема не в качестве сжатия, а в том, что сжатие вообще применяется. Хотя и без этого самого сжатия вполне можно обойтись. |
|
|
Попробовал поменять тип сжатия на Lanczos. Получившийся тайл добавил прикрепил. Стало, естественно, лучше. Но хочется всё же докопаться до истины :) |
|
|
Измените свой класс, чтобы он принимал на вход тайл и географические координаты его углов, выбросите вообще всякое преобразование проекции и используйте FMapType.GeoConvert для получение этих самых координат и будет вам щасце. |
|
|
> Помницца, когда мы прикручивали к САСу экспорт в JNX, вы ставили условие, что на вход должны приходить тайлы в проекции Lat/Lon. Я так и сделал. Именно так, координаты тайлов должны быть в Lat/Lon. Но есть 2 пути получить такие тайлы: 1. брать исходный тайл из кэша и пересчитывать его координаты в Lat/Lon; 2. трансформировать тайлы из кэша. Если я правильно понимаю, сейчас используется как раз второй способ. При использовании первого сами изображения не будут деформироваться, соответственно, качество картинки будет таким же, как в кэше. Поправьте меня, пожалуйста, если я чего-то путаю или недопонимаю. |
|
|
http://sasgis.org/wikisasiya/doku.php/%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D1%8B_%D0%BA%D0%BE%D0%BE%D1%80%D0%B4%D0%B8%D0%BD%D0%B0%D1%82_%D0%B2_%D1%81%D0%B0%D1%81.%D0%BF%D0%BB%D0%B0%D0%BD%D0%B5%D1%82%D0%B5 Lat/Lon это проекция, а система координат это WGS84 и в САСе, все координаты именно в этой системе координат. Т.е. никаких дополнительных преобразований делать не нужно. |
|
|
Ясно. Попробую поменять класс экспорта. |
|
|
А дефолтный алгоритм всё-таки поменяйте, сразу уменьшится число вопросов. |
|
|
по мне так BOX - самый красивый алгоритм |
|
|
Если бы кто-нибудь не поленился, попробовал все алгоритмы и выложил результаты... :) |
|
|
Обошелся тайлами из кэша, так что resampler'ы не понадобились :) |
|
|
То есть теперь при экспорте в JNX ресайз вообще не используется? |
|
|
ага, и результат в 100500 раз лучше с первого взгляда. |
| Дата изменения | Пользователь | Поле | Изменить |
|---|---|---|---|
| 10-10-2012 23:26 | AlexWhiter | Новая задача | |
| 10-10-2012 23:26 | AlexWhiter | Метка добавлена: jnx | |
| 10-10-2012 23:26 | AlexWhiter | Метка добавлена: экспорт | |
| 10-10-2012 23:26 | AlexWhiter | Файл добавлен: TileFromCache.png | |
| 10-10-2012 23:27 | AlexWhiter | Файл добавлен: TileFromJNX.jpg | |
| 11-10-2012 04:24 | Tolik | Описание изменено | |
| 11-10-2012 04:31 | Tolik | Комментарий добавлен: 0009498 | |
| 11-10-2012 04:32 | Tolik | Ответственный | => Tolik |
| 11-10-2012 04:32 | Tolik | Состояние | новая => обратная связь |
| 11-10-2012 05:30 | zed | Комментарий добавлен: 0009500 | |
| 11-10-2012 05:30 | AlexWhiter | Комментарий добавлен: 0009501 | |
| 11-10-2012 05:30 | AlexWhiter | Состояние | обратная связь => назначена |
| 11-10-2012 05:37 | AlexWhiter | Файл добавлен: Lanczos.jpg | |
| 11-10-2012 05:38 | AlexWhiter | Комментарий добавлен: 0009502 | |
| 11-10-2012 05:42 | zed | Комментарий добавлен: 0009503 | |
| 11-10-2012 05:42 | AlexWhiter | Комментарий добавлен: 0009504 | |
| 11-10-2012 05:50 | zed | Комментарий добавлен: 0009505 | |
| 11-10-2012 05:54 | AlexWhiter | Комментарий добавлен: 0009506 | |
| 11-10-2012 05:57 | Tolik | Ответственный | Tolik => |
| 11-10-2012 05:57 | Tolik | Состояние | назначена => рассматривается |
| 11-10-2012 06:10 | Tolik | Комментарий добавлен: 0009507 | |
| 11-10-2012 07:10 | Garl | Комментарий добавлен: 0009510 | |
| 11-10-2012 09:47 | Tolik | Комментарий добавлен: 0009511 | |
| 11-10-2012 14:37 | AlexWhiter | Комментарий добавлен: 0009512 | |
| 11-10-2012 16:50 | zed | Состояние | рассматривается => решена |
| 11-10-2012 16:50 | zed | Решена в версии | => 131111 |
| 11-10-2012 16:50 | zed | Решение | открыта => решена |
| 11-10-2012 16:50 | zed | Ответственный | => AlexWhiter |
| 11-10-2012 16:51 | zed | Версия продукта | .Nightly => 121010 |
| 11-10-2012 16:51 | zed | Целевая версия | => 131111 |
| 12-10-2012 06:55 | Tolik | Комментарий добавлен: 0009517 | |
| 12-10-2012 09:11 | Garl | Комментарий добавлен: 0009525 | |
| 08-08-2025 13:22 | zed | Категория | Баг => Баг / Bug |