SASGIS

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

SAS.Планета (SASPlanet)

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

Модератор: Tolik

Re: SAS.Планета (SASPlanet)

Сообщение Parasite » 05 июн 2009, 19:40

Bedazzle писал(а):
Parasite писал(а):И что предлагается с ними делать, если мне нужен ОДИН тайл? Качать 50Мб ТОСа + контент?

Брать только тайл, ТОС на стороне клиента создаётся свой.

Скажите, в чем разница этого подхода - и обычного индекса обычной датабазы? Тем, что они разделены по разным файлам? А смысл разделения, если это уже не архив а датабаза (которая к тому же эффективней и юзабельней)? А как обходиться с разными слоями - ведь каждый квадрат учетверяется на подлежащем слое, как по обьему, так и по кол-ву тайлов? Опять разбивать уже и этот слой, и будет уже 4 архива вместо одного? Как отслеживать версии - помещать ее номер в название архива? Итд итп......В чем конкретно выгода Вашего метода в плане скачки тайлов? Пожалуйста, напишите по пунктам ЗА и ПРОТИВ.

Bedazzle писал(а):не забываем возможность забрать/обновить одним-двумя файлами весь регион, скажем, Питер или Москву.

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

Re: SAS.Планета (SASPlanet)

Сообщение Bedazzle » 05 июн 2009, 21:54

Parasite писал(а):Скажите, в чем разница этого подхода - и обычного индекса обычной датабазы?


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

Parasite писал(а):А смысл разделения, если это уже не архив а датабаза (которая к тому же эффективней и юзабельней)?


Не понимаю что вы имеете в виду под "которая эффективней". Различных БД как и СУБД существует множество. У всех есть свои плюсы и минусы.
Оптимизированный под задачу инструмент (будь то молоток, шуруповёрт, или, скажем, плоская БД) - всегда будет эффективнее комбинированного.
Кстати, касательно SQLite есть немного интересного тут http://tinyurl.com/omqg4x (ответ на синем поле).

Parasite писал(а):А как обходиться с разными слоями - ведь каждый квадрат учетверяется на подлежащем слое, как по обьему, так и по кол-ву тайлов? Опять разбивать уже и этот слой, и будет уже 4 архива вместо одного?


Зависит от объёмов, нужно пробовать тесты на реальных данных, тогда станет понятно, что удобнее и меньше тормозит.
Мы же сейчас обсуждаем общую политику кэша, а не тонкости реализации.

Parasite писал(а):Как отслеживать версии - помещать ее номер в название архива? Итд итп......


Номер версии тайла должен заноситься в файл одновременно с его добавлением. Т.е.

Дата-файл состоит из множества записей, каждая из которых несёт в себе:
а) снимок
б) версию
в) координаты/зум
г) метку состояния (удалён/активен)
в начале дата-файла присутствует заголовок с системной информацией

ТОС-файл (индекс) генерится на основе дата-файла, и используется для ускорения навигации внутри дата-файла, содержит отсортированные ссылки в виде:
а) координаты/зум
б) версия
в) смещение от начала файла
в начале ТОС-файла присутствует заголовок с системной информацией

Чтобы избавиться от необходимости сортировки, ТОС-файл можно создавать "дутым", сразу резервируя место под записи фиксированного размера, и забивая при инициализации нулями.

Parasite писал(а):В чем конкретно выгода Вашего метода в плане скачки тайлов?


Тем, что из объединённого файла можно достать любой тайл - не распаковывая архив, а просто перейдя на нужную позицию в файле (естественно, при наличии валидного ТОС-файла).
В случае обновления дата-файла произойдёт дозапись в конец, и перекачивать весь файл не потребуется. Если же раздавать зип или рар - файл "поползёт".

Parasite писал(а):Что делать тем, кто качает не по конкретным регионам (например, мне)? :)


Регионом я называю квадратную (или любую другую) область. Т.е. в вашем случае можно качать Землю, делённую на квадраты, по типу шахматной доски, не привязываясь к географии.
Bedazzle
Новичок
 
Сообщения: 27
Зарегистрирован: 23 май 2009, 00:49
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: SAS.Планета (SASPlanet)

Сообщение Parasite » 08 июн 2009, 07:22

Bedazzle писал(а):
Parasite писал(а):Скажите, в чем разница этого подхода - и обычного индекса обычной датабазы?

Никакого, это частный случай индекса

C этого надо было начать... :(

Bedazzle писал(а):
Parasite писал(а):А смысл разделения, если это уже не архив а датабаза (которая к тому же эффективней и юзабельней)?

Не понимаю что вы имеете в виду под "которая эффективней".

Датабаза (как сущность) эффективнее архива (в его классическом понимании и представлении, например ZIP) в плане рандомного R\W доступа к контенту - благо датабаза как раз и создавалась именно для этого. Плюс встроенные фичи , которых не предлагает архив (в его опять же классическом представлении).

Bedazzle писал(а):
Parasite писал(а):Как отслеживать версии - помещать ее номер в название архива? Итд итп......

Номер версии тайла должен заноситься в файл одновременно с его добавлением. Т.е.

Это уже не раз предлагалось много ранее (см, например, ТУТ) - и ничего не мешает это ввести и в текущем положении дел (с тайловым кэшем). Это уже разработчику, не к Вам. :)

Bedazzle писал(а):
Parasite писал(а):В чем конкретно выгода Вашего метода в плане скачки тайлов?

Тем, что из объединённого файла можно достать любой тайл - не распаковывая архив, а просто перейдя на нужную позицию в файле (естественно, при наличии валидного ТОС-файла).В случае обновления дата-файла произойдёт дозапись в конец, и перекачивать весь файл не потребуется. Если же раздавать зип или рар - файл "поползёт".

