ReefMaster
Модератор: Tolik
-
Riverplate
- Новичок
- Сообщения: 14
- Зарегистрирован: 27 апр 2016, 21:16
- Поблагодарили: 3 раза
Re: ReefMaster
Обсуждалось на русфишинге где-то весной 2017 г., когда и появилась версия рифа 2.0. Там помнится и скрины выкладывались с красивым затенением глубины "аля 3D", говорилось и об одновременном импорте карты глубин вместе со спутниковой подложкой - я у пары форумчан для знакомства с mbtiles попросил скинуть мне куски карт. Возможно, что можно и отдельно карту глубин импортировать без спутниковой подложки - не знаю. Однако думаю, что растровая карта глубин в формате mbtiles будет уже много весить, и как-бы Альпин не стал бы с ней подтормаживать...
-
VadimK60
- Новичок
- Сообщения: 29
- Зарегистрирован: 24 окт 2018, 23:18
- Благодарил (а): 6 раз
- Поблагодарили: 4 раза
Re: ReefMaster
По теме ReefMaster'а 
Недавно выложил самописный конвертер векторных карт ReefMaster .KMZ -> Garmin .IMG
Помогает получить на старых гарминовских приборах пёструю карту (при помощи TYP-файла), как в создаваемом рифмастером файле KMZ для GoogleEarth.

