SASGIS

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

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

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

Модератор: Tolik

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

Сообщение zed » 31 янв 2012, 20:36

У тайлового кэша это TMapType.TileExportToFile, в Беркли - свой метод, никаким боком с TMapType и TFileStorage не связанный: TThreadExportToBDB.TileExportToRemoteBDB
zed
Гуру
 
Сообщения: 2888
Зарегистрирован: 16 авг 2008, 20:21
Благодарил (а): 89 раз.
Поблагодарили: 568 раз.

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

Сообщение vasketsov » 31 янв 2012, 21:02

zed писал(а):У тайлового кэша это TMapType.TileExportToFile

Ну грустно, чё сказать, если не сказать грубее.
Вместо полноценного интерфейса какие-то затычки и прокладки по коду.
Вызов ForceDirectories снаружи "инкапсулятора" хранилища вообще выглядит как не знаю что, ибо ForceDirectories - это исключительно внутреннее половое горе хранилища, а никак не карты.

За это сообщение автора vasketsov поблагодарил:
Dima2000 (01 апр 2012, 22:27)
Рейтинг: 5.26%
 
vasketsov
Специалист
 
Сообщения: 901
Зарегистрирован: 25 июл 2009, 21:15
Благодарил (а): 0 раз.
Поблагодарили: 198 раз.

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

Сообщение zed » 31 янв 2012, 22:21

guf писал(а):В итого сконвертировал порядка 2.7 миллионов тайлов в 105 файлов базы беркли, прогнал по получившимся файлам db_verify.exe - не найдено ни 1 ошибки. Тоесть все спокойно конвертиться вроде. Только субъективно экспорт в беркли был дольше по времени, на эти 2.7 миллиона (вес ~6 гб) потратил времени чуть ли не треть от того, что потратил до этого на 23 миллиона (вес ~103 гб).

Это всё транзакции, чтоб им неладно. Ситуация получается следующая, при записи тайла в кэш, он сперва записывается в файлик env/log.xxxx, а затем только в *.sdb. Это придаёт кэшу свойство неубиваемости (насколько это возможно) при крахах системы и саса, но раза в 2 замедляет запись в кэш (теоретически, специально замеров не проводил пока). Есть и альтернатива: всё, что находится в папке env можно заставить держать в памяти, но получаем минусы а) одновременно кэшем может пользоваться только одна программа и б) если что-то пойдёт не так и сас скрэшится, то после перезапуска он не сможет восстановить битые sdb до нормального состояния (впрочем, открыть "слегка" побитые файлы он всё же сможет, но db_verify таки будет писать DB_VERIFY_BAD). Т.е. в случае краха, юзеру нужно запускать проверку и восстановление sdb самостоятельно, что для "обычного домашнего пользователя" явно неприемлемо. В ini я наверное вынесу эту настройку, чтобы продвинутые могли включать этот режим на свой страх и риск.

guf писал(а):А еще, бага не бага, фича не фича - не понял, но я программу просто погонял немного, ради интереса вообще разные файлы выделений открывал, у меня есть обзорный на весь мир вот с таким содержимым:
Код: Выделить всё
[HIGHLIGHTING]
zoom=1
PointLon_1=-180
PointLat_1=85,0511287798066
PointLon_2=180
PointLat_2=85,0511287798066
PointLon_3=180
PointLat_3=-85,0511287798066
PointLon_4=-180
PointLat_4=-85,0511287798066
PointLon_5=-180
PointLat_5=85,0511287798066

Так вот эта версия при открытии поругалась на значение координаты больше 85 и вылетела с ошибкой. Этот файл выделения сделан в последней стабильной версии и в других версиях до этого открывался нормально, как минимум я первый раз беркли тестировал по этому выделению тоже экспорт делал спокойно.

Беркли ни при чём, это общая недоработка.

