View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0001624SAS.Планета[All Projects] Багpublic10-10-2012 23:2612-10-2012 09:11
ReporterAlexWhiter 
Assigned ToAlexWhiter 
PrioritynormalSeverityminorReproducibilityalways
StatusresolvedResolutionfixed 
PlatformOSOS Version
Product Version121010 
Target Version131111Fixed in Version131111 
Summary0001624: Снижается качество изображения при экспорте в JNX
DescriptionПри экспорте в JNX тайлы из кэша подвергаются деформации, что особенно хорошо заметно на картах OSM.

Во вложении находится тайл из контейнера JNX, и ближайший тайл из кэша SAS.
Очень хорошо видно, что при экспорте в JNX произошло сжатие изображения по вертикали, а также в изображение попали части соседних тайлов.

Хотелось бы, что тайлы брались из кэша без изменений, чтобы максимально улучшить качество результата.
Tagsjnx, экспорт
Attached Filespng file icon TileFromCache.png [^] (26,190 bytes) 10-10-2012 23:26


jpg file icon TileFromJNX.jpg [^] (50,751 bytes) 10-10-2012 23:27


jpg file icon Lanczos.jpg [^] (48,915 bytes) 11-10-2012 05:37

- Relationships

-  Notes
(0009498)
Tolik (manager)
11-10-2012 04:31

> Хотелось бы, что тайлы брались из кэша без изменений
Подождите, но на навигаторе эти тайлы оказываются привязанными правильно?
Значит, если просто взять и положить туда исходные тайлы, получится неправильная картинка, надо их точно так же масштабировать, только с лучшим качеством.

Скорее всего, при ресайзе используется алгоритм, выбранный в настройках программы (в закладке вид), и по умолчанию выбран самый плохой - Nearest. Попробуйте поменять на Lanczos (лучший из тех, что я знаю) и сделать такой же экспорт, покажите, что получится.
Если поможет, поэкспериментируйте с другими алгоритмами.


Кстати, эту настройку по умолчанию надо изменить: Nearest никуда не годится.
(0009500)
zed (manager)
11-10-2012 05:30

>при экспорте в JNX произошло сжатие изображения по вертикали
Произошла смена проекции с исходной на Lat/Lon. Смена проекции подразумевает физическое, если так можно сказать, деформирование изображения. Поэтому понятно, что смена проекции спутниковых снимков происходит более-менее безболезненно (хотя тут уже был где-то тикет про качество перепроецирования снимков из кэша GE, правда там работает обратный алгоритм - из Lat/Lon преобразуется в Меркатора), а вот для всех типов карт ситуация становится много хуже, что вы собственно и наблюдаете.

Помницца, когда мы прикручивали к САСу экспорт в JNX, вы ставили условие, что на вход должны приходить тайлы в проекции Lat/Lon. Я так и сделал.

Можете сами поэкспериментировать с проекциями, она меняется одной константой в TThreadExportToJnx.ProcessRegion в строке 162:
>VGeoConvert := FCoordConverterFactory.GetCoordConverterByCode(CGELonLatProjectionEPSG, CTileSplitQuadrate256x256);
где, вместо CGELonLatProjectionEPSG можете подставить любое значение из c_CoordConverter.pas - будет работать принудительное изменение исходной проекции тайлов в ту, которую укажете.
(0009501)
AlexWhiter (developer)
11-10-2012 05:30

Если взять исходные тайлы (прямо из кэша) и указать их правильные координаты, то и в навигаторе такие тайлы будут правильно показаны.

Именно таким образом работает конвертер MOBAT2JNX. И сейчас для получения JNX-карты нормального качества приходится скачивать тайлы через SAS, а потом натравливать MOBAT2JNX на каталог с кэшем.

Проблема не в качестве сжатия, а в том, что сжатие вообще применяется. Хотя и без этого самого сжатия вполне можно обойтись.
(0009502)
AlexWhiter (developer)
11-10-2012 05:38

Попробовал поменять тип сжатия на Lanczos. Получившийся тайл добавил прикрепил.

Стало, естественно, лучше.
Но хочется всё же докопаться до истины :)
(0009503)
zed (manager)
11-10-2012 05:42

Измените свой класс, чтобы он принимал на вход тайл и географические координаты его углов, выбросите вообще всякое преобразование проекции и используйте FMapType.GeoConvert для получение этих самых координат и будет вам щасце.
(0009504)
AlexWhiter (developer)
11-10-2012 05:42

