SASGIS

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

Конвертация кеша в/из разных форматов.

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

Модератор: Tolik

Re: Конвертация кеша в/из разных форматов.

Сообщение svp » 14 апр 2010, 17:02

timoha писал(а):Подскажите пожалуйста как можно создать этот index.txt c описанием каждого тайла? Или может быть есть другой способ?

В текстовых файлах, помимо имени файла с тайлом, видимо, указываются географические координаты его границ и длина ребра тайла (наверно в километрах?).
Вот по этой ссылке можно найти информацию как посчитать координаты углов и размеры тайла. Там же можно найти запись матричных координат тайла в формат tsqr.
Однако, я подозреваю, что ваша прога прожуёт любые имена файлов, а ориентируется она, скорее всего, по указанным в списке координатам. Проверить это можно переименовав один из тайлов и поставив в соответствующих текстовых файлах соответствующие переименованному имена. Короче, если прога правильно отобразит переименованный тайл, то всё ок. Можно имена тайлов из САСовского формата не конвертить.
Достаточно написать небольшой скрипт, который будет генерить для вашей проги текстовые фалы с правильными координатами и путями, ссылающимися прямо на САС-овский кеш, причём любой.
Аватара пользователя
svp
Советчик
 
Сообщения: 447
ICQ: 204094886
Зарегистрирован: 26 авг 2008, 11:14
Откуда: Белгород
Благодарил (а): 2 раз.
Поблагодарили: 7 раз.

Re: Конвертация кеша в/из разных форматов.

Сообщение timoha » 15 апр 2010, 08:12

svp писал(а):
timoha писал(а):Подскажите пожалуйста как можно создать этот index.txt c описанием каждого тайла? Или может быть есть другой способ?

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


Доброе утро. Большое спасибо за ответ, но вопросов только прибавилось. Нашёл документацию по этой проге, там написано что index.txt file должен состоять:
1. Filename - Filename of data file
2. Eastmin - Minimum Easting value (metres)
3. Eastmax - Maximum Easting value (metres)
4. Nothmin - Minimum Northing value (metres)
5. NortMax - Maximum Northing value (metres)
6. Resolution - Size of image pixel (metres)
Скрины на документацию:http://i051.radikal.ru/1004/a5/781089870a6a.jpg, http://i082.radikal.ru/1004/1e/4f02cc56ddba.jpg
Проблема в том, что у меня не много другая специальность "радиопланирование и оптимизация сотовых сетей", а скрипты и программки я писал только на спектруме в 80-ых на BASIC и на этом мои познания заканчиваются. До этого этот скрипт делал парень ITшник,который мне говорил что он писал скрипт отталкивался от какого то верхнего левого угла, но на данный момент он у нас уже не работает.

svp если вас не затруднит помогите этим самым скриптом для создания index.txt для кэш SasPlanet, буду примного благодарен. Как говорится пиво с меня. Я смотря Вы из Белгорода, сам живу в Киргизии, но летом собираюсь тоже в Белгород поехать. Уже пару раз там был, купил участок в Таврово, в том году начал строиться. Так что думаю на счёт пивка получится.
timoha
Новичок
 
Сообщения: 2
Зарегистрирован: 14 апр 2010, 15:42
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Конвертация кеша в/из разных форматов.

Сообщение svp » 15 апр 2010, 15:25

timoha писал(а):Большое спасибо за ответ, но вопросов только прибавилось. Нашёл документацию по этой проге, там написано что index.txt file должен состоять:
1. Filename - Filename of data file
2. Eastmin - Minimum Easting value (metres)
3. Eastmax - Maximum Easting value (metres)
4. Nothmin - Minimum Northing value (metres)
5. NortMax - Maximum Northing value (metres)
6. Resolution - Size of image pixel (metres)

С 1 пунктом всё понятно и так. 2, 3, 4, 5 надо вычислять исходя из координат углов тайла. Способ вычислить координаты углов можно найти по той ссылке, что я давал. Однако значения у вас в файлах даны в метрах и мне пока непонятно от какой точки они отсчитываются. На предмет этих чисел вы помучайте, лучше, местных ГИСовцев. Им бы проще, наверно, было. Авось есть какие-нибудь стандартные такие системы координат.
С разрешением (6 пункт) тоже ничего, вроде, сложного. По той же ссылке есть инфа.

timoha писал(а):Проблема в том, что у меня не много другая специальность "радиопланирование и оптимизация сотовых сетей",

