• ВНИМАНИЕ! ПРОСЬБА ВОЗДЕРЖАТЬСЯ ОТ ОБСУЖДЕНИЯ НА ФОРУМЕ ЛЮБЫХ ПОЛИТИЧЕСКИХ СОБЫТИЙ! СПАСИБО!

Конвертер векторных карт ReefMaster .KMZ -> Garmin .IMG (Просматривает: 1)

С нами с
15.08.2013
Сообщения
498
Репутация
884
Откуда
регион 60
Конвертер векторных карт ReefMaster .KMZ -> Garmin .IMG
AS: Можно ли убрать зазоры между полигонами?
V: В cGPSmapper'е похоже нет.

Я: Можно. Не до конца (img безобразно распухнет и старые навигаторы будут подтормаживать), но до того-же уровня что выше на картинках.
RGN limit присвоить 1200 (можно больше, я остановился на этом значении)
Параметр живет в свойствах карты в GPSMapEdit.
К сожалению, это не совсем так. Я не заметил влияния RGN limit на размер IMG-файла и величину просветов.
Можете сами поэкспериментировать (кнопка Additional .MP file settings > RgnLimit=). В конвертере эта величина у меня обрезается до 1024, как рекомендуется в мануале. Но я руками выставлял в заголовке MP-файла значения больше 1024 -- размер не изменился, просветы тоже.

Единственный параметр, который ОЧЕНЬ сильно влияет на размер файла -- TreSize. На размер влияет, на просветы - НЕТ. :(
Подробности по параметрам MP-файла -- в мануале к cGPSmapper (со страницы 9).

PreprocessP_SimplyfyLevel10.png

Но есть один параметр, который я почему-то раньше пропустил, но он очень неплохо влияет на размер просветов.
Называется он Preprocess и может принимать следующие значения (см. мануал к cGPSmapper, страница 13):

N - генерализация (прореживание точек) не проводится !
G - генерализация (прореживание точек)
F (Y) - генерализация (прореживание точек) + определение перекрёстков для полилиний
P - генерализация (прореживание точек) + определение пересечений для полилиний и полигонов

По умолчанию используется параметр F -результат все видели. Вариант G несильно отличается от F.

Решил проверить вариант N (без каких либо оптимизаций) -- и результат заметно улучшился!!!
Там где были просветы, они исчезли! Но в некоторых местах, где их раньше не было -- появились (правда, очень небольшие).

Выяснилось, что если Preprocess не равен N, т.е. задействована генрализация, то на результат этого процесса упрощения довольно сильно влияет другой параметр.
Называется он SimplifyLevel (уровень упрощения, хотя по сути наоборот) и принимает значения от 0.1 до 10.
По умолчанию SimplifyLevel=1
SimplifyLevel=0.1 - наиболее сильное упрощение - сильная угловатость и широкие просветы;
SimplifyLevel=10 - наибольшая гладкость и минимальные просветы !!!

Режим N (без обработки) достаточно качественный, не зависит от SimplifyLevel.
Из режимов G F P наиболее качественный конечно же P (хорошо видно при малых SimplifyLevel)
SimplifyLevel конечно же берём максимальный =10

По сути выбирать приходится только из двух режимов: N или P (SimplifyLevel=10).
Я склоняюсь к использованию варианта P - в этом режиме устраняются даже мелкие огрехи, которые изначально встречаются на той же American Lake (например, в 50м к северо-западу от острова на глубине 15м -- зелёная стрелка на скриншоте) .
PreprocessSimplifyLevelTest.png

Так что в следующей версии сделаю Preprocess=P и SimplifyLevel=10 параметрами заголовка MP файла по-умолчанию.

А вообще, конечно, странно, почему автор cGPSmapper'а выбрал такие неудачные значения по-умолчанию для этих двух параметров...

ЗЫ:
Тем, кому хочется сравнить карты при разных комбинациях Preprocess и SimplifyLevel могу предложить готовый набор из 12-ти карт (см. скриншот выше)
Скачать: https://yadi.sk/d/FfNq0GS11ymFmQ
Нужно лишь распаковать папку PreprocessTest в корень диска C: и "запустить" InstallMapsForMapsource.reg для подключения карт к MapSource.
После ознакомления удалить карты можно запустив DeleteMapsFromRegistry.reg
 
Последнее редактирование:
С нами с
14.09.2012
Сообщения
1 906
Репутация
2 530
Откуда
Екатеринбург
Конвертер векторных карт ReefMaster .KMZ -> Garmin .IMG
Подробности по параметрам MP-файла -- в мануале к cGPSmapper (со страницы 9).

Но есть один параметр, который я почему-то раньше пропустил, но он очень неплохо влияет на размер просветов.
Называется он Preprocess и может принимать следующие значения (см. мануал к cGPSmapper, страница 13):

N - генерализация (прореживание точек) не проводится !
G - генерализация (прореживание точек)
F (Y) - генерализация (прореживание точек) + определение перекрёстков для полилиний
P - генерализация (прореживание точек) + определение пересечений для полилиний и полигонов

Решил проверить вариант N (без каких либо оптимизаций) -- и результат заметно улучшился!!!
Там где были просветы, они исчезли! Но в некоторых местах, где их раньше не было -- появились (правда, очень небольшие).

Вадим опять молодец!
Я поражен скурпулезностью и фундаментальностью подхода к мелочам.
Пришлось влезть в GPSMapEdit - вспомнить свои проделки стародавние - сравнить параметры.
Что сказать - Земля таки круглая :)
Почему я не пошел дальше в борьбе за совпадении границ полигонов, чем получается с этими установками?
Все просто - я не устанавливаю на экране прибора Зум более 30 метров, помня о точности позиционирования бытовых навигаторов. А на этом зуме дырок не видно :)
PS: Сегодня доберусь до быстрого инета, качну последнюю версию конвертера.
Потестирую и... ....и начну оформлять свои мысли во что-то структурированное и читабельное.
Вдруг пригодятся? :)
 

