SASGIS

Веб-картография и навигация

Экспорт участка кэша в формат Zoomify

программа для загрузки и просмотра спутниковых снимков Земли, Луны, Марса предоставленных сервисами Google Maps и Космоснимки. Возможность работы с GPS приёмником.

Модератор: Tolik

Экспорт участка кэша в формат Zoomify

Сообщение Cowa » 03 янв 2009, 13:42

Для начала, хочу поздравить всех форумчан с наступившим Новым Годом и пожелать исполнения всех ваших желаний.
И для тех, кто вышел из-за праздничного стола - небольшой конвертер кеша SAS.Планеты в формат Zoomify.
Где-то на форуме мелькало обсуждение формата Zoomify, поэтому в двух словах, чтобы был понятен интерфейс утилиты. Кеш Zoomify представляет некую пирамидальную конструкцию тайлов, где на минимальном масштабе - один тайл, на максимальном - массив тайлов, совпадающий по координатам с тайлом на минимальном масштабе. Координаты в утилите указывают именно на тайл минимального масштаба.
Основой Zoomify является файл zoomifyViewer.swf. В конвертере можно выбрать с каким файлом работать. Один я взял с оф.сайта, другой - из photoshop cs4. Второй вариант лично мне понравился больше.
Еще конвертер создает файл html, в котором можно по вкусу поменять некоторые параметры отображения карты.

Версия 0.9 (3.01.2009)

Версия 0.9.1 (9.01.2009)
- исправлена досадная ошибка при выборе карты из списка.
- теперь выбираем папку самой программы SAS.Планета, вместо папки cache. Сам Cache может находится на др. диске или в сети в зависимости от настроек SAS.Планета.

Версия 0.9.2 (12.01.2009)
- теперь если тайл не найден в кеше, то в папку zoomify копируется пустой тайл определенного цвета. Этот цвет можно изменить в параметре "Цвет заполнения".
- небольшие изменения в интерфейсе.

Версия 0.9.3 (14.01.2009)
- сохранение некоторых параметров в ini-файле
- добавил возможность сохранения лога в файл (формат csv, разделитель точка с запятой)
- изменил формат координат при вставки из буфера. Теперь координаты копируются в буфер в SAS.Планете, затем вставляются в утилите.

Версия 0.9.4 (18.01.2009)
"Немного" изменен алгоритм. Здесь нужно кое-что пояснить. Теперь для проекта выделяется область карты по координатам (верхний левый угол и правый нижний) и задается максимальный уровень масштаба, начиная с которого обрабатываются тайлы. Координаты можно вставить из буфера, предварительно скопировав из SAS.Планеты. Поддерживаются все варианты отображения координат, возможные в программе.
Добавлен чисто информационный параметр "Минимальный масштаб". Это минимальный уровень масштаба до которого обрабатываются тайлы. И еще один информационный параметр "Создание уровней" - это количество уровней синтезированных утилитой из уровня минимального масштаба для создания "не квадратной карты".

Версия 0.9.5 (21.01.2009)
- исправлены ошибки, возникающие на предельных координатах и уровнях менее 7.
- при использовании прозрачных png, прозрачный цвет заменяется "цветом заливки".

Версия 0.9.6 (23.01.2009)
- добавлена возможность работы с новым типом maps.ini
- мелкие исправления

Версия 0.9.7 (25.01.2009)
- исправлена ошибка при вычислении области (на карте в проекции меркатор на эллипсоид) в диапазоне южной широты.
- добавлен третий swf-файл. Вроде быстрее перерисовывает выводимые изображения.
- исправлена ошибка при закрашивании прозрачных png-тайлов (с альфа-каналом).

Версия 0.9.8 (28.01.2009)
- исправил обработку PNG тайлов. Работает с прозрачными png как с альфа-каналом, так и без него.
- добавил возможность изменить значение минимального уровня перед конвертированием. Теперь можно конвертировать всего несколько уровней, а не до расчетного минимального. Все недостающие уровни как обычно синтезируются из минимального. Обязательно нажимаем на кнопочку "Проверить" и можем изменять рассчитанное значение минимального уровня (от рассчитанного до "максимального").


