SASGIS

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

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

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

Модератор: Tolik

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

Сообщение Cowa » 14 янв 2009, 21:44

Parasite
Я тут подумал изменить алгоритм, чтобы иметь возможность задать координаты области на самом крупном зуме. И уйти в итоге от "квадратной карты". Возник один вопрос. Приведу несколько твоих цитат:
(кстати, ничего, что я "на ты"? Меня как-то напрягает когда обращаются "на вы". Вроде не на работе... :) )
Parasite писал(а):САМОЕ главное: как сделать отработку ситуации, когда например 10й уровень САСА я желаю видеть 12м уровнем в зумифае? Понятно, что в этом случае 0й уровень саса будет соответствовать 2му уровню зумифая - и "недостающие" уровни в зумифай по-хорошему надо как-то пересоздавать на основании нижележащих, что ли....прикол в том, что в зумифае отчет должен идти от нулевого зума, а не от второго к примеру...

Parasite писал(а):Пример - создать 12й уровень зумифая из гуглекарт 10го уровня (соответственно несколько верхних зумов надо будет "достроить"). :)

Я не понимаю, как можно создать 12й уровень зумифая из гуглекарт 10го уровня. С учетом того, что в SAS на 1-ом уровне ОДИН тайл и в зумифае на 0-ом уровне тоже один тайл.
На пальцах:
Зумифай__SAS__кол-во тайлов(по любому измерению)
12________10___512
11________9____256
.........................
5_________3_____4
4_________2_____2
3_________1_____1
2_______________?
1_______________?
0_______________?
Вопрос - сколько тайлов должно быть на 2-ом, 1-ом и 0-ом уровне Зумифая? Если только не уменьшать размер того единственного тайла на 1-ом уровне SAS. Таким образом получается, что "досоздавать" тайлы более низкого уровня бессмысленно. Или я не прав.
Cowa
Постигающий Дао
 
Сообщения: 173
Зарегистрирован: 23 авг 2008, 01:46
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

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

Сообщение Parasite » 14 янв 2009, 23:28

Cowa писал(а):Parasite
Я тут подумал изменить алгоритм, чтобы иметь возможность задать координаты области на самом крупном зуме. И уйти в итоге от "квадратной карты". Возник один вопрос.
...
Вопрос - сколько тайлов должно быть на 2-ом, 1-ом и 0-ом уровне Зумифая?

Я вот тут тоже подумал на досуге.... Так как у нас таки не авторизатор изображения (или как там оно правильно по-русски называется) в зумифай, а именно конвертор уже готового нарезанного кэша (дальше которого не вылезешь, и перенарезАть тоже не станешь), то эта фича будет несколько затруднена в реализации.

Дело в том, что авторизатору обычно суется ОГРОМНЫЙ битмап, выделяется на нем участок и говорится - "экспортни мне выделенное в зумифай до уровня ХХ". Если желаемый уровень меньше макс.допустисого - то это прямой метод, и выделенный участок просто тупо нарезается как и у тебя в фотошопе. Если больше - то вылазит менюшка с выбором режимов (общим числом два - Gentle и Exact) и досоздаются тайлы. Но! фишка в том, что как правило по бокам от выделенного участка есть еще куча "окаймляющего" изображения, и досоздаваемые в режиме GENTLE тайлы нарезаются именно с этих участков, вылазя за пределы выделенного и соответственно таки неся смысловую нагрузку, хоть и ненужную в рамках выбора юзера. Визуально картинку это ничуть не портит - она просто получается чуть больше чем выделение юзера, без каких-либо артефактов за которые цепляется глаз.

У нас же - уже укачанный кэш с фикс.границами, за пределы которого вылезти просто нельзя - и посему ЛЮБАЯ пирамида зумов, экспортируемая из имеющейся пирамиды кэша - будет меньше либо равна этой пирамиде кэша, ибо в противном случае нам просто некуда вылезать за пределы оного, и придется таки досоздавать пустые ненужные тайлы на каждом из зумов, ибо так требует формат зумифая. И эти пустые тайлы не будут нести смысловой нагрузки (а это избыточность в кол-ве ненужных тайлов, хоть работать все это будет прекрасно). В авторизаторе это режим "EXACT SELECTION EXPORT" вместо "GENTLE SELECTION EXPORT", но нужен именно EXACT бывает крайне редко (когда уж прозумить надо что-то действительно строго ограниченное в своих размерах - и тогда досоздаются пустые тайлы, окантовывающие выделение юзера).
Изначально я как-то не подумал, что у нас строго ограниченный кэш, и методу "gentle" будет просто некуда выпячиваться за пределы кэша, чтобы сделать все красиво. :(

Короче, предлагаю именно эту фичу пока не делать. Подумаем потом, покумекаем, может придумаем чего своего.
Вообще же - доходчивый пример: открыть рядом два окна (одно с сас, второе с зумифаем) с одним и тем же участком земли, в сасе поставить 10й уровень, в зумифае - 12й - а потом (не трогая ползунки зума) сделать так, чтобы в обоих окнах картинка была одинаковой. :)

