ReefMaster

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

Модератор: Tolik

Re: ReefMaster

Сообщение Riverplate » 08 ноя 2018, 01:14

Обсуждалось на русфишинге где-то весной 2017 г., когда и появилась версия рифа 2.0. Там помнится и скрины выкладывались с красивым затенением глубины "аля 3D", говорилось и об одновременном импорте карты глубин вместе со спутниковой подложкой - я у пары форумчан для знакомства с mbtiles попросил скинуть мне куски карт. Возможно, что можно и отдельно карту глубин импортировать без спутниковой подложки - не знаю. Однако думаю, что растровая карта глубин в формате mbtiles будет уже много весить, и как-бы Альпин не стал бы с ней подтормаживать...
Riverplate
Новичок
 
Сообщения: 6
Зарегистрирован: 27 апр 2016, 21:16
Благодарил (а): 0 раз.
Поблагодарили: 1 раз.

Re: ReefMaster

Сообщение VadimK60 » 10 янв 2019, 13:54

По теме ReefMaster'а :)
Недавно выложил самописный конвертер векторных карт ReefMaster .KMZ -> Garmin .IMG

Помогает получить на старых гарминовских приборах пёструю карту (при помощи TYP-файла), как в создаваемом рифмастером файле KMZ для GoogleEarth.
Изображение

Возможно, в ближайшее время добавлю функционал для работы с Garmin MapSource Product Creator...
VadimK60
Новичок
 
Сообщения: 16
Зарегистрирован: 24 окт 2018, 23:18
Благодарил (а): 4 раз.
Поблагодарили: 0 раз.

Re: ReefMaster

Сообщение VadimK60 » 27 мар 2019, 20:41

В продолжение старой темы.

Возникла необходимость перенести растровые карты глубин из ReefMaster'а в Garmin посредством SAS.planet
Первый этап (ReefMaster .mbtiles -> SAS.planet) прошёл успешно (я его уже описывал в этой теме).

Со вторым этапом (SAS.planet -> Garmin .IMG) возникло 2 проблемы:
1) Карты ReefMaster не видны в процессе экспорта в гарминовский IMG
2) В процессе экспорта нельзя склеивать разные карты/слои. Например, наложить рифмастеровские карты на спутник гугла.

Похоже, первая проблема связана с тем, что на экспорт не предлагаются слои, только карты!
Решение: нужно временно в файле настроек карты/слоя params.txt (например, Maps\sas.maps\ReefMaster.zmp\params.txt) поменять параметр asLayer=1 на asLayer=0

Для решения второй проблемы пришлось писать собственную прогу и задействовать утилиту Composite из набора инструментов для работы с изображениями ImageMagick

TileCombiner.png
Утилита для накладывания одного слоя на другой


Программа при помощи утилиты последовательно накладывает тайлы первого слоя (ReefMaster) на соответствующие тайлы второго слоя (Google Sat).
Результирующий тайл замещает тайл второго слоя. Поэтому рекомедуется предварительно бакапить КЭШ второго слоя!

Как пользоваться программой:

Создать первый слой (Reefmaster -- подробности в этом сообщении).

В SAS.planet кэшировать второй слой:
1) Выбрать карту, например, "Спутник (Google)"
2) Выделить нужный участок карты.
3) Скачать/закэшировать этот участок ("Операции с выделенной областью" > Вкладка "Загрузить"). Масштабы выбрать вплоть до 20 зума.

Скачать архив с программой TileCombiner.7z.
Распаковать содержимое архива в папку программы SAS.planet.
Запустить TileCombiner.exe
(при необходимости прописать все пути до папок, содержащих кэш карт, и путь до файла Composite.exe)
Нажать кнопку [START].
Программа создаст пакетный файл composite.exe.bat и запустит его.
В резутьтате ВСЕ тайлы первого слоя будут наложены на соответствующие тайлы второго слоя !!!

Далее в SAS.planet можно выделять нужный участок карты и экспортировать его в нужный формат.

 на спутник.jpg
пример наложения кастомного слоя ReefMaster на Google Sat