Версия 0.9.8.1 (30.01.2009)
- исправлена обработка прозрачных тайлов при создании нижних уровней.
- мелкие исправления.

Версия 0.9.9 (02.02.2009)
- расширил диапазон координат для линейных карт
- изменение алгоритма обработки прозрачных PNG-тайлов

Версия 90204
- изменил нумерацию версий.
- добавил возможность наложения слоя на карту при конвертировании (проекции у карты и слоя одинаковые).
- немного изменил интерфейс.

Версия 90210
- добавил возможность просмотра карт и выделения области непосредственно на карте.

Версия 90224
- исправил ошибку определения кеша при его расположении в корне диска
- ограничил область перемещения карты просмотра.
- добавил отображение градусной сетки на карте просмотра.
- убрал "второй файл swf".
Вложения
Cache2Zoomify_v90224.rar
(480.82 KiB) Скачиваний: 319
Последний раз редактировалось Cowa 24 фев 2009, 16:10, всего редактировалось 13 раз(а).
Cowa
Постигающий Дао
 
Сообщения: 173
Зарегистрирован: 23 авг 2008, 01:46
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Экспорт участка кэша в формат Zoomify

Сообщение Parasite » 03 янв 2009, 19:10

Cowa писал(а):Где-то на форуме мелькало обсуждение формата Zoomify

Это было мое сообщение. Спасибо, что не оставлено без внимания. :)

Cowa писал(а):Основой Zoomify является файл zoomifyViewer.swf.

Спорно. Зумифай могут смотреть\экспортировать много кто (упомянутый Вами CS4 например - НЕ ориентированный на Интернет вообще и на флэш-просмотрщики в частности).
Впрочем, добро пожаловать в тему формата .PFF - это тоже зумифайный формат. :)
The only difference between me and a mad man is that I am not mad. /Salvador Dali/
Изображение
Аватара пользователя
Parasite
Администратор
 
Сообщения: 5646
Зарегистрирован: 23 окт 2008, 17:38
Благодарил (а): 124 раз.
Поблагодарили: 460 раз.

Re: Экспорт участка кэша в формат Zoomify

Сообщение Cowa » 03 янв 2009, 19:54

Parasite писал(а):Это было мое сообщение.

Да, точно.
Parasite писал(а):Спорно.

Я имел в виду, что просмотр без этого swf невозможен. И CS4 не нужен интернет чтобы делать экспорт в этот формат, да и моему конвертеру тоже :)
Cowa
Постигающий Дао
 
Сообщения: 173
Зарегистрирован: 23 авг 2008, 01:46
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Экспорт участка кэша в формат Zoomify

Сообщение Parasite » 03 янв 2009, 20:18

Cowa писал(а):
Parasite писал(а):Спорно.

Я имел в виду, что просмотр без этого swf невозможен. И CS4 не нужен интернет чтобы делать экспорт в этот формат, да и моему конвертеру тоже :)

Конвертация - несколько более другая операция, чем просмотр\импорт. Существуют и оффлайновые просмотрщики Зумифай (только лично я ими давно не пользуюсь - мне этот формат нужен именно затем чтобы мордой в сеть смотреть - без каких-то особых наворотов). :)
The only difference between me and a mad man is that I am not mad. /Salvador Dali/
Изображение
Аватара пользователя
Parasite
Администратор
 
Сообщения: 5646
Зарегистрирован: 23 окт 2008, 17:38
Благодарил (а): 124 раз.
Поблагодарили: 460 раз.

Re: Экспорт участка кэша в формат Zoomify

Сообщение Parasite » 08 янв 2009, 19:01

Cowa писал(а):И для тех, кто вышел из-за праздничного стола - небольшой конвертер кеша SAS.Планеты в формат Zoomify.