PS: но неквадратное выделение (по двум точкам) нужно обязательно! :)

Cowa писал(а):Если только не уменьшать размер того единственного тайла на 1-ом уровне SAS.

Совершенно верно. И окаймлять по краям бордюром, ибо 1 тайл на первом зуме саса должен превратиться в 16 тайлов на третьем зуме зумифая, и так - на всех зумифайных зумах (а иначе зумифая сглючит).

Cowa писал(а):Таким образом получается, что "досоздавать" тайлы более низкого уровня бессмысленно.

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

Короче, пока предлагаю забить, и сконцентрироваться на неквадратном выделении. Это много проще. :)
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 » 15 янв 2009, 18:43

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

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

Сообщение Parasite » 15 янв 2009, 22:45

Cowa писал(а):Подумаю над "неквадратной картой". Но тайлы дробить тоже не буду. Где-нибудь ближе к нижнему уровню синтезирую несколько уровней карты, чтобы был прямоугольник.

Тайлы дробить не надо. Просто округляй выделение юзера со всех сторон в бОльшую сторону до ближайшей границы тайлов, и так и экспортируй. Ничего страшного, если экспортируемый участок карты будет немного больше чем выделенный юзером.

Идеи на доработку:
1. При выборе имени проекта, папка с которым уже существует (был экспортирован ранее) - можно ли предупреждать о том, что проект с таким именем уже существует? Пока что оно валит в существующую папку, перезаписывая контент безо всяких наводящих вопросов.
2. Можно было бы подумать в сторону инкрементных проектов. Например, я сегодня экспортнул карту с 1 по 15й уровни включительно, а 16й - пока качается. Завтра докачается - я бы желал экспортнуть 16й уровень в тот же проект, тем самым дополнив его (насколько я понимаю, потребуется обновить ХМЛку и раскидать новые файлы в соответствующие новые зумифайные папки продолжив старый проект, а не начинать опять с TileGroup0/0-0-0.jpg)
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 » 16 янв 2009, 11:31

Parasite писал(а):Тайлы дробить не надо. Просто округляй выделение юзера со всех сторон в бОльшую сторону до ближайшей границы тайлов, и так и экспортируй. Ничего страшного, если экспортируемый участок карты будет немного больше чем выделенный юзером.

Ну значится так и сделаем.
Parasite писал(а):можно ли предупреждать о том, что проект с таким именем уже существует?

Добавлю в след. версию.
Parasite писал(а):Можно было бы подумать в сторону инкрементных проектов.

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

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

Сообщение Parasite » 16 янв 2009, 12:11

Cowa писал(а):
Parasite писал(а):Тайлы дробить не надо. Просто округляй выделение юзера со всех сторон в бОльшую сторону до ближайшей границы тайлов, и так и экспортируй. Ничего страшного, если экспортируемый участок карты будет немного больше чем выделенный юзером.

Ну значится так и сделаем.

"...в бОльшую относительно ЦЕНТРА выделения", а не в большую ВООБЩЕ... :)
Ждеммс. Спасибо.

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

Добавлю в след. версию.

Тоже ждеммс. :)

Cowa писал(а):
Parasite писал(а):Можно было бы подумать в сторону инкрементных проектов.

Не, это позже. Сначала отработаем то, что сейчас есть, а вот потом ... Я представляю, там будет куча настроек, даже поболе чем сейчас. Ну, я думаю, мы к этому вернемся.

