SASGIS

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

Google Earth

Обсуждение различной информации связанной с картографией в САСе, а также сторонние программные продукты для связки с САСом

Модератор: Tolik

Re: Google Earth

Сообщение zed » 28 авг 2008, 13:53

Да, есть и такие (распаковать оба архива в одну папку, пришлось разрезать т.к. на сайте ограничение на max размер вложения в 256КБ). Правда, получает файлы по-одному. Сайт автора проги http://google-earth.narod.ru/, спросите, может он уже и пачками качает
zed
Гуру
 
Сообщения: 2888
Зарегистрирован: 16 авг 2008, 20:21
Благодарил (а): 89 раз.
Поблагодарили: 525 раз.

Re: Google Earth

Сообщение ciberhunter » 02 сен 2008, 14:28

Что-то у меня не работает программа. Или я не понимаю как она работает.
ciberhunter
Новичок
 
Сообщения: 25
Зарегистрирован: 14 июл 2008, 08:31
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Google Earth

Сообщение zed » 03 сен 2008, 16:41

жмём кнопочку Get SessionKey (происходит авторизация на сервере), затем GetData. И если такой файл существует - то он появиться в папке с программой (+ его распакованная и расшифрованная версии)
zed
Гуру
 
Сообщения: 2888
Зарегистрирован: 16 авг 2008, 20:21
Благодарил (а): 89 раз.
Поблагодарили: 525 раз.

Re: Google Earth

Сообщение ciberhunter » 09 сен 2008, 06:44

zed Можно надеяться что Доунлоадер полноценный скоро появится?
Для просмотра можно тот же SASGIS использовать. Но тут же видно необходимо преобразование проекций. Видеокарты современные умножением матриц на вектор на раз занимаются.
ciberhunter
Новичок
 
Сообщения: 25
Зарегистрирован: 14 июл 2008, 08:31
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Google Earth

Сообщение zed » 09 сен 2008, 13:35

ciberhunter писал(а):Можно надеяться что Доунлоадер полноценный скоро появится?

Это наврят ли. Автор заморозил все свои разработки по GE из-за нехватки времени, а может, просто надоело.
Что бы сделать качалку, нужно разобраться с файлами q2 (в них зашита инфа по версиям всех типов данных для данной области), чтоб знать, какую версию файлов запрашивать с сервера. Структура q2 известна, но неизвестно назначение той или иной версии (для какого она именно типа данных и для какого уровня зума) В общем, не то чтоб уж очень сложно - просто нужно время и желание. Как только появиться доброволец - так и появиться качалка.
А насчёт того, чем это всё можно просматривать - мне понравился NASA World Wide. У него открытый кэш (россыпь картинок в папке) и очень легко можно экспортировать в кэш NASA любой другой кэш (проекция аналогичная GoogleMaps, поэтому кэш GE нужно перепроецировать, наверное). Да и NASA поудобнее будет, чем SASGIS, но топорнее чем GE.
zed
Гуру
 
Сообщения: 2888
Зарегистрирован: 16 авг 2008, 20:21
Благодарил (а): 89 раз.
Поблагодарили: 525 раз.

Re: Google Earth

Сообщение zed » 18 окт 2008, 12:47

CacheMaster - программа, при помощи которй можно:
1.Распаковать кэш GoogleEarth (можно извлекать не только картинки, а и все данные);
2.Экспортировать распакованный кэш GoogleEarth в KML.

Используя CacheMaster, можно создать свой kml-кэш, который затем можно просматривать в самом гугле. Без лимита на кэш в 2Гб.
zed
Гуру
 
Сообщения: 2888
Зарегистрирован: 16 авг 2008, 20:21
Благодарил (а): 89 раз.
Поблагодарили: 525 раз.

Re: Google Earth

Сообщение Cowa » 20 окт 2008, 21:47

aleksey писал(а):zed
Разобрался с проекциями GoogleEarth и GoogleMaps на программном уровне, т.е. могу тайлы GE разжимать чтоб картинка не казалась сжатой (тайлы извлечённые GE_JPG_extractor-ом), если кто заинтересован, могу подкинуть подробную инфу.

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

Re: Google Earth

Сообщение zed » 21 окт 2008, 09:40

Думаю, в исходниках будет всё понятно, если что - спрашивайте.
Единственное замечание: не нашёл (плохо или не там искал?) точной формулы для расчёта параметра метр/градус для широты. Приближённая формула начинает давать ошибку в 1 и более пиксель начиная с 1 до примерно 8-го уровня зума, но на более высоких уровнях - всё точняк. Если вам вдруг попадётся на глаза точная формула - покажите её и мне.
zed
Гуру
 