Я тоже от ГИС весьма далёк, да в нашем с Вами случае я так понимаю это не отмазка=). В любом случае что Вам, что мне в этих формулах разбираться одинаково придётся.
timoha писал(а):а скрипты и программки я писал только на спектруме в 80-ых на BASIC и на этом мои познания заканчиваются.

Ну так надо развивать=) Буду рад помочь советом или подсказкой.
timoha писал(а):До этого этот скрипт делал парень ITшник,который мне говорил что он писал скрипт отталкивался от какого то верхнего левого угла, но на данный момент он у нас уже не работает.

Ну так а заполучить старые скрипты никак нельзя? Их просто поправить под новый формат кеша и всё.
timoha писал(а):svp если вас не затруднит помогите этим самым скриптом для создания index.txt для кэш SasPlanet,

Тут такой тонкий момент... Я так понимаю это у Вас по работе=). Если бы оно для хобби было, то другое дело, а так... Как-то это неправильно. У меня сейчас своей работы по уши, и не привлеку же я Вас решать мои задачи посредством пивных взаиморасчетов=))).
timoha писал(а):буду примного благодарен. Как говорится пиво с меня. Я смотря Вы из Белгорода, [..]

Такие вещи не принято вот так вот на форумах. В личку это надо писать. Я на этом форуме решая вопросы не зарабатываю, так что мотивировать меня не надо. Из альтруизма подсказать -- подскажу, а так чтобы за пиво -- нет. Да и не ем я пиво=)
Аватара пользователя
svp
Советчик
 
Сообщения: 447
ICQ: 204094886
Зарегистрирован: 26 авг 2008, 11:14
Откуда: Белгород
Благодарил (а): 2 раз.
Поблагодарили: 7 раз.

Re: Конвертация кеша в/из разных форматов.

Сообщение agava » 27 май 2010, 20:39

Можно ли сделать конвертер кэша из SasPlanet в кэш для Tangogps (http://www.tangogps.org/gps/cat/News)

образец кэша Tangogps:
http://depositfiles.com/files/h5c57yvjq
agava
Новичок
 
Сообщения: 15
Зарегистрирован: 07 сен 2009, 14:24
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Конвертация кеша в/из разных форматов.

Сообщение svp » 28 май 2010, 10:41

agava писал(а):Можно ли сделать конвертер кэша из SasPlanet в кэш для Tangogps (http://www.tangogps.org/gps/cat/News)

Можно=) Делайте=))
agava писал(а):образец кэша Tangogps:
http://depositfiles.com/files/h5c57yvjq

Не очень понятный пример. Помог бы полностью загруженный какой-нибудь слой, например 3-й или 4-й. Ещё не ясно с какой цифры нумеруются строки и столбцы. С таким примером задача превращается в головоломку. Разрешимую, но необоснованно сложную. Имело бы смысл, в качестве примера приложить два кеша: этот и планетовский с одинаковыми загруженными участками. Если проекция одна и та же, то конвертация будет заключаться в простом переименовании файлов.
Аватара пользователя
svp
Советчик
 
Сообщения: 447
ICQ: 204094886
Зарегистрирован: 26 авг 2008, 11:14
Откуда: Белгород
Благодарил (а): 2 раз.
Поблагодарили: 7 раз.

Re: Конвертация кеша в/из разных форматов.

Сообщение Sintorres » 13 июн 2010, 17:53

Доброго времени суток Уважаемый svp
Возможно ли написать конвертер для экспорта кэша Sas в кэш OziExplorer?
Структура кша отличается глубиной вложений папок и наличием/отсутствием букв в начале имен папок/файлов
Структура SAS
Код: Выделить всё
\z16\18\x19159\10\*.*
например - y11027.png

Ozi
Код: Выделить всё
\15\19159\*.*
например - 11027.png

Да вот еще что номера зума сдвинуты на 1. т.е. z16 Sas соответствует 15 му зуму Ozi
Sintorres
Новичок
 
Сообщения: 5
Зарегистрирован: 07 авг 2009, 18:11
Благодарил (а): 2 раз.
Поблагодарили: 0 раз.

Re: Конвертация кеша в/из разных форматов.

Сообщение svp » 15 июн 2010, 16:20

Sintorres писал(а):Доброго времени суток Уважаемый svp
Возможно ли написать конвертер для экспорта кэша Sas в кэш OziExplorer?
Структура кша отличается глубиной вложений папок и наличием/отсутствием букв в начале имен папок/файлов
Структура SAS
Код: Выделить всё
\z16\18\x19159\10\*.*
например - y11027.png