> Помницца, когда мы прикручивали к САСу экспорт в JNX, вы ставили условие, что на вход должны приходить тайлы в проекции Lat/Lon. Я так и сделал.

Именно так, координаты тайлов должны быть в Lat/Lon.
Но есть 2 пути получить такие тайлы:
1. брать исходный тайл из кэша и пересчитывать его координаты в Lat/Lon;
2. трансформировать тайлы из кэша.

Если я правильно понимаю, сейчас используется как раз второй способ.
При использовании первого сами изображения не будут деформироваться, соответственно, качество картинки будет таким же, как в кэше.

Поправьте меня, пожалуйста, если я чего-то путаю или недопонимаю.
(0009505)
zed (manager)
11-10-2012 05:50

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 и в САСе, все координаты именно в этой системе координат. Т.е. никаких дополнительных преобразований делать не нужно.
(0009506)
AlexWhiter (developer)
11-10-2012 05:54

Ясно. Попробую поменять класс экспорта.
(0009507)
Tolik (manager)
11-10-2012 06:10

А дефолтный алгоритм всё-таки поменяйте, сразу уменьшится число вопросов.
(0009510)
Garl (manager)
11-10-2012 07:10

по мне так BOX - самый красивый алгоритм
(0009511)
Tolik (manager)
11-10-2012 09:47

Если бы кто-нибудь не поленился, попробовал все алгоритмы и выложил результаты... :)
(0009512)
AlexWhiter (developer)
11-10-2012 14:37

Обошелся тайлами из кэша, так что resampler'ы не понадобились :)
(0009517)
Tolik (manager)
12-10-2012 06:55

То есть теперь при экспорте в JNX ресайз вообще не используется?
(0009525)
Garl (manager)
12-10-2012 09:11

ага, и результат в 100500 раз лучше с первого взгляда.

- Users who viewed this issue
User List Anonymous (1817x), zed (1x)
Total Views 1818
Last View 22-01-2020 14:13

- Issue History
Date Modified Username Field Change
10-10-2012 23:26 AlexWhiter New Issue
10-10-2012 23:26 AlexWhiter Tag Attached: jnx
10-10-2012 23:26 AlexWhiter Tag Attached: экспорт
10-10-2012 23:26 AlexWhiter File Added: TileFromCache.png
10-10-2012 23:27 AlexWhiter File Added: TileFromJNX.jpg
11-10-2012 04:24 Tolik Description Updated View Revisions
11-10-2012 04:31 Tolik Note Added: 0009498
11-10-2012 04:32 Tolik Assigned To => Tolik
11-10-2012 04:32 Tolik Status new => feedback
11-10-2012 05:30 zed Note Added: 0009500
11-10-2012 05:30 AlexWhiter Note Added: 0009501
11-10-2012 05:30 AlexWhiter Status feedback => assigned
11-10-2012 05:37 AlexWhiter File Added: Lanczos.jpg
11-10-2012 05:38 AlexWhiter Note Added: 0009502
11-10-2012 05:42 zed Note Added: 0009503
11-10-2012 05:42 AlexWhiter Note Added: 0009504
11-10-2012 05:50 zed Note Added: 0009505
11-10-2012 05:54 AlexWhiter Note Added: 0009506
11-10-2012 05:57 Tolik Assigned To Tolik =>
11-10-2012 05:57 Tolik Status assigned => acknowledged
11-10-2012 06:10 Tolik Note Added: 0009507
11-10-2012 07:10 Garl Note Added: 0009510
11-10-2012 09:47 Tolik Note Added: 0009511
11-10-2012 14:37 AlexWhiter Note Added: 0009512
11-10-2012 16:50 zed Status acknowledged => resolved
11-10-2012 16:50 zed Fixed in Version => 131111
11-10-2012 16:50 zed Resolution open => fixed
11-10-2012 16:50 zed Assigned To => AlexWhiter
11-10-2012 16:51 zed Product Version .Nightly => 121010
11-10-2012 16:51 zed Target Version => 131111
12-10-2012 06:55 Tolik Note Added: 0009517
12-10-2012 09:11 Garl Note Added: 0009525



Copyright © 2007 - 2020 SAS.Planet Team