SASGIS - SAS.Планета |
View Issue Details |
|
ID | Project | Category | View Status | Date Submitted | Last Update |
0001624 | SAS.Планета | [All Projects] Баг | public | 10-10-2012 23:26 | 12-10-2012 09:11 |
|
Reporter | AlexWhiter | |
Assigned To | AlexWhiter | |
Priority | normal | Severity | minor | Reproducibility | always |
Status | resolved | Resolution | fixed | |
Platform | | OS | | OS Version | |
Product Version | 121010 | |
Target Version | 131111 | Fixed in Version | 131111 | |
|
Summary | 0001624: Снижается качество изображения при экспорте в JNX |
Description | При экспорте в JNX тайлы из кэша подвергаются деформации, что особенно хорошо заметно на картах OSM.
Во вложении находится тайл из контейнера JNX, и ближайший тайл из кэша SAS.
Очень хорошо видно, что при экспорте в JNX произошло сжатие изображения по вертикали, а также в изображение попали части соседних тайлов.
Хотелось бы, что тайлы брались из кэша без изменений, чтобы максимально улучшить качество результата. |
Steps To Reproduce | |
Additional Information | |
Tags | jnx, экспорт |
Relationships | |
Attached Files | TileFromCache.png (26,190) 10-10-2012 23:26 https://bugtracker.sasgis.org/file_download.php?file_id=1091&type=bug
TileFromJNX.jpg (50,751) 10-10-2012 23:27 https://bugtracker.sasgis.org/file_download.php?file_id=1092&type=bug
Lanczos.jpg (48,915) 11-10-2012 05:37 https://bugtracker.sasgis.org/file_download.php?file_id=1094&type=bug
|
|
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 | bug_revision_view_page.php?rev_id=4622#r4622 |
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 | |
Notes |
|
(0009498)
|
Tolik
|
11-10-2012 04:31
|
|
> Хотелось бы, что тайлы брались из кэша без изменений
Подождите, но на навигаторе эти тайлы оказываются привязанными правильно?
Значит, если просто взять и положить туда исходные тайлы, получится неправильная картинка, надо их точно так же масштабировать, только с лучшим качеством.
Скорее всего, при ресайзе используется алгоритм, выбранный в настройках программы (в закладке вид), и по умолчанию выбран самый плохой - Nearest. Попробуйте поменять на Lanczos (лучший из тех, что я знаю) и сделать такой же экспорт, покажите, что получится.
Если поможет, поэкспериментируйте с другими алгоритмами.
Кстати, эту настройку по умолчанию надо изменить: Nearest никуда не годится. |
|
|
(0009500)
|
zed
|
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 - будет работать принудительное изменение исходной проекции тайлов в ту, которую укажете. |
|
|
|
Если взять исходные тайлы (прямо из кэша) и указать их правильные координаты, то и в навигаторе такие тайлы будут правильно показаны.
Именно таким образом работает конвертер MOBAT2JNX. И сейчас для получения JNX-карты нормального качества приходится скачивать тайлы через SAS, а потом натравливать MOBAT2JNX на каталог с кэшем.
Проблема не в качестве сжатия, а в том, что сжатие вообще применяется. Хотя и без этого самого сжатия вполне можно обойтись. |
|
|
|
Попробовал поменять тип сжатия на Lanczos. Получившийся тайл добавил прикрепил.
Стало, естественно, лучше.
Но хочется всё же докопаться до истины :) |
|
|
(0009503)
|
zed
|
11-10-2012 05:42
|
|
Измените свой класс, чтобы он принимал на вход тайл и географические координаты его углов, выбросите вообще всякое преобразование проекции и используйте FMapType.GeoConvert для получение этих самых координат и будет вам щасце. |
|
|
|
> Помницца, когда мы прикручивали к САСу экспорт в JNX, вы ставили условие, что на вход должны приходить тайлы в проекции Lat/Lon. Я так и сделал.
Именно так, координаты тайлов должны быть в Lat/Lon.
Но есть 2 пути получить такие тайлы:
1. брать исходный тайл из кэша и пересчитывать его координаты в Lat/Lon;
2. трансформировать тайлы из кэша.
Если я правильно понимаю, сейчас используется как раз второй способ.
При использовании первого сами изображения не будут деформироваться, соответственно, качество картинки будет таким же, как в кэше.
Поправьте меня, пожалуйста, если я чего-то путаю или недопонимаю. |
|
|
(0009505)
|
zed
|
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 и в САСе, все координаты именно в этой системе координат. Т.е. никаких дополнительных преобразований делать не нужно. |
|
|
|
Ясно. Попробую поменять класс экспорта. |
|
|
(0009507)
|
Tolik
|
11-10-2012 06:10
|
|
А дефолтный алгоритм всё-таки поменяйте, сразу уменьшится число вопросов. |
|
|
(0009510)
|
Garl
|
11-10-2012 07:10
|
|
по мне так BOX - самый красивый алгоритм |
|
|
(0009511)
|
Tolik
|
11-10-2012 09:47
|
|
Если бы кто-нибудь не поленился, попробовал все алгоритмы и выложил результаты... :) |
|
|
|
Обошелся тайлами из кэша, так что resampler'ы не понадобились :) |
|
|
(0009517)
|
Tolik
|
12-10-2012 06:55
|
|
То есть теперь при экспорте в JNX ресайз вообще не используется? |
|
|
(0009525)
|
Garl
|
12-10-2012 09:11
|
|
ага, и результат в 100500 раз лучше с первого взгляда. |
|