Вложения

  • c.jpg
    51.7 КБ · Просмотры: 42
    c.jpg
С нами с
02.01.2011
Сообщения
16 327
Репутация
14 955
Откуда
Москва
Конвертер векторных карт ReefMaster .KMZ -> Garmin .IMG
Вадим опять молодец!
Я поражен скурпулезностью и фундаментальностью подхода к мелочам.
:)
Я бы даже попросил в личку прислать адрес куда можно выслать благодарность! В личку только! Это к Автору призыв;) смотри не перепутай.;)
 
  • Cпасибо
Реакции: serk
С нами с
19.06.2009
Сообщения
1 003
Репутация
2 809
Возраст
50
Откуда
Москвибирево
Конвертер векторных карт ReefMaster .KMZ -> Garmin .IMG
Повторюсь
просветы не убрать этим компилятором, даже если выставить N без препроцессинга - генерализация все одно будет, возможно есть ограничение на разрядность. Ковырялся не меньше ТС в свое время, стоит отступить узлом полигона от сетки 24 в ГМЕ тут же просвет и вылезет.
Юзайте Гарминовский компилятор!

пс не по теме, для АлСи))
почти дописал, окна берет из любой винды, любого размера. МС через полосы прокрутки с автоматическим и ручным расчетом зоны повтора. БК двигает мышкой в окне со стрелкой или без, одинаково хорошо. ХП самый гемор, через отправку клавиатурных сокращений (переделаю скорее под мышь тоже)
Скоро))
 
С нами с
15.08.2013
Сообщения
498
Репутация
884
Откуда
регион 60
Конвертер векторных карт ReefMaster .KMZ -> Garmin .IMG
Если карту сделать прозрачной, то под белыми берегами проступит ОСМ, которая в этом конкретном нувике лежит в качестве базовой.
Кстати, в третьей версии конвертера можно попытаться сделать карту полупрозрачной: кнопка Additional .MP file settings => Transparency =
N - непрозрачная карта
Y - полностью прозрачная
S - полупрозрачнаая