Попробовал. Итак, замечания:
1. Невозможность ввести путь до папки кэша ручками и\или через буфер - надо в обязательном порядке через BROWSE (а это не всегда возможно\удобно\быстро)
2. Программа по дефолту ищет maps.ini в зависимости от введенной папки CACHE (подозреваю, что ищет по <CACHE>/../maps.ini), но кэш и собственно программа (в папке которой и лежит maps.ini) могут быть разнесены не только по разным папкам, но даже и по разным физ.машинам. Например, программа у меня лежит в C:\SAS\, а кэш - в \\SERVER\CACHE\, и соответственно пробраузив до кэша в п.1 - я получаю еррор "НЕПРАВИЛЬНО УКАЗАНА ПАПКА CACHE - Не найден файл maps.ini" (хотя САС прекрасно работает).

Далее протестить не смог (в моем случае maps.ini надо писать в \\SERVER\, что невозможно физически - это НЕ папка а имя машины), а переносить весь кэш в более другую директорию только для теста - как-то затруднительно, там куча гигабайт.

Предлагаю:
1. По идее "правил хорошего тона" в написании плагинов - подразумевать, что ЛЮБОЙ плагин будет лежать в папке /PLUGINS/<имя плагина>/ от главного экзешника САСа (и применять это правило для написания всех последующих плагинов), соответственно в нашем случае maps.ini надо будет искать в <текущая директория>/../../maps.ini
2. Так же искать и SASPlanet.ini - из которого брать путь до кэша, а не спрашивать пользователя
3. Можно парсить список доступных карт из maps.ini, а не спрашивать пользователя
4. Фичей создания дефолтной страницы с html+swf пожно смело пренебречь - дефолтом все равно никто не пользуется (зумифай нужен для вебсайтов, соответственно флешевый <object> будет так или иначе внедряться в нужный вебсайт а не юзаться по дефолту, что сводит на нет достоинства данной фичи)
5. Важно: надо как-то вменяемо проработать ввод координат для экспорта (лучше всего бы - визуально, из кэша - но это сложнее, я понимаю. Но и много удобнее).
6. Как сделать отработку ситуации, когда для зумифайного участка нужен тайл - а него нет в кэше? По хорошему его бы надо перекачать, либо на крайний случай выдать еррор и в лог (для дальнейшей скачки). В будушем - линьковать нужное в список закачае САСа и озадачивать скачкой уже основную программу, по скачке - повторять попытку экспорта в зумифай, и так далее до ее таки успешного завершения.
7. САМОЕ главное: как сделать отработку ситуации, когда например 10й уровень САСА я желаю видеть 12м уровнем в зумифае? Понятно, что в этом случае 0й уровень саса будет соответствовать 2му уровню зумифая - и "недостающие" уровни в зумифай по-хорошему надо как-то пересоздавать на основании нижележащих, что ли....прикол в том, что в зумифае отчет должен идти от нулевого зума, а не от второго к примеру...

Вот, пока примерно так. Ждем фикса пунктов 1...3, и будем тестить дальше. Спасибо! :)
The only difference between me and a mad man is that I am not mad. /Salvador Dali/
Изображение
Аватара пользователя
Parasite
Администратор
 
Сообщения: 5646
Зарегистрирован: 23 окт 2008, 17:38
Благодарил (а): 124 раз.
Поблагодарили: 460 раз.

Re: Экспорт участка кэша в формат Zoomify

Сообщение Cowa » 09 янв 2009, 03:32

По замечаниям:
1. Согласен. Уже сделал. Но я против ввода пути до папки ручками.
2. Не думал, что кто-то будет использовать сетевой кеш. Ну раз так - сделал.

