SASGIS

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

выдернуь тайлики из RMaps sqlite базы

Обсуждение около-картографических и прочих программ и тем, напрямую не связанных с SAS.Планета

Модератор: Tolik

выдернуь тайлики из RMaps sqlite базы

Сообщение pfg21 » 09 ноя 2016, 15:26

Есть выгрузка в RMaps (Sqlite3), Кеш саспланеты потерян. Надо перегнать тайлы из RMaps в кеш саспланеты, хотя бы тот же GMT
Я понимаю что, это десяток строчек в скрипте, который подключит sqlite, просмотрит tiles, для каждой строчки blob из image запишет в отдельный файл z/x/y...
но не програмист я, напишу чтото работающее через пару дней методом ненаучного тыкания.
Мож у кого есть что подобное ??
pfg21
Новичок
 
Сообщения: 5
Зарегистрирован: 06 мар 2016, 01:56
Благодарил (а): 1 раз.
Поблагодарили: 2 раз.

Re: выдернуь тайлики из RMaps sqlite базы

Сообщение garl » 09 ноя 2016, 23:09

метода такова:
каким либо SQLIte просмотрщиком сделать экспорт в папку
затем банальным zmp скачать этот кэш из папки в кэш для САС.
Russian NDN Team
QIP NightlyTester
Аватара пользователя
garl
Гуру
 
Сообщения: 1625
Зарегистрирован: 16 июл 2008, 14:40
Откуда: Краснодар, Кубанская столица.
Благодарил (а): 97 раз.
Поблагодарили: 273 раз.

Re: выдернуь тайлики из RMaps sqlite базы

Сообщение pfg21 » 10 ноя 2016, 10:26

мнэээ, я чего-то видать недопонимаю. но экспорт, из тех прог что пробовал, делается в формат текстовой таблицы (csv json xml) c ественной потерей блобов.
есть чтото другое ??
pfg21
Новичок
 
Сообщения: 5
Зарегистрирован: 06 мар 2016, 01:56
Благодарил (а): 1 раз.
Поблагодарили: 2 раз.

Re: выдернуь тайлики из RMaps sqlite базы

Сообщение garl » 10 ноя 2016, 17:16

так надо делать экспорт блоб в файлы.
затем банально эти файлы переименовывать в *.jpg например
уже не помню чем делал но была какая то программулина которая в триале давала по 1000 полей за раз экспортировать.
Russian NDN Team
QIP NightlyTester
Аватара пользователя
garl
Гуру
 
Сообщения: 1625
Зарегистрирован: 16 июл 2008, 14:40
Откуда: Краснодар, Кубанская столица.
Благодарил (а): 97 раз.
Поблагодарили: 273 раз.

Re: выдернуь тайлики из RMaps sqlite базы

Сообщение pfg21 » 10 ноя 2016, 18:07

наверняка чтонить да есть.
в общем нарисовал на питоне, заодно наконец-то до него добрался. скрипт простенький, ибо запускаться планируется один раз :). настроек: имя базы и расширение картинок. запускал на pythone 3.4.4 (все нужные модули в комплекте поставки).
скрытый текст: показать
Код: Выделить всё
import sqlite3, os
extension = '.jpg'

dbase = sqlite3.connect('ergaki_aradan.sqlitedb')   # open sqlitedb
cur = dbase.cursor()         # create cursor
cur.execute('SELECT * FROM tiles')   # goto tiles

row = cur.fetchone()   #read 1st row

while row != None:   #loop all row

# make subdir
   file_dir = 'tile_gmt\\z' + format(17-row[2])+ '\\' +format(row[1]) + '\\'
   if not os.path.exists (file_dir):   os.makedirs (file_dir)

# save image to file
   file_out = open ( file_dir+format(row[0])+extension , 'wb' )
   file_out.write(row[4]);
   file_out.close()

   row = cur.fetchone()   # read next row
# end while
dbase.close()