Ещё ни разу не пробовал Transparency = S . Похоже, это как слой в SASplanet/SAS4Android. Если я прав, то возможно следует сделать этот параметр дефолтным.

1. Палитра вывернута черти-как от исходной
Палитра из KML файла берётся, что называется, "один к одному". Единственный параметр, который невозможно перенести -- прозрачность. В гарминовском TYP-файле его некуда приткнуть. Теоретически он поддерживается в иконках, но в полигонах -- нет (лично проверял). Да и смысл применять прозрачность к отдельным полигонам, если её можно применить к карте целиком...

Из-за этой прозрачности карта KMZ в Google Earth кажется более тёмной, чем сконвертированая для MapSource. Всё потому что в GoogleEarth присутствует и просвечивает подложка -- спутниковый снимок водной глади, а она обычно довольно тёмного цвета.

А если под "исходной" понимается палитра рифмастера, то её искажение --- хороший повод пообщаться с автором рифмастера. :)

просветы не убрать этим компилятором,
даже если выставить N без препроцессинга - генерализация все одно будет, возможно есть ограничение на разрядность.
Самое весёлое, что изначально-то просветов нет:
* нет их ни в KML (по крайней мере не видно в GoogleEarth)
* нет их и в MP-файле (не видно в GPSmapEdit)

Так что действительно: просветы создаёт сам компилятор (cGPSmapper)!!!
Открыл готовый .IMG файл в GpsMapEdit'е и обнаружил интересную закономерность:
просветы образуются в основном (да почти всегда!) в месте разбиения полигона на составные части!
(обратное утверждение не верно :))
Например:
Просветы в месте разреза полигона на части.png

А режет на части компилятор либо слишком большие полигоны, либо полигоны, имеющие внутренние полигоны.
Последние он разрезает от внешней границы полигона до границы внутреннего полигона.
Похоже, этим трюком он заменяет описание внешнего и внутреннего полигонов на описание двух равнозначных полигонов!!! Занимательно...
Разбиение мультиполигона на несколько равнозначных полигонов.png

А теперь вопрос:
если избавить компилятор от необходимости разбивать полигоны а подсунуть ему уже предварительно разбитые полигоны (даже предварительно привязанные к сетке 24бита),
то появятся ли просветы ?! :D

Интересно, по какому критерию компилятор решает, разбить ему полигон на части или нет, и на сколько частей.
Помнится в одном из сообщений я писал, что просветы не зависят от TreSize. Я был не совсем прав! :pardon:
Случайно выяснил, что при разных значениях этого параметра компилятор по-разному разбивает большие полигоны на части (или не разбивает вообще).

TreSize=500, полигон не разбит
TreSize=500.png

TreSize=10000, полигон разбит, образовался просвет!
TreSize=10000.png

стоит отступить узлом полигона от сетки 24 в ГМЕ тут же просвет и вылезет.
Значит ли это, что в MapSource Product Creator используется разрядность > 24 bit?

Юзайте Гарминовский компилятор!
Кстати вопрос: на первой странице этой темы предупреждали, что на новых навигаторах (вроде с прошивкой 2017 года и новее) и эхолотах (кажись с прошивкой 2015 года и новее) самодельные карты работать не будут (или будут, но ограниченное время).
Карты, сделанные при помощи официального гарминовского MapSource Product Creator (но с тем самым лицензионным ключом), попадают в опальную категорию самодельных или нет ?
 
Последнее редактирование:
С нами с
14.09.2012
Сообщения
1 906
Репутация
2 530
Откуда
Екатеринбург
Конвертер векторных карт ReefMaster .KMZ -> Garmin .IMG
Палитра из KML файла берётся, что называется, "один к одному".
...
А если под "исходной" понимается палитра рифмастера, то её искажение --- хороший повод пообщаться с автором рифмастера. :)