На самом деле, юзер-ориентированная настройка должна быть только одна: галочка "[X] Добавить в существующий проект". Если она стоит - тогда перечитывается, обрабатывается и дополняется XML уже существующего проекта, а участок мин.зум/макс.зум добавляется в тот проект инкрементом, а не с 0-0-0.jpg. Если галочки не стоит - тогда создается абсолютно новый проект с нуля в ту же папку (с уведомлением что проект уже существует, и если ОК - то с перезаписью всего и вся).
Если галочка стоит - надо уведомлять пользователя в случаях, если будут гапы в зумах (например, я пытаюсь экспортировать 5й зум и ниже в проект, который содержит зумы 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 » 16 янв 2009, 12:53

Parasite писал(а):Идеи в студию.

Я думаю проще будет воспринимать лог-файл как файл настроек для существующего проекта. Запихнуть туда координаты выделенной области и масштаб. По списку отсутствующих файлов можно пройтись еще раз и докопировать, если эти файлы появились в кеше. НО, это уже будет сформированный проект, т.е. надо заранее преусмотреть, что будет (когда-нибудь) закачен и уровень 16, хотя его реально в кеше еще и нет. Вот эта мысль мне кажется более логичной, чем потом предусматривать изменение xml и пробегать по файлам. А здесь xml уже такой как надо (с учетом 16-го уровня), ведь пустышки для 16-го уровня уже скопированы. И в перспективе структура лог-файла будет меняться. Так что все это реально. Но это все потом.
Cowa
Постигающий Дао
 
Сообщения: 173
Зарегистрирован: 23 авг 2008, 01:46
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

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

Сообщение Parasite » 16 янв 2009, 13:21

Cowa писал(а):
Parasite писал(а):Идеи в студию.

НО, это уже будет сформированный проект, т.е. надо заранее преусмотреть, что будет (когда-нибудь) закачен и уровень 16, хотя его реально в кеше еще и нет. Вот эта мысль мне кажется более логичной, чем потом предусматривать изменение xml и пробегать по файлам. А здесь xml уже такой как надо (с учетом 16-го уровня), ведь пустышки для 16-го уровня уже скопированы.

Не, погоди. ЗАЧЕМ заранее класть 16й уровень из пустышек? Ты представляешь, сколько это пустых файлов, не несущих абсолютно никакой информации - и сколько времени и места это все займет на их копирование? А если это не 16й, а 20й уровень? А если я назавтра передумаю в него добавлять - а пустышки уже там? Нее, Борис, ты неправ...
Докидывать имхо надо именно нужные и информативные тайлы, и именно когда это нужно пользователю. Отредактировать 3 цифры в ХМЛе намного логичней, чем криэйтить и хранить сотни тысяч и миллионы бесполезных тайлов.

Cowa писал(а):И в перспективе структура лог-файла будет меняться. Так что все это реально. Но это все потом.

Ну да. Это заделки для v2.0, на данный момент не особо критичные в работе. :)

Но неквадратное выделение - плиииииииииз...?? :)
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 » 16 янв 2009, 16:50

Parasite писал(а):... и сколько времени и места это все займет на их копирование? А если это не 16й, а 20й уровень? А если я назавтра передумаю в него добавлять - а пустышки уже там? Нее, Борис, ты неправ...

Ну прежде чем создавать проект, нужно подумать что именно он должен представлять собой. А если пользователь захочет пересоздать какой-то уровень, который уже есть, или добавить новый, который уже есть ( но из пустышек) в середину диапазона, а если вообще захочет чуток изменить координаты - слишком много может быть фантазий. Иногда проще создать проект заново, даже в диапазоне 10-19 уровней к примеру, чем пытаться дописать существующий проект.
Короче надо думать.
Parasite писал(а):Но неквадратное выделение - плиииииииииз...??

В процессе. Пару заморочек осталось решить.

P.S. Не пытался выяснить: в GEO формате swf-файла координаты в какой проекции считаются? Сдается мне, что в линейной. Если так, то не для всех карт подойдет, если использовать этот файл. Отображать будет не правильно :(
Cowa
Постигающий Дао
 
Сообщения: 173
Зарегистрирован: 23 авг 2008, 01:46
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

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

Сообщение Parasite » 16 янв 2009, 17:13

Cowa писал(а):
Parasite писал(а):... и сколько времени и места это все займет на их копирование? А если это не 16й, а 20й уровень? А если я назавтра передумаю в него добавлять - а пустышки уже там? Нее, Борис, ты неправ...

Ну прежде чем создавать проект, нужно подумать что именно он должен представлять собой. А если пользователь захочет пересоздать какой-то уровень, который уже есть, или добавить новый, который уже есть ( но из пустышек) в середину диапазона, а если вообще захочет чуток изменить координаты - слишком много может быть фантазий. Иногда проще создать проект заново, даже в диапазоне 10-19 уровней к примеру, чем пытаться дописать существующий проект.

Не совсем так. Инкрементный проект подразумевает ТОЛЬКО добавление к существующему, причем по возможности - без детектируемого разделителя. Полностью редактируемый же проект - это куча заморочек, и лично я его даже просить боюсь. :)

Cowa писал(а):
Parasite писал(а):Но неквадратное выделение - плиииииииииз...??

В процессе. Пару заморочек осталось решить.

Спасибо.
Если что - задавай вопросы, что знаю - расскажу......

Cowa писал(а):P.S. Не пытался выяснить: в GEO формате swf-файла координаты в какой проекции считаются? Сдается мне, что в линейной. Если так, то не для всех карт подойдет, если использовать этот файл. Отображать будет не правильно :(

Я его вообще ни разу не ковырял - лично мне в нем необходимости не было...могу поковырять, если надо...Но быстро не обещаю - со св.временем туговато...
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 раз.

Пред.След.

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

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

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