Теперь по "Предлагаю":
1. и 2. Иными словами положить утилиту в /PLUGINS/ и убрать выбор папки к кешу, она и так его будет знать. Это все хорошо, но маленькая оговорка - это не плагин, это утилита. И не всем удобно запускать утилиту именно из /PLUGINS/.
Но путь теперь будет до папки с программой SASPlanet. Там прочитаем и карты и путь до кеша. И с сетевым кешем должно работать.
3. Не очень понял. Там и так список доступных карт.
4.
Parasite писал(а):дефолтом все равно никто не пользуется
Я пользуюсь, хотя бы для того, чтобы посмотреть что там получилось в результате. Да и не совсем она дефолтная.
5. Визуально, конечно гораздо удобнее, но не хотелось бы утилиту превращать в монстра еще и с отображением карты. Это все-таки утилита. Тем более вводится всего ОДНА координата точки в начальном тайле.
6. Согласен, но тогда мне SAS.Планета должна передать данные, а я ей. Но это пока не плагин, а утилита, работающая независимо от SAS.Планеты. Будет интерфейс обмена - буду думать. Кстати, Zoomify неплохо отрабатывает ситуацию, когда у нее в кеше нет тайла, просто отображается другой уровень зума. А файлы отсутствующие в cache я добавил в лог.
7. Интересно, в каких случаях может возникнуть такая ситуация. Я специально сделал, что сначала определяем один тайл нижнего уровня зума и выставляем до какого уровня копировать тайлы. А там все само расставляется на свои места так, как нужно Zoomify.

Продолжаем тестировать.
Измененную версию добавил на первую страницу.
Cowa
Постигающий Дао
 
Сообщения: 173
Зарегистрирован: 23 авг 2008, 01:46
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Экспорт участка кэша в формат Zoomify

Сообщение Parasite » 11 янв 2009, 13:45

Попробовал. Спасибо, уже работает. :)
Несколько замечаний по текущей версии:
1. Таки просьба сделать возможность ввода путей ручками. ПЛИИИИЗ..... Программу же это не усложнит...:)
2. В поле "Минимальный масштаб" не могу выбрать значение меньше 7и. Что я не так делаю?
3. В диалоге выбора параметра "Папка для проекта Zoomify" - хотелось бы кнопочку "Создать папку..."
4. Для пущей универсальности - хотелось бы галочки разрешения создания html+swf (например лично мне оно не нужно - но постоянно создается).
5. Просьба обьяснить, что значит "номер используемого файла swf"? Можно ли как-нибудь вообще избавиться от этого диалога (или сделать его открываемым дополнительно при выборе п.4)? Просто чтоб глаза не мозолил, в свете его неважности (для меня)...:)
6. Есть ли в планах расширить функционал также и до работы с .PFF?

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

Cowa писал(а):положить утилиту в /PLUGINS/ и убрать выбор папки к кешу, она и так его будет знать. Это все хорошо, но маленькая оговорка - это не плагин, это утилита. И не всем удобно запускать утилиту именно из /PLUGINS/

Угу. Это понятно, но я говорил с учетом на будущее, когда таки будут плагины (может таки додавим автора на тему плагинов, а, народ? Ведь крайне много идей - могущих быть реализованными сторонними разработчиками - сейчас стопорятся именно по отсутствию интерфейса взаимодействия с САС...)

Cowa писал(а):3. Не очень понял. Там и так список доступных карт.

На тот момент - протестировать не удалось. Сейчас - да, все работает, спасибо. :)

Cowa писал(а):5. Визуально, конечно гораздо удобнее, но не хотелось бы утилиту превращать в монстра еще и с отображением карты. Это все-таки утилита. Тем более вводится всего ОДНА координата точки в начальном тайле.
6. Согласен, но тогда мне SAS.Планета должна передать данные, а я ей. Но это пока не плагин, а утилита, работающая независимо от SAS.Планеты. Будет интерфейс обмена - буду думать.

Угу. Это было бы идеально, да. См.выше, про /PLUGINS/, в скобочках.

Cowa писал(а):Кстати, Zoomify неплохо отрабатывает ситуацию, когда у нее в кеше нет тайла, просто отображается другой уровень зума.

Отрабатывать-то отрабатывает, но 404-й еррор на месте нужного тайла - это идеологически неправильно.

Cowa писал(а):7. Интересно, в каких случаях может возникнуть такая ситуация. Я специально сделал, что сначала определяем один тайл нижнего уровня зума и выставляем до какого уровня копировать тайлы. А там все само расставляется на свои места так, как нужно Zoomify.

