SASGIS

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

Форматы кеша, поддерживаемые программой

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

Модератор: Tolik

Re: Форматы кеша, поддерживаемые программой

Сообщение vdemidov » 18 янв 2012, 11:42

zed писал(а):так что формат ключа придётся переделывать по-любому (swap'ить X,Y). Тогда уж значит добавлю и magic с crc32.

Сделай отдельно с каким-то Magic-ключом запись с мета-информацией о базе. Для начала хотя бы версия хранилища. Потом можно будет добавить тип тайлов и проекцию.
Чтобы понять программу, вы должны стать одновременно и машиной, и программой.
Аватара пользователя
vdemidov
Гуру
 
Сообщения: 1687
Зарегистрирован: 12 дек 2008, 13:10
Откуда: Киев
Благодарил (а): 191 раз.
Поблагодарили: 157 раз.

Re: Форматы кеша, поддерживаемые программой

Сообщение zed » 18 янв 2012, 12:20

vasketsov писал(а):А где-то используется что-то типа order by x?

В BTree индексе БД. Только не по x, а по ключу в целом.
vdemidov писал(а):Сделай отдельно с каким-то Magic-ключом запись с мета-информацией о базе.

Да, тоже была такая мысль. Думаю если забить в x,y максимальное значение (FFFFFFFF) будет достаточно "магически" и совпадений с реальными тайлами быть не должно?
zed
Гуру
 
Сообщения: 2888
Зарегистрирован: 16 авг 2008, 20:21
Благодарил (а): 89 раз.
Поблагодарили: 568 раз.

Re: Форматы кеша, поддерживаемые программой

Сообщение vdemidov » 18 янв 2012, 12:27

zed писал(а):Да, тоже была такая мысль. Думаю если забить в x,y максимальное значение (FFFFFFFF) будет достаточно "магически" и совпадений с реальными тайлами быть не должно?

Именно так я и представляю это.
zed писал(а):В BTree индексе БД. Только не по x, а по ключу в целом.

Идеальный вариант сделать не просто конкатенацию х и y, а сделать чередование бит. Тогда близкие тайлы будут в BTree расположены рядом.
Чтобы понять программу, вы должны стать одновременно и машиной, и программой.
Аватара пользователя
vdemidov
Гуру
 
Сообщения: 1687
Зарегистрирован: 12 дек 2008, 13:10
Откуда: Киев
Благодарил (а): 191 раз.
Поблагодарили: 157 раз.

Re: Форматы кеша, поддерживаемые программой

Сообщение zed » 18 янв 2012, 12:34

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

Re: Форматы кеша, поддерживаемые программой

Сообщение vdemidov » 18 янв 2012, 12:53

zed писал(а):Типа как в Яндексе - хэш Мортона? Т.е. сначала сделать swap, а потом хэш?

Насколько помню именно так. Только я бы сказал, что сначала хэш, а потом изменение порядка байт.
Чтобы понять программу, вы должны стать одновременно и машиной, и программой.
Аватара пользователя
vdemidov
Гуру
 
Сообщения: 1687
Зарегистрирован: 12 дек 2008, 13:10
Откуда: Киев
Благодарил (а): 191 раз.
Поблагодарили: 157 раз.

Re: Форматы кеша, поддерживаемые программой

Сообщение vasketsov » 18 янв 2012, 13:53

vdemidov писал(а):Тогда близкие тайлы будут в BTree расположены рядом.

Ну, индекс тайла в виде 1012301230123 (bing или nokiamapcreator) тоже обладает таким свойством (заодно и зум в ключ ушёл).
Во "взрослых" СУБД это позволяет использовать partitions по диапазону ключа.
vasketsov
Специалист
 
Сообщения: 901
Зарегистрирован: 25 июл 2009, 21:15
Благодарил (а): 0 раз.
Поблагодарили: 198 раз.

Re: Форматы кеша, поддерживаемые программой

Сообщение DJ VK » 18 янв 2012, 20:28

сегодня одна база отказывается читать тайлы добавленные во второй день . только старые. вместо новых тайлов - промелькивает сообщение с ошибкой страницы DB PAGE NOT FOUND. не исключено что вчера вырубилась программа принудительно при выключении 7й винды. db_recover поможет? как эту утилиту вызывать применительно к нашим базам данных?
Аватара пользователя
DJ VK
Гуру
 
Сообщения: 1468
Зарегистрирован: 16 апр 2009, 13:57
Откуда: 8 км. от МКАД
Благодарил (а): 82 раз.
Поблагодарили: 323 раз.

Re: Форматы кеша, поддерживаемые программой

Сообщение zed » 18 янв 2012, 21:29

Это на какой сборке, с транзакциями? Если нет, то удаляем битый файл, загружаем последнюю ночную сборку и больше таких сообщений быть не должно. Тут это обсуждали: http://sasgis.org/mantis/view.php?id=1114

За это сообщение автора zed поблагодарил:
DJ VK (19 янв 2012, 08:25)
Рейтинг: 5.26%
 
zed
Гуру
 
Сообщения: 2888
Зарегистрирован: 16 авг 2008, 20:21
Благодарил (а): 89 раз.
Поблагодарили: 568 раз.

Re: Форматы кеша, поддерживаемые программой

Сообщение guf » 20 янв 2012, 15:37

Я в теме вопросов новичков начал писать про Беркли (тут) и там меня в эту тему перенаправили. В общем я немного пере конвертировал кеша из традиционного формата в Беркли, хочу по результатам отписаться.
Исходный кеш в файлах на отдельном диске NTFS с размером кластера 512, в количестве порядка 23.5 мил. тайлов. в 4-х гугловских слоях. Покрытия у слоев разные, общая покрываемая территория должна быть порядка 80 мил. тайлов. Использовал ночную сборку номер 4780 от 19 января.
Общее впечатление - понравилось. Размер кеша исходного (на диске + таблица файлов NTFS) составил примерно 122гб, после перегона в Беркли - 103 гб и всего около 1150 файлов и папок для всех слоев. Тоесть почти на 20% экономия места, при том, что диск с конвертированным кешем в NTFS со стандартным размером кластера просто диск на моем компе. Очень это дело радует тоже так у меня на внешнем диске с программой и 80 мил. тайлов кеша сейчас около 50 гб занимает NTFSная таблица файлов и диск системой при подключении может определяться 1-2-3 минуты спокойно совершенно, я привыкать к этому уже начал :)
Самый большой по размеру файл кеша оказался у слоя sat, порядка 830 мб, количество тайлов в нем я к сожалению не знаю точного. На слоях map и both есть файлы с кешем по 200-250 тысяч тайлов, они вроде самые большие по количеству тайлов получились.
По скорости работы стало чуть медленнее работать, хотя может мне показалось и это субъективно. Но сильных отличий от работы с просто файлами я не заметил. Я в эту сборку положил 8 zmp с картами, только для этих 4-х слоев и на выбор чтоб карты брали из кеша на внешнем диске файлового или с локального диска из Беркли. Погонял, попереключал, вроде все здорово.
В процессе конвертации были ошибки. Делал все через SASPlanet.Debug.exe и по этому прикрепляю к посту файлы с отчетом по ошибкам. Проблемы были следующие:
1) конвертировал в несколько потоков, при конвертации процесс доходил до 100% и индикатор оставался висеть а не исчезал. Я дожидался, пока все потоки до конвертируют и закрывал с ошибкой программу целиком. но вообще такое не только с Беркли, такое с прогой часто при конвертации/экспорте/запаковке происходит.
2) несколько раз была ошибка, когда в одном окне подряд по 2-м выделениям конвертирую рядом расположены районы (у которых файлы кеша в Беркли уже пересекаться могут) может выскочить ошибка как и у DJ VK чуть выше была, т.е. DB PAGE NOT FOUND. Несколько раз так было, причем не зависимо от того, делал ли я конвертацию параллельно, в 2 потока или по очереди просто в рамках одной сессии работы программы. После перезапуска программы этот уровень в этом слое мог появиться снова, но не каждый раз. я несколько раз повторял конвертирование этой области (благо там кеша было 20-30 мб всего) и у меня несколько раз получался на выходе файл кеша Беркли сильно отличающегося размера (больше был) и отказывался работать после перезапуска программы вообще.
3) попробовал конвертнуть кеш гугл эйдж z1-8 из темы тут на форуме скаченный обзорный, у меня упорно не хочет конвертировать z1 хотя в других слоях я пробовал, он конвертировал, а в кеше ge z1 физически тоже есть. Не смертельно совершенно :) но просто вроде тоже бага.
Сейчас у меня конвертированный кеш лежит, я пока оставил его просто "для посмотреть". Если что то надо сделать для тестирования, пишите я сделаю. Если тестов не надо - удалю это все и буду ждать релиза с Беркли, чтоб переносить в него свой тайловый кеш.

