SASGIS

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

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

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

Модератор: Tolik

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

Сообщение svp » 26 авг 2008, 15:44

Ни в справке к программе, ни на форуме я не нашел достаточной информации о том, как и каких форматов можно использовать кеш в "SAS.Планета". Посему открываю эту тему.
Итак вопросы:
!. Есть набор [tsqr]*/.jpg файлов закачанных с гугла сторонними утилитами, либо обычным доунлоад-менеджером. Как эти файлы добавить в кеш программы?
2. Есть кеш SAS.Планета. Как получить набор tsqr-файлов некоторой области с некоторой детализацией?
3. Нельзя ли сделать менеджер закачек тайлов отдельно от программы? Очень полезен был бы консольный режим работы менеджера. Например можно было бы отдавать задания на закачку областей удалённому серверу. Опять же консольную утилитку легче сделать кроссплатформенной.
Последний раз редактировалось svp 13 ноя 2008, 18:59, всего редактировалось 1 раз.
Аватара пользователя
svp
Советчик
 
Сообщения: 447
ICQ: 204094886
Зарегистрирован: 26 авг 2008, 11:14
Откуда: Белгород
Благодарил (а): 2 раз.
Поблагодарили: 7 раз.

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

Сообщение feya » 26 авг 2008, 16:51

Ок.
Описание кэша SAS.Планета, а также возможности использовать кэши других типов
SAS.Планета может работать с 3-мя типами кэша:
1."Родной"
2.Кэш программы GoogleMV
3.Кэш программы EarthSlicer1.95

1. "Родной" кэш используется програмой по умолчанию. Функция определения пути к отдельному тайлу имеет следующий вид:
Код: Выделить всё
result:=path+'\z'+zoom+'\'+(x div 1024)+'\x'+x+'\'+(y div 1024)+'\y'+y+ext;
где
path - путь к папке кэша
zoom – уровень масштаба
x,y – позиция тайла относительно левого верхнего угла карты.

На мой взгляд имеет 2 преимущества:
* Максимальное количество тайлов в одной папке не превышает 1024 штуки
* Простота программной реализации.

2. Кэш программы GoogleMV можно использовать в программе указав в настройках “использовать кэш старого типа” и выбрав путь к кэшу. В ini-файле, ветка [PATH] параметр NameMapType_Old, следует указать названия папок отдельных типов карт. Так для спутниковой карты за место sat указываем kh, для политической за место map указывает mt и т.д.

Кэш GoogleMV имеет следующее преимущество:
* Интуитивность понимания формата хранения тайлов.

3. Кэш программы ES1.95 можно использовать в программе указав в настройках “использовать кэш ES1.95” и выбрав путь к кэшу. В ini-файле, ветка [PATH] параметр NameMapType_ES, следует указать названия папок отдельных типов карт.

Кэш ES1.95 имеет следующие преимущества:
* Ограничено максимальное количество тайлов в одной папке
* На масштабах с 1 по 7 имеет структуру идентичную GoogleMV
http://sasgis.org | SAS.Планета | SASPlanet
Аватара пользователя
feya
Гуру
 
Сообщения: 2034
Зарегистрирован: 13 июл 2008, 10:45
Благодарил (а): 5 раз.
Поблагодарили: 56 раз.

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

Сообщение ciberhunter » 28 авг 2008, 07:23

az Не думаете ли вы? что стоит переписать программу конвертации кеша из старого в новый формат. Может кто-то возмется написать конвертатор в котором будет использоваться однозначное преобразование SAS->GMV и GMV->SAS
При использовании внутреннего конвертора SASGIS он у меня замирает на 300 тайлах и все. Не могу переконвертировать свой кеш.
Как я понимаю Wiki не работает с старом формате?
ciberhunter
Новичок
 
Сообщения: 25
Зарегистрирован: 14 июл 2008, 08:31
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

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

Сообщение svp » 28 авг 2008, 10:09

Конвертер из набора TSQR-файлов в SAS у меня уже практически готов. Сделаю его консольным для начала. Причем конвертируются только те файлы, которые есть в кеше (без перебора всех возможных). В планах сделать и другие режимы конвертации. Есть только одно НО. Структура SAS-кеша здесь описана хорошо и понятно. Не поленитесь, кто-нибудь, для кого проблема насущна, описать так же лаконично структуры кешей других прог. Вот исходник модуля конвертации имён тайлов из TSQR-, SAS-формата в [прямоугольные координаты тайла, зум-фактор] и обратно:
uTSQRConversions.rar
исходник модуля конвертации имён тайлов
(1.53 KiB) Скачиваний: 819
Аватара пользователя
svp
Советчик
 
Сообщения: 447
ICQ: 204094886
Зарегистрирован: 26 авг 2008, 11:14
Откуда: Белгород
Благодарил (а): 2 раз.
Поблагодарили: 7 раз.

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

Сообщение svp » 28 авг 2008, 22:40

