SASGIS - Доработка карты (ZMP)
View Issue Details
0001740Доработка карты (ZMP)Доработка файла картыpublic25-12-2012 12:3203-01-2013 09:52
TokarevVV 
Tolik 
normalminorhave not tried
resolvedfixed 
0001740: Ошибка в Zoomify.zmp
Программа для скачивания Zoomify содержит ошибки. Так в функции получения количества тайлов на данном уровне TilesAtZoom округление Val в большую сторону выполнено как 1 + Trunc(Val), что при целых значениях Val даёт не правильный результат. Для такого округления нужно использовать функцию Ceil.

Пример (гипотетический): картинка размером 76800 на 51200 имеет на максимальном уровне 60000 тайлов и последний тайл (299, 199) имет индекс 80045, что даёт 312 группу тайлов. Существующий скрипт даёт соответственно: 60501 тайлов, индекс 80659 и группу 315, что не верно.

Изменённый скрипт прилагается.

PS
Кроме того, желательно ввести в Паскаль-сктипт функции Ceil, Floor, Max, Min.
zmp, паскальскрипт
related to 0001745resolved zed SAS.Планета Добавить новые функции в PascalScript zmp 
txt GetUrlScript.txt (2,276) 25-12-2012 12:32
http://www.sasgis.org/mantis/file_download.php?file_id=1204&type=bug
Issue History
25-12-2012 12:32TokarevVVNew Issue
25-12-2012 12:32TokarevVVFile Added: GetUrlScript.txt
25-12-2012 12:39TokarevVVTag Attached: паскальскрипт
25-12-2012 12:40TokarevVVTag Attached: zmp
25-12-2012 13:10TolikNote Added: 0010222
25-12-2012 13:10TolikAssigned To => Tolik
25-12-2012 13:10TolikStatusnew => feedback
25-12-2012 13:26TolikNote Added: 0010223
25-12-2012 13:26TolikStatusfeedback => resolved
25-12-2012 13:26TolikResolutionopen => fixed
25-12-2012 13:26TolikNote Edited: 0010223bug_revision_view_page.php?bugnote_id=10223#r4995
03-01-2013 08:45TolikNote Added: 0010310
03-01-2013 09:52zedRelationship addedrelated to 0001745

Notes
(0010222)
Tolik   
25-12-2012 13:10   
А существуют такие большие картинки? На реальных баг проявляется? Можете показать?
(0010223)
Tolik   
25-12-2012 13:26   
Впрочем, добавил исправленный скрипт в репозиторий.
Спасибо.
А по поводу новых функций откройте хотелку в разделе SAS.

(0010310)
Tolik   
03-01-2013 08:45   
Дополнения от TokarevVV:
------------------------

1) Алгоритмы считывания Zoomify:
А1 — округление Val в большую сторону выполнено как Ceil(Val)
А2 — округление Val в большую сторону выполнено как 1 + Trunc(Val)

2) Для того, чтобы выявилось отличие алгоритма А1 от А2, линейные размеры картинки должны быть кратны размеру тайла.

С помощью программы, реализующей оба алгоритма, было проверено формирование номера группы последнего тайла для всех картинок, линейные размеры которых (в тайлах) Width и Height принадлежат диапазону от 1 до 100. Параметры картинок, у которых наблюдалось отличие номера группы, были сведены в таблицу (файл Pictures.rar).

Попытка найти в Интернете Zoomify-картинки необходимых размеров не увенчались успехом. Но, как говориться, «если гора не идёт к Магомету, то Магомет идёт к горе» — пришлось создать картинку размером 3584 на 3328 пиксель (первая картинка в таблице), всунуть в неё первое попавшееся фото (один из видов г. Сумы), затем Zoomify’цировать её и выложить в Интернет (http://williamtokarev.narod2.ru/TemplateWebPage.htm).

3) ZMP для считывания выложенной Zoomify-картинки:
по алгоритму А1 — файл ZoomifyA1.zmp.rar
по алгоритму А2 — файл ZoomifyA2.zmp.rar

4) По приведённым скриншотам (ScreenA1A2.jpg) видно, что:
скачивание последнего тайла (13, 12), а так же тайла (12, 12) на максимальном увеличении при использовании алгоритма А1 прошло успешно (0-я группа определена правильно). При использовании алгоритма А2 тайл не читается, так как программа пытается скачать его из 1-й группы тайлов, папки для которой не существует.

5) В файле params.txt нужно вставить:
TILERLEFT=0
TILERRIGHT=256
TILERTOP=0
TILERBOTTOM=256
для устранения растягивания нестандартных тайлов.

PS. На счёт больших картинок — вот монстры:
http://www.genomedu.net/escaners/kk/xaaa (56832 на 42112)
http://ana1.hal.kagoshima-u.ac.jp/slide/tiles/18/1 (104462 на 62812)
http://ana1.hal.kagoshima-u.ac.jp/slide/tiles/00/ips01 (125014 на 81314)