п.с.
zed писал(а):Кстати, вот тут https://bitbucket.org/zedxxx/berkeleydb лежат утилиты, либы и доки именно той версии, что используется в SAS.

Зашел, но толи я не туда смотрю, толи поменялось что то, но не могу найти эти утилиты. Хотелось попробовать погонять их с файлами БД и посмотреть что из этого получится.
Вложения
4780-SASPlanet.Debug.rar
(9.69 KiB) Скачиваний: 109
Молния - это вспышка от большого фотоаппарата, которым Google фотографирует Землю.

За это сообщение автора guf поблагодарил:
vdemidov (20 янв 2012, 16:12)
Рейтинг: 5.26%
 
guf
Новичок
 
Сообщения: 33
Зарегистрирован: 10 авг 2011, 03:19
Благодарил (а): 15 раз.
Поблагодарили: 6 раз.

Re: Форматы кеша, поддерживаемые программой

Сообщение vdemidov » 20 янв 2012, 16:10

Огромное спасибо за тестирование. Баги лучше описывать в багтрекере, предварительно изучив уже существующие хотелки и проблемы. Так проблема с ошибкой после конвертации уже давно известна и ждет своего часа.
Проблема с параллельным открытием беркли кэша уже тоже описана.
А вот про Z1 я в первый раз слышу. Если не сложно - опишите ее. Хоть и мелочь, а неприятно.
Чтобы понять программу, вы должны стать одновременно и машиной, и программой.
Аватара пользователя
vdemidov
Гуру
 
Сообщения: 1687
Зарегистрирован: 12 дек 2008, 13:10
Откуда: Киев
Благодарил (а): 191 раз.
Поблагодарили: 157 раз.

Пред.След.

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

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

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