Ozi
Код: Выделить всё
\15\19159\*.*
например - 11027.png

Да вот еще что номера зума сдвинуты на 1. т.е. z16 Sas соответствует 15 му зуму Ozi

Это всё делается достаточно несложным скриптом в любой юникс-системе и чуточку более сложным скриптом в винде. По сути нужно перебрать все файлы внутри каталога и применить к их путям несложный регексп, а затем переименовать все папки зумов, декрементируя их названия.
Получаем пути командой:
Код: Выделить всё
dir /b /s /a:-d > текстовый_файл_куда_сохранить_список.bat

Обрабатываем файл в любом текстовом редакторе таким вот регекспом:
Заменяем: ^(.*)\\z(\d+)\\\d+\\x(\d+)\\\d+\\y(\d*\..*)
на: copy "\0" "ResultPath\\Result\\\2\\\3\\\4"
В результате текстовый_файл_куда_сохранить_список.bat станет скриптом, переименовывающим тайлы кеша.
Теперь декрементируем имена каталогов с зуммами батником:
Код: Выделить всё
FOR /L %%i IN (1,1,20) DO (call :rename_one %%i)
Exit
:rename_one
set /a t=%1-1
ren %1 %t%


ВНИМАНИЕ! Используем приведённые выше скрипты вдумчиво и предварительно на тестовом кеше. За угробленные по неосторожности кеши лично я ответственности нести не собираюсь=)

И ещё. Синтаксис регекспов в разных редакторах может отличаться. Внимательно читаем документацию и тренируемся, прежде чем что-то запускаем на исполнение.
Приведённые выше регекспы отлично работают в FAR'е с установленным плагином ExtSearch.
Аватара пользователя
svp
Советчик
 
Сообщения: 447
ICQ: 204094886
Зарегистрирован: 26 авг 2008, 11:14
Откуда: Белгород
Благодарил (а): 2 раз.
Поблагодарили: 7 раз.

Re: Конвертация кеша в/из разных форматов.

Сообщение zed » 15 июн 2010, 16:47

Получаем пути командой:

Ага, а если в кэше пару миллионов тайлов? Не очень красивое решение...
zed
Гуру
 
Сообщения: 2888
Зарегистрирован: 16 авг 2008, 20:21
Благодарил (а): 89 раз.
Поблагодарили: 568 раз.

Re: Конвертация кеша в/из разных форматов.

Сообщение Sintorres » 15 июн 2010, 19:50

svp Спасибо!!!
Получилось примерно так:
Код: Выделить всё
E:\Program Files\SASPlanet\cache\visicom_world_ru\visicom.bat
copy "E:\Program Files\SASPlanet\cache\visicom_world_ru\z1\0\x0\0\y0.png" "ResultPath\Result\1\0\0.png"
copy "E:\Program Files\SASPlanet\cache\visicom_world_ru\z10\0\x286\0\y169.png" "ResultPath\Result\10\286\169.png"
copy "E:\Program Files\SASPlanet\cache\visicom_world_ru\z10\0\x286\0\y170.png" "ResultPath\Result\10\286\170.png"
.........................
.........................
copy "E:\Program Files\SASPlanet\cache\visicom_world_ru\z10\0\x290\0\y169.png" "ResultPath\Result\10\290\169.png"
copy "E:\Program Files\SASPlanet\cache\visicom_world_ru\z10\0\x290\0\y170.png" "ResultPath\Result\10\290\170.png"
......................
и т.д. 22 МБ   

:D
Результатом будет копирование с переименованием из "E:\Program Files\SASPlanet\cache\visicom_world_ru............"
в "ResultPath\Result........."
Правильно?
Ещё раз спасибо!!!
Sintorres
Новичок
 
Сообщения: 5
Зарегистрирован: 07 авг 2009, 18:11
Благодарил (а): 2 раз.
Поблагодарили: 0 раз.

Re: Конвертация кеша в/из разных форматов.

Сообщение svp » 15 июн 2010, 21:49

Sintorres писал(а):Правильно?

Ну ещё надо не забыть выполнить тот батник, чтобы зумы уменьшить на 1, так как в Ozi, насколько я понял, зум от нуля считается, а не от 1 (как в SAS).
Аватара пользователя
svp
Советчик
 
Сообщения: 447
ICQ: 204094886
Зарегистрирован: 26 авг 2008, 11:14
Откуда: Белгород
Благодарил (а): 2 раз.
Поблагодарили: 7 раз.

Пред.След.

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

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

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