Это самый простой (прямой) режим экспорта в зумифай. Как насчет обратного (когда выставляется нужный зум на зумифае, и дается ему полная картинка - и зумифай конвертит свою структуру, автоматически "досоздавая" самые верхние зумы путем уменьшения картинки и создания бордюра того или иного цвета). Обычно это требуется для собственных, локальных карт без привязки к гуглекартам - но и в САСе например лично мне периодически бывает нужно.
Пример - создать 12й уровень зумифая из гуглекарт 10го уровня (соответственно несколько верхних зумов надо будет "достроить"). :)
The only difference between me and a mad man is that I am not mad. /Salvador Dali/
Изображение
Аватара пользователя
Parasite
Администратор
 
Сообщения: 5646
Зарегистрирован: 23 окт 2008, 17:38
Благодарил (а): 124 раз.
Поблагодарили: 460 раз.

Re: Экспорт участка кэша в формат Zoomify

Сообщение Cowa » 11 янв 2009, 23:40

Ну, я рад, что кому-то интересна это конвертация :)
По пунктам:
1. Ну ручками, так ручками - просто хотел минимизировать количество ошибок при вводе данных.
2. Сорри, забыл совсем расширить (для себя делал).
3. Попробую сделать.
4. Если честно - не хотелось бы. Не так существенно, эти файлы можно и удалить, если не нужны. А вдруг кто-то не понимает, что получается в результате конвертирования. Какую комбинацию галочек выставить, чтобы хоть посмотреть на то, что получилось... Да и интерфейс перегружать не хотелось бы.
5. Номер используемого файла swf - это файл swf, который копируется в результирующую папку с Zoomify. Причем файлики эти разные (разный интерфейс, разный функционал). Под номером один используется файлик с родного сайта, под вторым - из фотошопа. Я уже писал, что второй более интереснее. Насчет убрать ... Я вообще хотел бы еще добавить пару штук. Очень понравился вариант с GEO. Но ... лицензия.
6. Пока нет. Не совсем понятен заголовок файла. Разбираться пока нет возможности. Хотя в перспективе стоит подумать над этим.
Parasite писал(а):Просьба также прояснить, как точно вводить координаты? Запрашиваемые программой координаты - это координаты центра, левого верхнего угла или как?

Это координаты любой точки тайла нулевого уровня (для Zoomify).
Parasite писал(а):может таки додавим автора на тему плагинов, а, народ?

Я уже не раз говорил об этом, и не только я. Перспективы - колоссальные. Мало ли у кого какие идеи. Автор код самой SAS.Планеты оттачивает, мы - добавки. Конверторы, склейки в разные форматы, загрузчики тайлов, да мало ли чего еще.
Parasite писал(а):404-й еррор на месте нужного тайла - это идеологически неправильно

Странно, у меня ни разу такого не было. Хотя процентов 10 тайлов отсутствовало.
Parasite писал(а):Пример - создать 12й уровень зумифая из гуглекарт 10го уровня
Я понял, что надо достраивать пару уровней, но зачем обязательно 12-й уровень зумифая. Создавай начиная с 10-го. В чем принципиальность-то.
Cowa
Постигающий Дао
 
Сообщения: 173
Зарегистрирован: 23 авг 2008, 01:46
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Экспорт участка кэша в формат Zoomify

Сообщение Parasite » 12 янв 2009, 07:50

Cowa писал(а):Ну, я рад, что кому-то интересна это конвертация :)

Ну дак я ж ее изначально и просил у аффтара, собссно....Кому ж она интересна в первую очередь, как не мне... :)

Cowa писал(а):1. Ну ручками, так ручками - просто хотел минимизировать количество ошибок при вводе данных.
2. Сорри, забыл совсем расширить (для себя делал).
3. Попробую сделать.

Благодарю-сс. Ждем-сс новой версии-сс... :)

Cowa писал(а):4. Если честно - не хотелось бы. Не так существенно, эти файлы можно и удалить, если не нужны. А вдруг кто-то не понимает, что получается в результате конвертирования. Какую комбинацию галочек выставить, чтобы хоть посмотреть на то, что получилось... Да и интерфейс перегружать не хотелось бы.

