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

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

Модератор: Tolik

zOn
Советчик
Сообщения: 254
Зарегистрирован: 03 фев 2009, 01:05
Благодарил (а): 25 раз
Поблагодарили: 19 раз

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

Сообщение zOn »

vdemidov писал(а):Все примерно так и будет. Только у меня будет собираться по одному тайлу из 4-х (в самом худшем случае) или из 2-х тайлов (сейчас, во всех проекциях так и будет).

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

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

Сообщение vdemidov »

zOn писал(а):надо бы как то рассчитать машинозатраты на операцию с 6в2 и на 4в1, что то мне подсказывает, что КПД у 6в2 будет выше.

Считайте и реализовывайте в своей программе. А я описал то как сейчас реализована работа SAS.Планеты при выводе слоев в неродной проекции и то как будет работать (если когда-нибудь будет) экспорт с изменением проекции. Со временем возможно даже появится подходящий тип плагинов экспорта и вы сможете реализовать свои наработки для использования в SAS.Планете.
Чтобы понять программу, вы должны стать одновременно и машиной, и программой.
kvazimoda
Новичок
Сообщения: 5
Зарегистрирован: 09 фев 2009, 00:18

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

Сообщение kvazimoda »

svp писал(а):"Теперь он поддерживает кеши tsqr, ES, SAS.Планета, OziExplorer в обе стороны"

Для непонятливых а где находится кеш OziExplorer у меня версия 3.95.4m :?:
А вообще я ищу как перекинуть растровые карты с привязками с Ozi в - SAS.Планета - тайлы это касается Генштаба и новых отсканированых карт тыкныте в нужное направление.
Как вязать в Ozi разобрался, хочу новые карты хотя бы сделать подстановку с заменой (старые на новые). Я уже проворачивал в SAS подмену тайлов с Гугля на DG и хотя они зрительно сильно отличаются
но карто-географически отображается точно
zOn
Советчик
Сообщения: 254
Зарегистрирован: 03 фев 2009, 01:05
Благодарил (а): 25 раз
Поблагодарили: 19 раз

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

Сообщение zOn »

kvazimoda писал(а):Для непонятливых а где находится кеш OziExplorer у меня версия 3.95.4m :?:

\OziExplorer\CacheMaps
Аватара пользователя
svp
Советчик
Сообщения: 447
Зарегистрирован: 26 авг 2008, 11:14
Откуда: Белгород
Благодарил (а): 2 раза
Поблагодарили: 7 раз
Контактная информация:

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

Сообщение svp »

kvazimoda писал(а):я ищу как перекинуть растровые карты с привязками с Ozi в - SAS.Планета - тайлы это касается Генштаба и новых отсканированых карт тыкныте в нужное направление.

К моему конвертеру эта задача отношения не имеет никакого. Вам нужна нарезка большой растровой карты на тайлы с формированием файла привязки для Планеты. Конвертер же умеет только тайлы переименовывать. Где-то тут на форуме я когда-то давно вопросы нарезки встречал. Ищите, или, может быть, кто-то из гисовцев Вам подскажет.
Аватара пользователя
Shoorick
Соображающий
Сообщения: 64
Зарегистрирован: 15 окт 2010, 21:29
Откуда: Минск
Благодарил (а): 4 раза
Поблагодарили: 4 раза
Контактная информация:

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

Сообщение Shoorick »

svp, пробовал перебросить кэш из формата "sas" в "es", файлы копируются, но структура каталогов не воссоздается. В обратную сторону нормально.
Для бешеной собаки семь миль не круг
Аватара пользователя
svp
Советчик
Сообщения: 447
Зарегистрирован: 26 авг 2008, 11:14
Откуда: Белгород
Благодарил (а): 2 раза
Поблагодарили: 7 раз
Контактная информация:

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

Сообщение svp »

Shoorick писал(а):svp, пробовал перебросить кэш из формата "sas" в "es", файлы копируются, но структура каталогов не воссоздается. В обратную сторону нормально.

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

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

Сообщение zed »

О, я тут вспомнил, что у нас же уже есть конвертер кэша сас.
svp, а как насчёт добавить ещё один ключик sdb в ваш конвертер и включить тем самым конвертацию в/из кэша беркли?
Аватара пользователя
svp
Советчик
Сообщения: 447
Зарегистрирован: 26 авг 2008, 11:14
Откуда: Белгород
Благодарил (а): 2 раза
Поблагодарили: 7 раз
Контактная информация:

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

Сообщение svp »

zed писал(а):О, я тут вспомнил, что у нас же уже есть конвертер кэша сас.
svp, а как насчёт добавить ещё один ключик sdb в ваш конвертер и включить тем самым конвертацию в/из кэша беркли?

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

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

Сообщение zed »

svp писал(а):Также нужно прояснить какие проги его юзают и чем потестировать.

Так SAS.Planet же! :)
На данный момент структура такая:
Key:

Код: Выделить всё

TBDBKey = packed record
    TileX: Cardinal;
    TileY: Cardinal;
  end;

Value:

Код: Выделить всё

TBDBData = record
    BDBRecVer : Byte;
    TileSize  : Cardinal;
    TileDate  : TDateTime;
    TileVer   : PWideChar;
    TileMIME  : PWideChar;
    TileDefExt: PWideChar;
    TileBody  : Pointer;
  end;

Собственно, я уже добавил копирование в кэш Беркли, но столкнулся с проблемой - если выйти из конвертера до окончания процесса, то не вызывается деструктор объектов БД (т.е. как будто нас прибили по Ctr+Alt+Del) и соответственно БД может оказаться битой. Видимо, нужно задействовать транзакции, но я с ними пока не разобрался (там ещё какие-то энвайроменты надо юзать, чтоб включить транзакционность).

Модифицированные исходники (сделал локальный репо, чтобы было видно что я там наизменял), и exe-ха (в папке bin, вместе с беркелевской либой) в аттаче.
В папке include\BerkeleyDB лежит db_h.pas (переведённый заголовочник), и мои юниты с классами обёртками для работы с БД.
Ответить

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