Очередной вопрос: в чем разница с датабазой (для конкретики возьмем, например, SQLite)? Зачем городить свой собственный огород с TOCами и прочим - если все это уже есть (и стандартно), надо бы только прикрутить к существующей программе...
Датабазы же тут обсуждаются народом спорадически и с сезонными обострениями...но воз и ныне там. :)

Bedazzle писал(а):
Parasite писал(а):Что делать тем, кто качает не по конкретным регионам (например, мне)? :)

Регионом я называю квадратную (или любую другую) область. Т.е. в вашем случае можно качать Землю, делённую на квадраты, по типу шахматной доски, не привязываясь к географии.

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

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

Re: SAS.Планета (SASPlanet)

Сообщение Parasite » 08 июн 2009, 11:52

Parasite писал(а):
temp писал(а):А для рассматривания других стран мне более удобен Google Earth, когда закончатся два гига родного кеша начну пользоваться геокешером.

Ага. Тем более на подходе полностью локальная версия ГЕ (авось на этих выходных зарелизю). :)

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

Re: SAS.Планета (SASPlanet)

Сообщение vvkot » 09 июн 2009, 23:02

Подскажите, куда в новой версии делся файл maps.ini? Хотел подправить параметр BanIfLen, но не нашел где.
vvkot
Новичок
 
Сообщения: 3
Зарегистрирован: 02 дек 2008, 22:01
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: SAS.Планета (SASPlanet)

Сообщение Parasite » 10 июн 2009, 07:22

vvkot писал(а):Подскажите, куда в новой версии делся файл maps.ini? Хотел подправить параметр BanIfLen, но не нашел где.

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

Re: SAS.Планета (SASPlanet)

Сообщение vvkot » 23 июн 2009, 13:39

Подскажите можно лик как-нибудь ускорить процесс скачивания снимков гугла большой территории. С учетом того, что покрытие с высоким разрешением не сплошное, то в случае отсутсвия файла на сервере процесс идет крайне медленно - несколько секунд на тайл. Т.е. гораздо медленнее если бы там было изображение, есть ли параметр, чтоб ускорить процесс скачки при большрм количестве отсутствующих тайлов? Задержку перед скачиванием поставил и так минимальную - не помогает.
vvkot
Новичок
 
Сообщения: 3
Зарегистрирован: 02 дек 2008, 22:01
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: SAS.Планета (SASPlanet)

Сообщение Vasya » 23 июн 2009, 15:06

vvkot
Закачиваешь весь кусок в 14 масштабе, а потом в ручную выделяешь только те места, где визуально видно высокое качество.
Аватара пользователя
Vasya
Советчик
 
Сообщения: 266
ICQ: 137791
Зарегистрирован: 14 июл 2008, 13:06
Откуда: Одесса
Благодарил (а): 0 раз.
Поблагодарили: 3 раз.

Re: SAS.Планета (SASPlanet)

Сообщение lazybird » 24 июн 2009, 16:03

Качал тут Ландшафт и смотрел логи. Опера делает чуть по-другому. Во-первых, меняются сервера в случайной последовательности. Во-вторых, чуть другая строка запроса. А может стоит по-умолчанию сделать так?

++++++++++++++
GoogleLand.zmp
++++++++++++++
params.txt -- заменить на строку вида
------------
DefURLBase=google.com/mt/v=w2p.87&hl=ru


GetUrlScript.txt
-------------------
begin
ResultURL:='http://mt'+inttostr(random(4))+'.'+GetUrlBase+'&x='+inttostr(GetX)+'&y='+inttostr(GetY)+'&z='+inttostr(GetZ-1)+'&s='+copy('Galileo',1,(GetX*3+GetY)mod 8);
end.

-------------------
Да, причем там запрос хитро поменян -- нет ?, а вместо него идет /, что даже удобнее, ибо в прокси можно видеть полный запрос вида:
http://mt3.google.com/mt/v=w2p.87&hl=ru ... &z=14&s=Ga, вместо http://mt3.google.com/mt?



Может если сделать такое-же для гугловских снимков (выше указано для ландшафта), то оно будет реже банить? Кто хочет проверить? Мне грузить гугловские снимки пока не нужно (а все это несколько медленно), поэтому там не смотрел точнее, да и запросы там совершенно другие, SAS в стороке запроса использует maptilecompress строку и т.п., но думаю все равно должно рабтать примерно так:

Содержимое GoogleSat.zmp
+++++++++++++++++++++++++

params.txt -- заменить на строку вида
-----------------------------------------------
DefURLBase=google.com/maptilecompress/t=2&q=80&hl=ru

GetUrlScript.txt
--------------------
begin
//GetUrlBase[11]:=inttostr((GetX+GetY) mod 4)[1];
ResultURL:='http://khm' + inttostr(random(4)) + '.' + GetUrlBase + '&x=' + inttostr(GetX) + '&y=' + inttostr(GetY) + '&z=' + inttostr(GetZ-1) + '&s=' + copy('Galileo', 1, (GetX*3 + GetY) mod 8);
end.


Вышеприведенное меняет сервера гугл с 0 до 3 в случайном порядке -- проверьте кому интересно, что будет с частотой бана?

Забыл. Еще изменено с &zoom=(18-GetZ) на &z=GetZ-1, что соотв. по уровням, но почему-то используется в браузерах именно так пока (при этом одинаковые изображения получаются при запросах вида &zoom=4 и &z=13, в программе = 14).
lazybird
Новичок
 
Сообщения: 7
Зарегистрирован: 19 июн 2009, 21:23
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: SAS.Планета (SASPlanet)

Сообщение feya » 24 июн 2009, 16:49

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

Пред.След.

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

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

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