Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » SatMap (часть 3)

Модерирует : gyra, Maz

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62

Открыть новую тему     Написать ответ в эту тему

Widok



Moderator-Следопыт
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Предыдущие части темы

 
SatMap
просмотр, скачивание, кэширование, склейка и привязка спутниковых снимков/гибрида/карт/ландшафта с сервиса Google Maps.

 
FAQ
Настоятельно рекомендуется ознакомиться как опытным пользователям, так и всем новичкам.

 
Текущая версия 2.9.9 (multilingual):
История версий
полный комплект v2.9.9 (3.5 Mb)
v2.9.9 (только exe) (2.19 Mb)
SatMap API
 
* - архивы в формате 7-zip
 


Кэши скачанных районов
 


 
Официальный сайт http://satmap.narod.ru

 
Основные функции и возможности (на данный момент):
1. Импорт данных из кэша GoogleMV (версии 2.7+), SatMap, SASPlanet, Global Mapper
2. Формат кэша: 1 кэш = 1 файл
3. До 100 подключаемых кэшей
4. Экспорт в кэш формата GoogleMV, SatMap, SASPLanet, sqlitedb (RMaps, Locus Map, OruxMaps)
5. Поиск, сохранение и переход по введенным координатам/названию места
6. Импорт/экспорт путевых точек и треков в форматах OziExplorer (*.wpt, *.plt), *.gpx, *.kml
7. Измерение расстояния
8. Склейка/экспорт данных в графические форматы JPG, PNG, TIFF, ECW, JPEG2000, MrSID
9. Геопривязка в форматах Ozi Explorer, MapInfo, world-файл, TomTom overlay
10. Закачивание данных с сервиса Google Maps без бана
11. Показ высоты по данным SRTM
12. API для управления SatMap
13. Навигационный режим работы с GPS-приемником
14. Работа с базой данных географических названий объектов GNS
15. Пользовательские инструменты
16. Закачка тайлов только по треку (выбираемая ширина коридора в метрах или тайлах)
 
Планируется:
1. Работа с форматом kmz
2. Возможность скачивать данные с других сервисов
3. и многое другое......
 
Программа распространяется бесплатно. Используйте ее на свой страх и риск.
 
Помочь проекту
WebMoney:
R185452921094
Z336558313529
Яндекс.Деньги:
4100166097013

Всего записей: 24190 | Зарегистр. 07-04-2002 | Отправлено: 11:57 02-08-2010 | Исправлено: relictus, 10:40 24-08-2022
relictus

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
karst

Цитата:
нынешнее просто не работает

Почему у меня и у nemo3001 работает?

Цитата:
Это проблематично или не обращать внимания?

Не знаю, как это у тебя получилось, но ошибка говорит о том, что в БД пытаются запихнуть уже имеющийся там тайл. Небось ручками правил файлы закачки, внес дубликаты?

Всего записей: 3764 | Зарегистр. 19-04-2005 | Отправлено: 19:48 05-12-2017
karst

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
relictus

Цитата:
Не знаю, как это у тебя получилось, но ошибка говорит о том, что в БД пытаются запихнуть уже имеющийся там тайл. Небось ручками правил файлы закачки, внес дубликаты?

 
И ножками!  
Но вообще то типа того
 
Дело в том, что поскольку SatMap выпадает в осадок с сообщением о нехватке памяти (независимо от реального наличия памяти) при попытке скачать участок выше 8-го уровня от уровня экрана, приходится идти на ухищрения при создании задания на закачку на уровнях выше 16-го.
Создаю списки для нескольких участков, соединяю их в один при помощи bvsTextCombi и затем им же режу построчно на равные части нужного размера. Посколько участки для закачки выделяются  с небольшим перекрытием, некоторое дублирование неизбежно. Но пока работала SatMap мульти проблем не возникало. А вот в новой утилите, с ее одноразовыми кешами, вылазят ошибки.