Сообщения: 2888
Зарегистрирован: 16 авг 2008, 20:21
Благодарил (а): 89 раз.
Поблагодарили: 525 раз.

Re: Google Earth

Сообщение Cowa » 21 окт 2008, 20:59

Спасибо за исходник. В принципе, все понятно. Я думал, что в GoogleEarth проекция немного посложнее. Все просто.
А тебе, я так понимаю, нужно получить соотношение метр/градус для GoogleMaps. Я у себя рассчитываю метр/пиксель (из чего можно получить и метр/градус если нужно). В этом случае, мне кажется будет проще сканировать(в твоей проге) картинку не по градусам, а по пикселям. Но это мое мнение :) . Меньше будет округлений.
Если интересно, то у меня соотношение метр/пиксель для широты считается так:
// Размер половины мировой карты в пикселях на уровне детализации Z (начиная от 1 до ... как в SAS.Планет)
size := 128*Ldexp(1,Z-1);
// метров на пиксель на широте Y градусов (от экватора от 0 до ~85 градусов в обе стороны).
MetrPics:=20016332.8/size*Cos(Y*PI/180); // 20016332.8 - не помню откуда взял, но тоже не точно

Поможет - буду рад.

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

Re: Google Earth

Сообщение feya » 21 окт 2008, 22:44

P.S. Мне больше было бы интересно как пересчитываются градусы из проекции GoogleMaps в проекцию Яндекс-карт(уж не знаю, че там за проекция).

проекция та же меркатор, токо на элиипсоиде вот здесь есть описание функции - http://mapnav.spb.ru/site/e107_plugins/ ... p?13518.50
У мя подругому:
вот функции использующиеся в программе (2: какраз меркатор на элиипсоиде):
Код: Выделить всё
function GPos2LonLat(XY:TPoint;Azoom:byte;MT:PMapType):TExtendedPoint;
var zu,zum1,yy:extended;
begin
result.X:=((XY.x)-zoom[Azoom]/2)/(zoom[Azoom]/360);
case MT.projection of
  1: begin
      result.Y:=((XY.y)-zoom[Azoom]/2)/-(zoom[Azoom]/(2*PI));
      result.Y:=(2*arctan(exp(result.Y))-PI/2)*180/PI;
     end;
  2: begin
      result.Y:=((XY.y)-zoom[Azoom]/2)/-(zoom[Azoom]/(2*PI));
      result.Y:=(2*arctan(exp(result.Y))-PI/2)*180/PI;
      Zu:=result.y/(180/Pi);
      yy:=((XY.y)-zoom[Azoom]/2);
      repeat
       Zum1:=Zu;
       Zu:=arcsin(1-((1+Sin(Zum1))*power(1-MT.exct*sin(Zum1),MT.exct))/(exp((2*yy)/-(zoom[Azoom]/(2*Pi)))*power(1+MT.exct*sin(Zum1),MT.exct)));
      until (abs(Zum1-Zu)<MerkElipsK)or(isNAN(Zu));
      if not(isNAN(Zu)) then result.Y:=zu*180/Pi;
     end;
  3: begin
      result.y:=-((XY.y)-zoom[Azoom]/2)/(zoom[Azoom]/360);
     end;
end;
end;

function GLonLat2Pos(Ll:TExtendedPoint;Azoom:byte;MT:PMapType):Tpoint;
var z,c:real;
begin
result.x:=round(zoom[Azoom]/2+ll.x*(zoom[Azoom]/360));
case MT.projection of
  1: begin
      z:=sin(Ll.y*deg);
      c:=(zoom[Azoom]/(2*Pi));
      result.y:=round(zoom[Azoom]/2-0.5*ln((1+z)/(1-z))*c);
     end;
  2: begin
      z:=sin(Ll.y*deg);
      c:=(zoom[Azoom]/(2*Pi));
      result.y:=round(zoom[Azoom]/2-c*(ArcTanh(sin(ll.y*deg))-MT.exct*ArcTanh(MT.exct*sin(ll.y*deg))) )
     end;
  3: result.y:=round(zoom[Azoom]/2-ll.y*(zoom[Azoom]/360));
end;
end;
http://sasgis.org | SAS.Планета | SASPlanet
Аватара пользователя
feya
Гуру
 
Сообщения: 2034
Зарегистрирован: 13 июл 2008, 10:45
Благодарил (а): 5 раз.
Поблагодарили: 32 раз.

Пред.След.

Вернуться в Другие программы

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

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