да нашел в завалах ергаки-арадан, сейчас в облако выложу.

За это сообщение автора pfg21 поблагодарил:
VadimK60 (25 окт 2018, 01:32)
Рейтинг: 5.26%
 
pfg21
Новичок
 
Сообщения: 5
Зарегистрирован: 06 мар 2016, 01:56
Благодарил (а): 1 раз.
Поблагодарили: 2 раз.

Re: выдернуь тайлики из RMaps sqlite базы

Сообщение iottor » 11 фев 2017, 04:32

pfg21 писал(а):наверняка чтонить да есть.
в общем нарисовал на питоне, заодно наконец-то до него добрался. скрипт простенький, ибо запускаться планируется один раз :). настроек: имя базы и расширение картинок. запускал на pythone 3.4.4 (все нужные модули в комплекте поставки).
скрытый текст: показать
Код: Выделить всё
import sqlite3, os
extension = '.jpg'

dbase = sqlite3.connect('ergaki_aradan.sqlitedb')   # open sqlitedb
cur = dbase.cursor()         # create cursor
cur.execute('SELECT * FROM tiles')   # goto tiles

row = cur.fetchone()   #read 1st row

while row != None:   #loop all row

# make subdir
   file_dir = 'tile_gmt\\z' + format(17-row[2])+ '\\' +format(row[1]) + '\\'
   if not os.path.exists (file_dir):   os.makedirs (file_dir)

# save image to file
   file_out = open ( file_dir+format(row[0])+extension , 'wb' )
   file_out.write(row[4]);
   file_out.close()

   row = cur.fetchone()   # read next row
# end while
dbase.close()

да нашел в завалах ергаки-арадан, сейчас в облако выложу.



Приветствую всех !!

А можно чуть подробнее: что куда класть, что где прописывать, а то попытался запустить но не пошло. Не знаю Питон :?
iottor
Новичок
 
Сообщения: 1
Зарегистрирован: 11 фев 2017, 02:11
Благодарил (а): 1 раз.
Поблагодарили: 0 раз.

Re: выдернуь тайлики из RMaps sqlite базы

Сообщение pfg21 » 21 мар 2017, 16:49

э-э-э, я думал и так все понятно из скрипта.

настройки все в нем (ломало их куда либо выносить скрипт практически одноразовой работы).
ну таки вот

1. Качаем питон по ссылке, инсталлируем в систему.
2. Берем код из спойлера и записываем в файлик script.py (или иной с расширением .py чтобы его операционка с питоном запускала)
3. Рядом кладем файлик с RMaps.sqlitedb картой (базу и файлик лучше положить в отдельную пустую папку, удобней будет)
4. Имя базы прописываем в строчке dbase = sqlite3.connect('ergaki_aradan.sqlitedb') или переименовываем базу в это имя
5. в строчке extension = ***** прописываем раcширение которое будет дописываться получаемым файлам '.jpg' для JPEG '.png' для PNG '.gif' для GIF и т.д.
просто в базе у тайлов отсутвует расширение, а в виде отдельных файликов оно как бы нужно. эта строчка символов просто дописывается в конец имени файла.
6. запускаем скрипт
7. скрипт создает подпапку tile_gmt и внутрь записывает все найденные в базе тайлики.
8. После окончания работы скрипта можно заглянуть внутрь tile_gmt и посмотреть правильное ли расширение взято для картинок.
9. Переименовываем папку tile_gmt в нужное имя, и перемещаем ее в кеш Globallmapper тайликов, он обычно лежит в папке cache_gmt\ внутри установленной саспланеты.

как-то так.

За это сообщение автора pfg21 поблагодарил:
iottor (21 мар 2017, 19:41)
Рейтинг: 5.26%
 
pfg21
Новичок
 
Сообщения: 5
Зарегистрирован: 06 мар 2016, 01:56
Благодарил (а): 1 раз.
Поблагодарили: 2 раз.


Вернуться в Болталка

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

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