Возможно, в ближайшее время добавлю функционал для работы с Garmin MapSource Product Creator...
Недавно выложил самописный конвертер векторных карт ReefMaster .KMZ -> Garmin .IMG
Помогает получить на старых гарминовских приборах пёструю карту (при помощи TYP-файла), как в создаваемом рифмастером файле KMZ для GoogleEarth.
Возможно, в ближайшее время добавлю функционал для работы с Garmin MapSource Product Creator...
-
VadimK60
- Новичок
- Сообщения: 29
- Зарегистрирован: 24 окт 2018, 23:18
- Благодарил (а): 6 раз
- Поблагодарили: 4 раза
Re: ReefMaster
В продолжение старой темы.
Возникла необходимость перенести растровые карты глубин из 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
Программа при помощи утилиты последовательно накладывает тайлы первого слоя (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 можно выделять нужный участок карты и экспортировать его в нужный формат.
Естественно, склеивать можно не только упомянутые карты, но и другие.
Главное:
1) чтобы тайлы первого слоя были в формате .PNG (с прозрачностью).
2) чтобы параметры projection= , sradiusa= , sradiusb= из файлов params.txt обоих слоёв совпадали!
3) не забыть скэшировать ОБА слоя до нужного зума.
Например, можно попробовать наложить Росреестр на спутник Bing'а.
---
Скачать TileCombiner.7z (4Mb)
Возникла необходимость перенести растровые карты глубин из 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
Программа при помощи утилиты последовательно накладывает тайлы первого слоя (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 можно выделять нужный участок карты и экспортировать его в нужный формат.
Естественно, склеивать можно не только упомянутые карты, но и другие.
Главное:
1) чтобы тайлы первого слоя были в формате .PNG (с прозрачностью).
2) чтобы параметры projection= , sradiusa= , sradiusb= из файлов params.txt обоих слоёв совпадали!
3) не забыть скэшировать ОБА слоя до нужного зума.
Например, можно попробовать наложить Росреестр на спутник Bing'а.
---
Скачать TileCombiner.7z (4Mb)
- vdemidov
- Гуру
- Сообщения: 1687
- Зарегистрирован: 12 дек 2008, 13:10
- Откуда: Киев
- Благодарил (а): 191 раз
- Поблагодарили: 157 раз
Re: ReefMaster
Мда, чего только не сделают люди, что бы не разбираться в чужом коде. Вместо того что бы добавить такую возможность или хотя бы воспользоваться копированием кэша с наложением гибрида вы городите кучу костылей с отдельной утилитой 
Чтобы понять программу, вы должны стать одновременно и машиной, и программой.
-
VadimK60
- Новичок
- Сообщения: 29
- Зарегистрирован: 24 окт 2018, 23:18
- Благодарил (а): 6 раз
- Поблагодарили: 4 раза
Re: ReefMaster
Как сохранить слой в кэшvdemidov писал(а):Вместо того что бы добавить такую возможность или хотя бы воспользоваться копированием кэша с наложением гибрида
Спасибо за подсказку! Действительно, похоже я изобрёл очередной велосипед.
Ну, хоть в программировании попрактиковался немного...
- vdemidov
- Гуру
- Сообщения: 1687
- Зарегистрирован: 12 дек 2008, 13:10
- Откуда: Киев
- Благодарил (а): 191 раз
- Поблагодарили: 157 раз
Re: ReefMaster
Так я и предлагаю направить энергию в полезное для всего общества русло. Присоединяйтесь к разработке САС. Например можете добавить в экспорт в img наложение гибрида. Там всех сложностей - нарисовать ГУЙ в выборе параметров экспорта. Или еще что-нибудь. В багтрекере полно багов и хотелок, которые не сложно реализовать, но до которых просто руки не доходят.VadimK60 писал(а):Ну, хоть в программировании попрактиковался немного...
Чтобы понять программу, вы должны стать одновременно и машиной, и программой.
-
VadimK60
- Новичок
- Сообщения: 29
- Зарегистрирован: 24 окт 2018, 23:18
- Благодарил (а): 6 раз
- Поблагодарили: 4 раза
Re: ReefMaster
По поводу "конвертера" ReefMaster MBtiles to SASplanet
Пришло сегодня в личку сообщение:
Похоже, в новой сборке по-тихому сменили тип кэша по-умолчанию на SQLite3.
Из плюсов такого решения: меньше файлов на диске, меньше проблем, выше скорость копирования.
Из минусов: теперь не получится использовать этот кэш простым копированием в SAS4Android.
Можно, конечно, пользоваться старой версией программы.
А можно вернуть всё взад:
в файле SASPlanet.ini изменить DefCache=71 на DefCache=2
Если вам всё равно, в каком формате хранится кэш, а нужно всего лишь, чтобы отображался слой Рифмастера, то достаточно добавить строку CacheType=2
в файле Maps\sas.maps\ReefMaster.zmp\params.txt
Обновлённый файл params.txt должен выглядеть следующим образом:
Теперь слой ReefMaster'а должен отображаться без проблем.
ЗЫ: Ещё раз напоминаю: для того, чтобы экспортировать этот слой (например, в растровые карты Garmin), необходимо в params.txt временно изменить asLayer=1 (слой) на asLayer=0 (карта).
Иначе вы не увидите ReefMaster среди карт, доступных для экспорта!
По завершении экспорта верните обратно: asLayer=0 -> 1
Пришло сегодня в личку сообщение:
Полез разбираться. Действительно, проблема. В январской ночной сборке такой проблемы ещё не было.но в свежей ночной сборке слой с картой из Рифа не виден. Попробовал на сборке где-то годичной давности - все работает, слой отображается. В чем может быть проблема?
Похоже, в новой сборке по-тихому сменили тип кэша по-умолчанию на 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ЗЫ: Ещё раз напоминаю: для того, чтобы экспортировать этот слой (например, в растровые карты Garmin), необходимо в params.txt временно изменить asLayer=1 (слой) на asLayer=0 (карта).
Иначе вы не увидите ReefMaster среди карт, доступных для экспорта!
По завершении экспорта верните обратно: asLayer=0 -> 1
- vdemidov
- Гуру
- Сообщения: 1687
- Зарегистрирован: 12 дек 2008, 13:10
- Откуда: Киев
- Благодарил (а): 191 раз
- Поблагодарили: 157 раз
Re: ReefMaster
Какой только фигней пользователи не занимаются, что бы не лезть в окно настроек программыVadimK60 писал(а):в файле SASPlanet.ini изменить DefCache=71 на DefCache=2
И какую-только фигню не творят, что бы не в настройках карты в программе не разбираться.VadimK60 писал(а):Если вам всё равно, в каком формате хранится кэш, а нужно всего лишь, чтобы отображался слой Рифмастера, то достаточно добавить строку CacheType=2
в файле Maps\sas.maps\ReefMaster.zmp\params.txt
Тип тайлохранилища для конкретной конкретной карты задается вот такой цепочкой:
1. В параметрах карт, файл maps.ini, для каждой карты или слоя может быть определен какой-то конкретный тип тайлохранилища или ниичего не указано. Именно этот параметр изменяется в настройках карты в программе.
2. Если в maps.ini ничего не указано, то проверяется настройка типа тайлохранилища из zmp. Оно может быть не указано.
3. Если тип тайлохранилища так и не получен, то есть тип тайлохранилища по-умолчанию для вей программы. Именно он указан в SASPlanet.ini DefCache.
Чтобы понять программу, вы должны стать одновременно и машиной, и программой.
Re: ReefMaster
Приветстую всех. У меня скрипт не разбирает .mbtiles ну ни в какую. Питоны разные и х32, и х64, и старые, и новые. Имена и латиницей, и кириллицей. Пути самые разные, и в корне системы
W7x64, RM 2.0
Помогите, кто чем может, люди добрые.
W7x64, RM 2.0
Помогите, кто чем может, люди добрые.