Имхо, удалять приходится при КАЖДОЙ конвертации - а тема "вдруг кто-то не понимает, что получилось", как правило, разовая (после коего раза все обычно начинают понимать логику программы, и данного вопроса впоследствии уже не возникает). Соответственно имеем ситуацию, когда функционал программы перекошен в сторону ненужных телодвижений пользователя КАЖДЫЙ раз - вместо разовой операции, которую пользователю можно сделать и сторонними средствами при необходимости (и более того - которая в принципе является практически обязательной - зумифай, как я уже и сказал, разработан для интернета и так или иначе вставляется в те или иные проекты, где его и посмотрят и разработчик, и посетители). Смысл создавать html+swf, если существует 99.9% вероятности того, что оное будет удалено при дальнейшей работе с результатами конвертирования?
На стадии тестирования и отладки - фича нужная, не спорю. А вот в финальной версии - не совсем. Тот же конвертор кэша от svp - там же никто не делал каких-то предварительных предпросмотров результатов? :)

Cowa писал(а):5. Номер используемого файла swf - это файл swf, который копируется в результирующую папку с Zoomify. Причем файлики эти разные (разный интерфейс, разный функционал). Под номером один используется файлик с родного сайта, под вторым - из фотошопа. Я уже писал, что второй более интереснее.

Который н.2 - показался каким-то крайне заторможенным и задумчивым...Как и сам фотошоп CS-какой-то-там, третий что ли - в котором Зумифай есть...хотя, может, я и придираюсь, но на фоне 6го фотошопа - это просто неповоротливый тормозной прожорливый монстр, прости Господи... :)

Cowa писал(а):Я вообще хотел бы еще добавить пару штук. Очень понравился вариант с GEO. Но ... лицензия.

А это что за вариант? О чем конкретно речь? Где посмотреть?

Cowa писал(а):6. Пока нет. Не совсем понятен заголовок файла. Разбираться пока нет возможности. Хотя в перспективе стоит подумать над этим.

Можно обьединить усилия...

Cowa писал(а):
Parasite писал(а):может таки додавим автора на тему плагинов, а, народ?

Я уже не раз говорил об этом, и не только я. Перспективы - колоссальные. Мало ли у кого какие идеи. Автор код самой SAS.Планеты оттачивает, мы - добавки. Конверторы, склейки в разные форматы, загрузчики тайлов, да мало ли чего еще.

Да об этом пол-форума уже говорили, все кому не лень, но....... Но надо таки додавить аффтара. :)

Cowa писал(а):
Parasite писал(а):404-й еррор на месте нужного тайла - это идеологически неправильно

Странно, у меня ни разу такого не было. Хотя процентов 10 тайлов отсутствовало.

Суньте зумифай под локалхост, "посмотрите" в браузере отсутствующие участки (желательно родной флешкой с сайта - а не фотошопной, может она как-то не так отрабатывает отсутствие тайлов, я с ней особо не работал) - а потом посмотрите в логи локалхостовского веб-сервера......
The only difference between me and a mad man is that I am not mad. /Salvador Dali/
Изображение
Аватара пользователя
Parasite
Администратор
 
Сообщения: 5646
Зарегистрирован: 23 окт 2008, 17:38
Благодарил (а): 124 раз.
Поблагодарили: 460 раз.

Re: Экспорт участка кэша в формат Zoomify

Сообщение Cowa » 12 янв 2009, 13:50

Parasite писал(а):Который н.2 - показался каким-то крайне заторможенным и задумчивым...

Есть более быстрые варианты. Я их позже добавлю.
Parasite писал(а):А это что за вариант? О чем конкретно речь? Где посмотреть?

Посмотреть можно здесь. Сам swf- соответственно у них на сайте.
Parasite писал(а):404-й еррор на месте нужного тайла - это идеологически неправильно

Согласен, добавлю пустой тайл, если нет в кеше.
Cowa
Постигающий Дао
 
Сообщения: 173
Зарегистрирован: 23 авг 2008, 01:46
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

След.

Вернуться в SAS.Планета

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 15