Точно, Мэтт шалит. И очень своеобразно :)
вводная инфа:
Водоем немаленький, 0-30 метров -> поделен на зоны.
Одна зона - один проект в составе водоем.RMDB.
Ко всем зонам применена одна палитра из 20 цветов.
Диапазоны глубин по зонам разный - 0-5; 0-12; 0-20 etc
каждая зона экспортируется в свой .KML

Изюм:
читая KMLки, обнаруживаем, что при экспорте Мэтт натягивает сову на глобус ВСЮ палитру о 20 цветах на присутствующий в проекте диапазон глубин, выбрасывая промежуточные (с его точки зрения) цвета.

Я с этим ранее не сталкивался - экспортировал шейпы в .MP и присваивал цвета по метке диапазона полигона.

Интересно, во втором Рифмастере это так же или нет?
 
С нами с
02.01.2011
Сообщения
16 327
Репутация
14 955
Откуда
Москва
Конвертер векторных карт ReefMaster .KMZ -> Garmin .IMG
Изюм:
читая KMLки, обнаруживаем, что при экспорте Мэтт натягивает сову на глобус ВСЮ палитру о 20 цветах на присутствующий в проекте диапазон глубин, выбрасывая промежуточные (с его точки зрения) цвета.

Я с этим ранее не сталкивался - экспортировал шейпы в .MP и присваивал цвета по метке диапазона полигона.

Интересно, во втором Рифмастере это так же или нет?
Второй вроде не балуется этим, но по-любому сделай свою палитру из энного количества цветов и будет тебе счастье)
 
С нами с
14.09.2012
Сообщения
1 906
Репутация
2 530
Откуда
Екатеринбург
Конвертер векторных карт ReefMaster .KMZ -> Garmin .IMG
Саш, это и так моя палитра из 20 цветов (дефолтная - 10), намертво приколоченная ко всем моим водоемам :)
Я ее и по Гармишкам друзей растиражировал в усеченном виде для упрощения радиообмена.
Типа - кому сома? В таком-то квадрате на зеленом :)
Проверь второй РМ пожалуйста - может у меня появится стимул в него перелезть :) Палитра должна быть шире, чем диапазон глубин карты. И при этом отображаться в Мапсорсе так же как в РМ.
 
С нами с
02.01.2011
Сообщения
16 327
Репутация
14 955
Откуда
Москва
Конвертер векторных карт ReefMaster .KMZ -> Garmin .IMG
Саш, это и так моя палитра из 20 цветов (дефолтная - 10), намертво приколоченная ко всем моим водоемам :)
Я ее и по Гармишкам друзей растиражировал в усеченном виде для упрощения радиообмена.
Типа - кому сома? В таком-то квадрате на зеленом :)
Проверь второй РМ пожалуйста - может у меня появится стимул в него перелезть :) Палитра должна быть шире, чем диапазон глубин карты. И при этом отображаться в Мапсорсе так же как в РМ.
1 риф ограничивается 12 палитрами на выход... вроде как... А вот второй вроде с этим в порядке

P.S. Пришли палитру и кусок данных;) сделаю. На почту!!!
 
С нами с
19.06.2009
Сообщения
1 003
Репутация
2 809
Возраст
50
Откуда
Москвибирево
Конвертер векторных карт ReefMaster .KMZ -> Garmin .IMG
>>Так что действительно: просветы создаёт сам компилятор (cGPSmapper)
о чем и речь...

>>Открыл готовый .IMG файл в GpsMapEdit'е и обнаружил интересную закономерность:
>>просветы образуются в основном (да почти всегда!) в месте разбиения полигона на составные части!
не только в таких случаях, и скорее всего при этом в алгоритме компилятора и есть ограничение на разрядность или просто переменные недостаточно точного типа с округлением

>>Значит ли это, что в MapSource Product Creator используется разрядность > 24 bit?
ну, раз просветы не вылезают, то да наверное