P.S. Да, и таки разобрался, как удалять из sdb линки на файлы лога:
Код: Выделить всё
for /r %%i in (*.sdb) do (
db_load -r lsn %%i >> lsn.log 2>> lsn.err.log
)

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

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

Сообщение zed » 31 янв 2012, 22:26

vasketsov писал(а):
zed писал(а):У тайлового кэша это TMapType.TileExportToFile

Ну грустно, чё сказать, если не сказать грубее.
Вместо полноценного интерфейса какие-то затычки и прокладки по коду.
Вызов ForceDirectories снаружи "инкапсулятора" хранилища вообще выглядит как не знаю что, ибо ForceDirectories - это исключительно внутреннее половое горе хранилища, а никак не карты.

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

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

Сообщение vasketsov » 31 янв 2012, 23:27

zed писал(а):Ну так SaveTile пользоваться по-определению нельзя - он же сохраняет тайл в текущий кэш, а нам надо в произвольную папку его экспортнуть.

Ну так академически строгое решение без лишнего кода - это когда на входе в процу есть 2 хранилища (self+левое), соответственно из одного берём, во второе кладём.
И абсолютно фиолетово, импорт, экспорт, копирование или сепулькирование.
И никаких размножений таких процедур экспорта по типам хранилищ.
vasketsov
Специалист
 
Сообщения: 901
Зарегистрирован: 25 июл 2009, 21:15
Благодарил (а): 0 раз.
Поблагодарили: 198 раз.

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

Сообщение zed » 31 янв 2012, 23:40

vasketsov писал(а):И никаких размножений таких процедур экспорта по типам хранилищ.

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

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

Сообщение vdemidov » 31 янв 2012, 23:54

zed писал(а):
vasketsov писал(а):И никаких размножений таких процедур экспорта по типам хранилищ.

Вот, заодно и причеши, как считаешь правильным :)

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

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

Сообщение vasketsov » 01 фев 2012, 01:24

vdemidov писал(а):Только сначала в соответствующем разделе форума обсудим планы.

Безусловно. Но до этого ещё далеко.
vasketsov
Специалист
 
Сообщения: 901
Зарегистрирован: 25 июл 2009, 21:15
Благодарил (а): 0 раз.
Поблагодарили: 198 раз.

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

Сообщение Tolik » 02 фев 2012, 14:18

Опять печальная новость, уж извиняйте.
Несмотра на транзакции, БД покорраптилась, не открывается вообще.
Все файлы sdb в порядке (verify не находит ошибок), логи есть - два файла log.* и прочие.
Всё пропало при попытке скачать область (на z16), перед этим была включена карта заполнения для этого зума - не было ни одного тайла. Ни один файл и не скачался, программа зависла.

P.S. При попытке переименовать папку с плохим кэшем ничего не получается (хотя САС закрыт). Unlocker не может найти причину и переименовать тоже не может.
P.P.S. Однако, у меня висит 3 процесса SASPlanet :evil: Убивание, конечно, помогает.
То есть при открытии Планеты с этим битым кэшем она сразу виснет, при закрытии окна делает вид, что закрылась, но процесс остаётся.
Win7.

P.P.P.S. Удаление папки env и восстановление sdb этим бат-файлом не помогает:

Код: Выделить всё
for /r %%i in (*.sdb) do (
c:\ut\SASPlanet.Nightly\db_load -r lsn "%%i" >> lsn.log 2>> lsn.err.log
)
Последний раз редактировалось Tolik 02 фев 2012, 22:29, всего редактировалось 1 раз.

За это сообщение автора Tolik поблагодарил:
DJ VK (02 фев 2012, 22:28)
Рейтинг: 5.26%
 
Tolik
Гуру
 
Сообщения: 2604
Зарегистрирован: 28 янв 2011, 10:38
Благодарил (а): 280 раз.
Поблагодарили: 587 раз.

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

Сообщение zed » 02 фев 2012, 15:16

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

Пред.След.

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

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

Сейчас этот форум просматривают: Google [Bot] и гости: 12