Естественно, склеивать можно не только упомянутые карты, но и другие.
Главное:
1) чтобы тайлы первого слоя были в формате .PNG (с прозрачностью).
2) чтобы параметры projection= , sradiusa= , sradiusb= из файлов params.txt обоих слоёв совпадали!
3) не забыть скэшировать ОБА слоя до нужного зума.

Например, можно попробовать наложить Росреестр на спутник Bing'а.
---
Скачать TileCombiner.7z (4Mb)
VadimK60
Новичок
 
Сообщения: 16
Зарегистрирован: 24 окт 2018, 23:18
Благодарил (а): 4 раз.
Поблагодарили: 0 раз.

Re: ReefMaster

Сообщение vdemidov » 27 мар 2019, 22:50

Мда, чего только не сделают люди, что бы не разбираться в чужом коде. Вместо того что бы добавить такую возможность или хотя бы воспользоваться копированием кэша с наложением гибрида вы городите кучу костылей с отдельной утилитой :mrgreen:
Чтобы понять программу, вы должны стать одновременно и машиной, и программой.

За это сообщение автора vdemidov поблагодарил:
VadimK60 (28 мар 2019, 01:29)
Аватара пользователя
vdemidov
Гуру
 
Сообщения: 1685
Зарегистрирован: 12 дек 2008, 13:10
Откуда: Киев
Благодарил (а): 191 раз.
Поблагодарили: 135 раз.

Re: ReefMaster

Сообщение VadimK60 » 28 мар 2019, 01:35

vdemidov писал(а):Вместо того что бы добавить такую возможность или хотя бы воспользоваться копированием кэша с наложением гибрида


Как сохранить слой в кэш

Спасибо за подсказку! Действительно, похоже я изобрёл очередной велосипед. :)
Ну, хоть в программировании попрактиковался немного... :D
VadimK60
Новичок
 
Сообщения: 16
Зарегистрирован: 24 окт 2018, 23:18
Благодарил (а): 4 раз.
Поблагодарили: 0 раз.

Re: ReefMaster

Сообщение vdemidov » 28 мар 2019, 10:26

VadimK60 писал(а):Ну, хоть в программировании попрактиковался немного... :D

Так я и предлагаю направить энергию в полезное для всего общества русло. Присоединяйтесь к разработке САС. Например можете добавить в экспорт в img наложение гибрида. Там всех сложностей - нарисовать ГУЙ в выборе параметров экспорта. Или еще что-нибудь. В багтрекере полно багов и хотелок, которые не сложно реализовать, но до которых просто руки не доходят.
Чтобы понять программу, вы должны стать одновременно и машиной, и программой.

За это сообщение автора vdemidov поблагодарил:
Parasite (29 мар 2019, 18:27)
Аватара пользователя
vdemidov
Гуру
 
Сообщения: 1685
Зарегистрирован: 12 дек 2008, 13:10
Откуда: Киев
Благодарил (а): 191 раз.
Поблагодарили: 135 раз.

Re: ReefMaster

Сообщение VadimK60 » 26 июн 2019, 13:29

По поводу "конвертера" ReefMaster MBtiles to SASplanet ;)
Пришло сегодня в личку сообщение:
но в свежей ночной сборке слой с картой из Рифа не виден. Попробовал на сборке где-то годичной давности - все работает, слой отображается. В чем может быть проблема?

Полез разбираться. Действительно, проблема. В январской ночной сборке такой проблемы ещё не было.

Похоже, в новой сборке по-тихому сменили тип кэша по-умолчанию на SQLite3.
Из плюсов такого решения: меньше файлов на диске, меньше проблем, выше скорость копирования.
Из минусов: теперь не получится использовать этот кэш простым копированием в SAS4Android.

Можно, конечно, пользоваться старой версией программы.
А можно вернуть всё взад:
в файле SASPlanet.ini изменить DefCache=71 на DefCache=2

Если вам всё равно, в каком формате хранится кэш, а нужно всего лишь, чтобы отображался слой Рифмастера, то достаточно добавить строку CacheType=2
в файле Maps\sas.maps\ReefMaster.zmp\params.txt