>>Кстати вопрос: на первой странице этой темы предупреждали, что на новых навигаторах (вроде с прошивкой 2017 года и новее) и эхолотах (кажись с прошивкой 2015 года и новее) самодельные карты работать не будут (или будут, но ограниченное время). Карты, сделанные при помощи официального гарминовского MapSource Product Creator (но с тем самым лицензионным ключом), попадают в опальную категорию самодельных или нет?
вот тоже хотел бы знать точный ответ на этот вопрос, тк проверить не на чем. самоделка двухлетней давности собранная в МПС работает на многих разномастных приборах у одноклубников, но я больше чем уверен, что никто и не думал перепрошиваться (некогда - все рыбу ловят, только мы ерундой такой страдаем))
 
С нами с
14.09.2012
Сообщения
1 906
Репутация
2 530
Откуда
Екатеринбург
Конвертер векторных карт ReefMaster .KMZ -> Garmin .IMG
1 риф ограничивается 12 палитрами на выход... вроде как...
НЕТ! Если в проекте есть 20+ полигонов с разницей глубин в метр - в КМЗ/KML экспортируется все корректно. Вот если менее чем в палитре - Мэтт отсекает не часть палитры, но прорежает её. Начало и конец палитры - видимо священная корова кенгуря.
... и личку проверь - я не знаю твою почту как выяснилось :)
 
Последнее редактирование:
С нами с
14.09.2012
Сообщения
1 906
Репутация
2 530
Откуда
Екатеринбург
Конвертер векторных карт ReefMaster .KMZ -> Garmin .IMG
2 Vadim
Вадим, поясни по файлу .log - как ты его формируешь и как используешь.
Спасибо.
 
С нами с
15.08.2013
Сообщения
498
Репутация
884
Откуда
регион 60
Конвертер векторных карт ReefMaster .KMZ -> Garmin .IMG
Водоем немаленький, 0-30 метров -> поделен на зоны.
Одна зона - один проект в составе водоем.RMDB.
Ко всем зонам применена одна палитра из 20 цветов.
Диапазоны глубин по зонам разный - 0-5; 0-12; 0-20 etc
каждая зона экспортируется в свой .KML
Дык, если между изобатами во всех зонах ОДНА И ТА ЖЕ глубина, например, 1 метр, то проблем быть не должно.
При конвертировании для каждого KML выбираем уникальный MapID и ОДИН и ТОТ же FamilyID.
KML-файл, относящийся к зоне с наибольшим диапазоном глубин, конвертируем последним.
Получаем такое же количество IMG-файлов, как и KML-файлов, и один TYP-файл, содержащий цвета для всех полигонов всего диапазона глубин.

TYP-файл применяется к одному семейству (family), а все карты (.img) будут принадлежать этому семейству. Поэтому одинаковые глубины должны отображаться одними и теми же цветами. (но это в теории, на практике пока не проверял)

поясни по файлу .log - как ты его формируешь и как используешь.
Спасибо.
Никак, использовал только для отладки, второй "релиз" подряд я забываю его отключить...
 
С нами с
14.09.2012
Сообщения
1 906
Репутация
2 530
Откуда
Екатеринбург
Конвертер векторных карт ReefMaster .KMZ -> Garmin .IMG
Дык, если между изобатами во всех зонах ОДНА И ТА ЖЕ глубина, например, 1 метр, то проблем быть не должно.
Есть они.

TYP-файл применяется к одному семейству (family), а все карты (.img) будут принадлежать этому семейству. Поэтому одинаковые глубины должны отображаться одними и теми же цветами. (но это в теории, на практике пока не проверял)
Проверю.
А может добавить слияние нескольких KMLек в один MP? Пусть и Img один на выходе - старые приборы не любят изобилия разных карт - дык может исключить использование контейнера?

Никак, использовал только для отладки, второй "релиз" подряд я забываю его отключить...
Понял. А то уж больно читабельный формат :)
В нем палитры РМ обрезаны...
Пока некогда засесть плотно за сравнительный анализ соседних проектов в КМЛ и МП. Но сделаю.
 

Сейчас смотрят

Вверх