Поспела, наконец, первая бета-версия консольного конвертера TSQR-кеша в кеш SAS,Планеты.
Исходный код открыт, правьте что пожелаете. Буду признателен, если поделитесь при этом конструктивными идеями и предложениями.
Использовать утилиту очень просто. При запуске без параметров из командной строки она сама подробно рассказывает как её применять.
Если у кого-то чего-то полетит или грохнется в связи с (или вопреки) моим стараниям, то, значит, приключился форс-мажор=). Пользуем на свой страх и риск, так как креш-тест утилиты не проводился.
Интересно, например, что быдет, если в качестве источника передать ей корень диска С: (НИ В КОЕМ СЛУЧАЕ НЕ ПРОБУЙТЕ.. пока..=).
А вообще у меня замечательно работает. 300 метров кеша 19 уровня затянула влёт.

Релиз:
TsqrToSas_rel_200808282228.rar
Релиз версии 0.1.18b
(64.86 KiB) Скачиваний: 1006

Исходники:
TsqrToSas_src_200808282228.rar
Исходники версии 0.1.18b
(6.31 KiB) Скачиваний: 711

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

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

Сообщение feya » 01 сен 2008, 22:48

svp
Вот код которым я пользуюсь для доступа к тайла кэша EarthSliser:

Код: Выделить всё
function full(int,z:integer):string;
var s,s1:string;
    i:byte;
begin
result:='';
s:=inttostr(int);
s1:=inttostr(zoom[z] div 256);
for i:=length(s) to length(s1)-1 do result:=result+'0';
result:=result+s;
end;


// zoom - 256,512,1024,2048,4096,8192,16384 ....
//основная функция
Код: Выделить всё
   result:=ESCpath;
   name:=sbuf+'-'+full(x div 256,Azoom)+'-'+full(y div 256,Azoom);
   if Azoom<7
    then result:=result+pathmapES[type_]+'\'+sbuf+'\'+name+rasshmap[type_]
    else if Azoom<11
          then result:=result+pathmapES[type_]+'\'+sbuf+'\'+Chr(59+Azoom)+
                       full((x div 256)div 32,Azoom-5)+full((y div 256)div 32,Azoom-5)+'\'+name+Extmap[type_]
          else result:=result+pathmapES[type_]+'\'+'10'+'-'+full((x div round(power(2,Azoom-10)))div  256,10)+'-'+
                       full((y div round(power(2,Azoom-10)))div 256,10)+'\'+sbuf+'\'+Chr(59+Azoom)+
                       full((x div 256)div 32,Azoom-5)+full((y div 256)div 32,Azoom-5)+'\'+name+Extmap[type_];

очень каряво, но писал "главно чтоб работала") да и не вник я в суть данного кэша. Здесь x и y не координаты тайла а к-ты позиции на крте, те для 1-тайла 1-го зума y и x могут варьирываться от 0 до 255.
pathmapES - путь к отдельным папкам карт.
http://sasgis.org | SAS.Планета | SASPlanet
Аватара пользователя
feya
Гуру
 
Сообщения: 2034
Зарегистрирован: 13 июл 2008, 10:45
Благодарил (а): 5 раз.
Поблагодарили: 56 раз.

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

Сообщение svp » 02 сен 2008, 12:51

azya писал(а):Вот код которым я пользуюсь для доступа к тайла кэша EarthSliser:

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

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

Сообщение KAC » 04 сен 2008, 13:33

Ой спасибочки за конверте, а то я просто умираю без него.
Сегодня же опробую его вечером.
Правильно ли я понял что он сможет переконвертить кеш ES1.95 в кеш sas?
Приче не тупым перебором всех возможных вариантов, а именно только тех файлов которые есть..
у меня просто весь берлин в 21 уровне погибает... охото уже унифицировать все в SAS
KAC
Новичок
 
Сообщения: 13
Зарегистрирован: 13 июл 2008, 13:50
Благодарил (а): 0 раз.
Поблагодарили: 2 раз.

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

Сообщение feya » 04 сен 2008, 13:45

KAC
Нет я так понял svp токо из/в googleMV/SAS.Planet сделал, но если его хорошо попросить может и поддержку ЕС сделает.

у меня просто весь берлин в 21 уровне погибает

Так мож просто сконвертить прям в программе выделить/сохранить, причем выделите токо берлин и времени много не затратите.
http://sasgis.org | SAS.Планета | SASPlanet
Аватара пользователя
feya
Гуру
 
Сообщения: 2034
Зарегистрирован: 13 июл 2008, 10:45
Благодарил (а): 5 раз.
Поблагодарили: 56 раз.

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

Сообщение KAC » 04 сен 2008, 15:14

Дело в том что именно и затратит дохера времени:)
очень трудно выделить те места которые я скачал, а выделять с запасом я не хочу.
to svp можешь сделать такой конвертер, пожалуйста...
будь дргом, командная строка для меня тоже попрет...

За это сообщение автора KAC поблагодарил:
ingener (29 сен 2024, 20:03)
Рейтинг: 5.26%
 
KAC
Новичок
 
Сообщения: 13
Зарегистрирован: 13 июл 2008, 13:50
Благодарил (а): 0 раз.
Поблагодарили: 2 раз.

След.

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

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

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