Обновлённый файл params.txt должен выглядеть следующим образом:
Код: Выделить всё
[PARAMS]
pnum=20
GUID={CBA03063-23D9-FFFF-931A-9182B98644B1}
asLayer=1
name_ru=ReefMaster
name   =ReefMaster
name_uk=ReefMaster
projection=1
sradiusa=6378137
sradiusb=6378137
NameInCache=ReefMaster
Ext=.png
ContentType=image/png
CacheType=2


Теперь слой ReefMaster'а должен отображаться без проблем.

ЗЫ: Ещё раз напоминаю: для того, чтобы экспортировать этот слой (например, в растровые карты Garmin), необходимо в params.txt временно изменить asLayer=1 (слой) на asLayer=0 (карта).
Иначе вы не увидите ReefMaster среди карт, доступных для экспорта!
По завершении экспорта верните обратно: asLayer=0 -> 1
Вложения
ReefMaster в Garmin Sasplanet.png
VadimK60
Новичок
 
Сообщения: 16
Зарегистрирован: 24 окт 2018, 23:18
Благодарил (а): 4 раз.
Поблагодарили: 0 раз.

Re: ReefMaster

Сообщение vdemidov » 26 июн 2019, 14:30

VadimK60 писал(а):в файле SASPlanet.ini изменить DefCache=71 на DefCache=2

Какой только фигней пользователи не занимаются, что бы не лезть в окно настроек программы :lol:

VadimK60 писал(а):Если вам всё равно, в каком формате хранится кэш, а нужно всего лишь, чтобы отображался слой Рифмастера, то достаточно добавить строку CacheType=2
в файле Maps\sas.maps\ReefMaster.zmp\params.txt

И какую-только фигню не творят, что бы не в настройках карты в программе не разбираться.

Тип тайлохранилища для конкретной конкретной карты задается вот такой цепочкой:
1. В параметрах карт, файл maps.ini, для каждой карты или слоя может быть определен какой-то конкретный тип тайлохранилища или ниичего не указано. Именно этот параметр изменяется в настройках карты в программе.
2. Если в maps.ini ничего не указано, то проверяется настройка типа тайлохранилища из zmp. Оно может быть не указано.
3. Если тип тайлохранилища так и не получен, то есть тип тайлохранилища по-умолчанию для вей программы. Именно он указан в SASPlanet.ini DefCache.
Чтобы понять программу, вы должны стать одновременно и машиной, и программой.

За это сообщение автора vdemidov поблагодарили: 2
SergeyKa (02 июл 2019, 23:38) • VadimK60 (26 июн 2019, 15:49)
Аватара пользователя
vdemidov
Гуру
 
Сообщения: 1685
Зарегистрирован: 12 дек 2008, 13:10
Откуда: Киев
Благодарил (а): 191 раз.
Поблагодарили: 135 раз.

Re: ReefMaster

Сообщение v207 » 09 июл 2019, 02:15

Приветстую всех. У меня скрипт не разбирает .mbtiles ну ни в какую. Питоны разные и х32, и х64, и старые, и новые. Имена и латиницей, и кириллицей. Пути самые разные, и в корне системы
W7x64, RM 2.0
Помогите, кто чем может, люди добрые.
Вложения
Untitled_004.jpg
Untitled_003.jpg
Untitled_002.jpg
Untitled_001.jpg
v207
Новичок
 
Сообщения: 8
Зарегистрирован: 06 апр 2019, 03:28
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: ReefMaster

Сообщение VadimK60 » 09 июл 2019, 21:08

У меня такое впечатление, что питону не нравится ваш .PY файл в уникоде (UTF8)...

Архив из этого сообщения пробовали качнуть ?
Там есть готовый скрипт.
VadimK60
Новичок
 
Сообщения: 16
Зарегистрирован: 24 окт 2018, 23:18
Благодарил (а): 4 раз.
Поблагодарили: 0 раз.

Пред.След.

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

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

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