Всего записей: 347 | Зарегистр. 05-07-2008 | Отправлено: 13:15 07-12-2017 | Исправлено: karst, 13:17 07-12-2017
relictus

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
karst

Цитата:
Дело в том, что поскольку SatMap выпадает в осадок с сообщением о нехватке памяти (независимо от реального наличия памяти) при попытке скачать участок выше 8-го уровня от уровня экрана, приходится идти на ухищрения при создании задания на закачку на уровнях выше 16-го.

Ноль инфы. Как правильно составлять баг-репорты
 

Цитата:
вот в новой утилите, ..., вылазят ошибки.  

Еще раз. Утилита писалась для себя, защит от дурака там минимум. Я пользуюсь автоматически созданными списками закачек, проблем нет.

Всего записей: 3764 | Зарегистр. 19-04-2005 | Отправлено: 13:24 07-12-2017
nemo3001

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
karst

Цитата:
Посколько участки для закачки выделяются  с небольшим перекрытием, некоторое дублирование неизбежно

Программа bvsTextCombi (http://vizbe.net.ru/myprogram.html#bvsTextCombi), которой ты пользуешься, умеет удалять из текстового файла повторяющиеся строки (вкладка DupDelet) - указываешь входной файл с повторяющимися строками и имя выходного файла, куда запишутся только уникальные строки без дубликатов, отмечаешь "Original", "ReWrite" и нажимаешь Go.
 
Так что программой bvsTextCombi:
- соединяем перекрывающиеся списки загрузки в один текстовый файл на вкладке FileGlue,  
- удаляем дубликаты строк на вкладке DupDelet,  
- и делим на нужные части получившийся текстовый файл на вкладке FileSplitter.
 
Тогда видимо при загрузке тайлов не будет появляться сообщение о нарушении уникальности записей в базе данных ESQLiteError: UNIQUE constraint failed.

Всего записей: 235 | Зарегистр. 06-05-2010 | Отправлено: 16:50 07-12-2017 | Исправлено: nemo3001, 05:18 08-12-2017
karst

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
relictus

Цитата:
Ноль инфы.

Баги при попытке закачки или создании списка более чем на восемь уровней выше уровня экрана присущи SatMap от рождения. Когда-то закачка шла полосами, теперь (уже наверное года 3-4) просто выходит информация о нехватке памяти.  
Установи экран на 9-м уровне и попробуй создать список закачки для всего экрана для 18-го или 19-го уровней и получишь всю информацию.
Что касается новой утилиты, то для неспутниковых карт она вполне сойдет и вкладывать тебе в нее силы наверное действительно нет смысла. Эти мелочи не особо мешают. Но вот включать это дацзыбао в новую суперверсию SatMap в таком виде будет как-то странно.
 
nemo3001
Спасибо. Я в свое время скачал ее как раз для этих целей (не для SatMap), когда надоело делать эту операцию в Oracle В SatMap же часто использую DupDelet для удаления дупликатов в kml файлах - при случайном сохранении файла со старым именем, точки дописываются. Правда для этого приходится в UE избавляться от "ступенчатого" представления SatMap-ного кода kml.
 
Так что как  работает DupDelet я знаю. Но в варианте со склейкой списков закачки SatMap овчинка выделки не стоит.

Всего записей: 347 | Зарегистр. 05-07-2008 | Отправлено: 10:39 08-12-2017
relictus

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
karst

Цитата:
Установи экран на 9-м уровне и попробуй создать список закачки для всего экрана для 18-го или 19-го уровней и получишь всю информацию.  

 
Установил. Создал:

 
Вопросы?

Всего записей: 3764 | Зарегистр. 19-04-2005 | Отправлено: 11:18 08-12-2017
karst

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
relictus
А какой был размер подключенных кэшей?
У меня 1,7 TB - возможно проблема с этим.
Во всяком случае от компа это не зависит.  
У меня SatMap на внешнем диске и на всех компах одна и та же проблема.

Всего записей: 347 | Зарегистр. 05-07-2008 | Отправлено: 15:13 08-12-2017
relictus

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
karst

Цитата:
А какой был размер подключенных кэшей?
У меня 1,7 TB

 
У меня "жалкие" 3.5 GB.

Всего записей: 3764 | Зарегистр. 19-04-2005 | Отправлено: 15:24 08-12-2017
karst

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
relictus
Может быть поэтому тоже.
Хотя на одном из компов у меня SatMap локальна и там тоже  "жалкие" 150 GB
Попробую завтра поэксперементировать с пустыми кэшами.
Как раз гуг кажется карты перекрасил - чтобы мозаики не было можно будет перекачать все.

Всего записей: 347 | Зарегистр. 05-07-2008 | Отправлено: 17:06 08-12-2017
karst

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
relictus
Рассмотрел еще раз твой скриншот и понял, что ты просто не дошел два шага до засады!
 
Повторил с отключенными большими кэшами.  
Закачивал 18-й уровень с 8-го - комп долго думал, затем:
1-й шаг - появление окошка "Список закачки" который отражен у тебя на скриншоте - все в порядке!
2-й шаг - открытие окна для сохранения списка -  - все в порядке!
3-й шаг - Жму "Save" в открытом окне сохранения - и вот тут вылазит окошко с белым кретом в красном кружке и сообщением "Out of memory." В папке сохдается пустой файл списка.
 
Скриншоты высылать смысла не вижу так как все стандартно

Всего записей: 347 | Зарегистр. 05-07-2008 | Отправлено: 11:06 09-12-2017 | Исправлено: karst, 11:12 09-12-2017
relictus

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
karst

Цитата:
Закачивал 18-й уровень с 8-го - комп долго думал, затем:
1-й шаг - появление окошка "Список закачки" который отражен у тебя на скриншоте - все в порядке!
2-й шаг - открытие окна для сохранения списка -  - все в порядке!
3-й шаг - Жму "Save" в открытом окне сохранения - и вот тут вылазит окошко с белым кретом в красном кружке и сообщением "Out of memory." В папке сохдается пустой файл списка.  

Повторил по твоему. Закачал 18-й уровень с 8-го - комп думал не больше 10 мин (отходил как раз). Все шаги прошел без проблем, см. небольшое видео: https://yadi.sk/i/Vjon6N0X3QTU9Z
Еще какие вопросы?

Всего записей: 3764 | Зарегистр. 19-04-2005 | Отправлено: 14:12 09-12-2017
nemo3001

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
karst
Повторил твои действия: в версии SatMap 2.8.7 установил 8 уровень, прямоугольным выделением выбрал небольшой участок, примерно в 1/20 тайла 8-го уровня, и составил файлы для загрузки всех слоев на 18 уровне. Получился текстовый файл в 220 тысяч строк. Программа отработала мгновенно и ошибок не выдала.
Затем я выделил при тех же условиях участок примерно в 1 тайл 8-го уровня, на примерно 4,3 млн тайлов 18 уровня и тоже, как ты, получил ошибку программы "out of memory" при попытке составить список загрузки.
 
Насчет ошибки "out of memory" при попытке генерации слишком большого списка я уже писал на форуме этой программы 31 мая 2010 года (http://forum.ru-board.com/topic.cgi?forum=5&topic=30026&start=1780), и предлагал тогда сразу записывать создаваемый список загрузки в текстовый файл, что позволило бы не держать весь список в оперативной памяти.
 
Сейчас я думаю, что вместо текстового файла этот список можно было бы записывать в процессе его генерации во временный кэш той же структуры, что и кэш SatMap (заполняя там все поля, кроме последнего поля с тайлом), а уже из этого "кэша-списка" можно было бы сделать списки для загрузки, как это сейчас уже умеет делать SatMap v2.9.  
Ведь свои рабочие кэши в десятки и сотни миллионов строк программа SatMap умеет заполнять без проблем с памятью и хорошо с ними работает.
 
Такие кэши-списки я уже много раз использовал для своих целей (сделал в Excel свой такой модуль Список->Кэш). Получилось компактное и довольное удобное временное хранилище для списков загрузки в формате кэша SatMap, куда я собирал несколько составленных списков загрузки, а в этом созданном кэше-списке повторяющиеся строки в добавляемых списках загрузки сами отсеивались из-за наличия в базе данных уникального индекса по полям уровень-слой-координаты тайла. Тут же я мог еще до начала загрузки оценить в программе SatMap схему заполнения уровней этими списками, подключив к программе этот кэш-список, мог при необходимости добавить в него еще списки загрузки, а уже потом создавал из этого кэша-списка итоговые текстовые файлы списков загрузки (с помощью модуля в Excel Кэш->Список), по которым и загружал тайлы из интернета.
 
Запись списка загрузки в процессе его генерации во временный кэш, скорее всего, решит проблему генерации огромных списков загрузки без появления ошибки "out of memory", но это, наверное, потребует значительных изменений в программе создания списков загрузки.
 
Так что пока, видимо, просто нужно области выделения территории для загрузки 18 уровня увеличения с карты 8 уровня делать поменьше размером, чтобы ошибка "out of memory" не успевала появиться.  
Потом соединять получившиеся списки загрузки, удалять в них дубликаты на перекрывающихся участках списков, и делить получившийся большой уникальный список на части для начала загрузки тайлов, как мы это уже здесь обсуждали, упоминая вспомогательную программу bvsTextCombi.

Всего записей: 235 | Зарегистр. 06-05-2010 | Отправлено: 16:55 09-12-2017 | Исправлено: nemo3001, 18:44 09-12-2017
karst

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
relictus
Ну ты и хитрый!
Ты зачем установил разбивку файлов на 999 999 строк?
Попробывал бы без разбивки - получил бы бан!
 
В общем понятно - файл закачки на уровне +9 к экрану получается слишком большим.
Установил ограничение 200 000 и все нормально.
 
Кстати стоит ввести ограничение 999 999 (или вообще 500000)  на уровне программы. Иначе получаются файлы больше 100 MB и возникают проблемы с памятью, независимо от системы и физической памяти.
 
Добавлено:
nemo3001
Спасибо, но все оказалось гораздо проще.
Как говорится: "следите за руками".
После просмотра кино Реликтуса и повторного просмотра скрина, понял где подвох!
 

Всего записей: 347 | Зарегистр. 05-07-2008 | Отправлено: 17:57 09-12-2017 | Исправлено: karst, 18:04 09-12-2017
relictus

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
И как мне воспроизвести эту ошибку? Мое выделение из видео было на почти 30 млн тайлов, сформировалось 30 файлов по 999999 строк и... нет ошибки!
 

Цитата:
Сейчас я думаю, что вместо текстового файла этот список можно было бы записывать в процессе его генерации во временный кэш той же структуры, что и кэш SatMap

Собственно, почти так сейчас и происходит. Глобальный список закачки формируется не в ОЗУ, а в виде временноей БД, из которой уже формируются текстовые списки для записи. Может стоит вообще отказаться от текста? Мне оно, например, давно не нужно, но karst же первый взвоет - ручками-то уже не так легко будет там что изменять...

Всего записей: 3764 | Зарегистр. 19-04-2005 | Отправлено: 18:03 09-12-2017
karst

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
relictus

Цитата:
И как мне воспроизвести эту ошибку? Мое выделение из видео было на почти 30 млн тайлов

Это какой-же у тебя размер экрана?!
 
Про остальное мой пост выше твоего.

Всего записей: 347 | Зарегистр. 05-07-2008 | Отправлено: 18:06 09-12-2017 | Исправлено: karst, 18:07 09-12-2017
relictus

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
karst

Цитата:
Ну ты и хитрый!
Ты зачем установил разбивку файлов на 999 999 строк?  

Я хитрый, ага. И где в твоих шагах для воспроизведения написано, что не надо разбивать список? Для кого была ссылка на "Как правильно составлять баг-репорты"?
 
Добавлено:

Цитата:
Это какой-же у тебя размер экрана?!

Размер монитора 27", а разрешение экрана 1920*1080

Всего записей: 3764 | Зарегистр. 19-04-2005 | Отправлено: 18:06 09-12-2017
karst

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
relictus
Если разбивка не была указана, значит ее не было!
Ну да ладно. Теперь по крайне мере проблему легко пофиксить, введя принудительную нарезку при превышении критического количества строк в файле закачки.
 
Добавлено:
relictus

Цитата:
Размер монитора 27", а разрешение экрана 1920*1080

И как ты  30 млн тайлов получил?  
 
Добавлено:
relictus
Кстати.
Такая же проблема возникает и при экспорте +9 через выделение и вот ее как раз простой разбивкой не решить.
Тут могут пригодиться идеи nemo3001.

Всего записей: 347 | Зарегистр. 05-07-2008 | Отправлено: 18:10 09-12-2017
nemo3001

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
relictus
karst
Я тоже повторил свой описанный выше тест, составив список на 4,3 млн тайлов и установив разделение списка на части в 200 тыс тайлов. Программа отработала без ошибок.
Видимо, ошибка "out of memory" появляется при попытке выборки из временной БД слишком длинного списка, если пользователю не нужно разделять этот список загрузки на части.
 
Даже если пользователь не установил разделение списка на части и ему не нужно такое действие, решение проблемы есть и в этом случае. Достаточно при составления списков загрузки из временной БД выбирать строки частями, например по 100 тыс строк, и дописывать их в один текстовый файл списка загрузки.
 
Ну, а пока программа так не делает, остается рекомендация пользователю: обязательно делить составляемые списки загрузки на части по 100, 500 или 999 тыс строк, даже если это ему не нужно. Зато так программа сможет без ошибки составить список любого размера.
 
Добавлено:
karst

Цитата:
И как ты  30 млн тайлов получил?

Это как раз совсем несложно сделать и без большого разрешения экрана
Например, на 1 уровне увеличения можно выделить всю Землю и попытаться составить список загрузки для 13 уровня и для всех слоев. Список получится сразу в 67 млн тайлов.

Всего записей: 235 | Зарегистр. 06-05-2010 | Отправлено: 18:25 09-12-2017 | Исправлено: nemo3001, 18:37 09-12-2017
karst

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
nemo3001

Цитата:
Например, на 1 уровне увеличения можно выделить всю Землю и попытаться составить список загрузки для 13 уровня и для всех слое

На +12 от 5-го будет уже больше , но речь то шла только о +9.
 
Но меня сейчас больше интересует проблема экспорта по выделению, где список закачки виртуальный и пользователю его не разделить.
 
Попробуй выделить экран и экспортировать на +9 уровней. Если кэш полный вылет гарантирован.
Я на 20-м уровне мог экспортировать только достаточно локальную территорию, а вот всю Грецию или Турцию никак.

Всего записей: 347 | Зарегистр. 05-07-2008 | Отправлено: 18:38 09-12-2017 | Исправлено: karst, 18:44 09-12-2017
nemo3001

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
karst

Цитата:
Если кэш полный вылет гарантирован

Интересно, сколько тайлов должно быть в таком кэше, чтобы при экспорте из него по выделению, охватывающему все содержимое этого кэша, программа выдала ошибку?

Всего записей: 235 | Зарегистр. 06-05-2010 | Отправлено: 18:47 09-12-2017 | Исправлено: nemo3001, 18:49 09-12-2017
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62

Компьютерный форум Ru.Board » Компьютеры » Программы » SatMap (часть 3)


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru