ХТ -туристический форум Украины и велофорум Харькова
http://xt.ht/phpbb/

создание карт для Magellan eXplorist 310, 510, 610, 710,
http://xt.ht/phpbb/viewtopic.php?f=118&t=54894
Страница 53 из 62

Автор:  Victor Pomortseff [ 28.04.2016 17:40 ]
Заголовок сообщения:  Re: создание карт для Magellan eXplorist 310, 510, 610, 710,

Д. Засядько писал(а):
Итак, что это за проекция такая у навигатора? Параллели и меридианы образуют прямоугольную сетку (или нет?), "размеры" линейных объектов увеличиваются от экватора к полюсам на одном и том же уровне зума, соотношение длин километровых отрезков вдоль параллелей и вдоль меридианов одинаковы (или таки нет?).
Напоминает проекцию Меркатора.
Я перебрал несколько картинок на http://map-projections.net , но что-то ничего не пойму.


Что-то мне сдается, что разрешине считается так:

R = (M / L) * (cos(lat) / cos(43град))

Где M - значение на линейке в метрах, L - длина линейки в пикселях.

А 43 градуса есть широта из равнопрямоугольной проекции Миллера.

Ну может быть надо M брать в футах и переводить в метры...

Уверен что формула там предельно простая и без " непоняоных коэффициентов".

Автор:  ed.ua [ 28.04.2016 18:19 ]
Заголовок сообщения:  Re: создание карт для Magellan eXplorist 310, 510, 610, 710,

ed.ua писал(а):
Андрей Лунячек писал(а):
Итак, провёл замеры по скриншотам расстояний в пикселях по горизонтали между 5-секундными линиями сетки...
Мурманск. Широта - 68,972222. Кол-во пикселей - 107. Расстояние в метрах - 55,5.
Батуми. Широта - 41,658333. Кол-во пикселей - 137. Расстояние в метрах - 115,55.
Макапа (устье Амазонки). Широта - 0,00. Кол-во пикселей - 157. Расстояние в метрах - 154,81.
...
... Кстати, заодно вычислил разрешения по сделанным скриншотам. Они получились равными 0,519, 0,843 и 0,986 м/пикс соответственно.
Скриншоты прилагаю.

Вас не радует что в случае >> Батуми. Широта - 41,658333 вы подошли к наиболее близкому соответствию мерного отрезка прибора (60м) масштабу карты!!!

З моменту оприлюднення скрінів і розрахунків по Батумі пройшло досить часу.
Ну що заважає практично визначити так звану "широту розробників".
Це особлива, ключова широта , її знати просто необхідно.

Автор:  Victor Pomortseff [ 28.04.2016 21:13 ]
Заголовок сообщения:  Re: создание карт для Magellan eXplorist 310, 510, 610, 710,

ed.ua писал(а):
Замер shot00005 горизонтальное разрешение составило 0,7469м/пикс
Вложение:
Замер_2_.png

256 (исходник) - 186,12м
226 (исходник) - 164,31м
220 прибор => 0,7469 м/пикс


А мне кажется что должно быть 0.74616659 :-)

Автор:  Д. Засядько [ 28.04.2016 21:27 ]
Заголовок сообщения:  Re: создание карт для Magellan eXplorist 310, 510, 610, 710,

Гм. Но ведь у Миллера картинка ближе к полюсам растягивается в стороны. А у "Магеллана" вроде бы пропорции соблюдаются.

Автор:  Victor Pomortseff [ 28.04.2016 22:10 ]
Заголовок сообщения:  Re: создание карт для Magellan eXplorist 310, 510, 610, 710,

Д. Засядько писал(а):
Гм. Но ведь у Миллера картинка ближе к полюсам растягивается в стороны. А у "Магеллана" вроде бы пропорции соблюдаются.


Да. Но тут от Миллера взята только широта "истинного масштаба". 43 градуса. Та широта, на которой линейка на самом деле соответствует тому, что на ней написано. И на этой широте разрешение действительно будет равно тому, что написано на линейке деленное на ее длину.

А для других широт разрешение равно разрешению на экваторе умноженному на косинус широты.

А разрешение на экваторе мы знаем - это разрешение линейки, деленное на косинус "широты реального масштаба" (43 градуса по миллеру).

Вот и получаем:

R = R0 * (cos(lat) / cos(43град))

где R0 = M / L (M - масштаб в метрах, L - длина линейки в пикселях)

Эта формула проста (а там должна быть простая формула, очень простая) и имеет внутреннюю логику.

Но это еще не все. Есть обоснованное подозрение, что на самом деле надпись на линейке не в метрах, а футах. Т.е. там не 60 метров на самом деле, а 200 футов. Что составляет 60.9602 метра.

И вот когда мы все это сведем воедино для тех скриншотов, с которыми экспериментировал ed, широта 52.50216, масштаб 60 метров (т.е. 200 футов, 60.9602 метра), то получим по этой формуле разрешение 0.74616659 м/пикс. А ed намерил 0,7469м/пикс - расхождение в четвертом знаке...

Автор:  Д. Засядько [ 28.04.2016 23:41 ]
Заголовок сообщения:  Re: создание карт для Magellan eXplorist 310, 510, 610, 710,

Цитата:
Т.е. там не 60 метров на самом деле, а 200 футов.

Так точно. Я переключил на футы, и на том же зуме получил "60м" = "200фт". И с милями такая же невязочка. К примеру, "400м" у них равен "1/4 мили", а на самом деле 1/4 мили = 402,336м.
Кляті мериканці (або індуси-аутсорсери ?) прогулювали в школі уроки фізики. :evil:

Кстати, длина "линеечки" при смене метры/дюймы не меняется. Если мерить по внешним углам этой "скобки от степлера", то выходит 70 пикселей. Толщина линии 2 пикселя.

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

Автор:  Victor Pomortseff [ 29.04.2016 05:10 ]
Заголовок сообщения:  Re: создание карт для Magellan eXplorist 310, 510, 610, 710,

Просто они все в футах меряют. А когда переключаешь на метры, вместо футов подставляют округденное значение в метрах. Но внутри все равно в футах считается

Автор:  ed.ua [ 29.04.2016 10:23 ]
Заголовок сообщения:  Re: создание карт для Magellan eXplorist 310, 510, 610, 710,

Victor Pomortseff писал(а):
Просто они все в футах меряют. А когда переключаешь на метры, вместо футов подставляют округденное значение в метрах. Но внутри все равно в футах считается

Соотношения футы -метры, мили-метры линейное.
Перерасчет мерного отрезка на футы, мили проблему не решает.
Мы вообще можем обнаглеть себе позволить и назвать единицы измерения мерного отрезка не метры (футы) а скажем магелланы.
Будут у нас 60 мегелланов, 90 магелланов, 240 маг, 400маг. :)
Но очевидно то, что этот мерный отрезок, скажем 240метров (а может 243,84 м) или 800 футов или там много ярдов, короче во общем 240 магелланов это плохо пересчитанный масштаб 1:9500 ...1:4700 по отношению к разрешению исходной карты (а не конечного изображения на дисплеи прибора)
1:9500 ...1:4700 -диапазон начала отображения 240 магелланов в VP от экватора до 75,5 град
на мои 68 пикселов (ваших 69, Засядька 70пикселов) мерного отрезка.
А если мерный отрезок подвязан к разрешению исходной карты, то извините, эти 240 магелланов вообще получаются как бы и не метрические а градусные (радианные) то есть нелинейны по отношению к метрическому расстоянию а "широта разработчика" будет зависеть еще и от разрешения исходной карты.
Что мы в принципе и имеем в тестовых изысканиях.

Victor Pomortseff писал(а):
Что-то мне сдается, что разрешине считается так:

R = (M / L) * (cos(lat) / cos(43град))

Где M - значение на линейке в метрах, L - длина линейки в пикселях.

А 43 градуса есть широта из равнопрямоугольной проекции Миллера.

А ведь буть то 43 градуса, или 41, или 32 имея скрины и замерные данные "широту разработчика" в этом случае просто определить.
Длинна линейки L неизменна, разрешение измерено на известное широте, то косинус "широты разработчика" (а соответственно арккосинус, то есть саму широту в градусах (радианах) без проблем.
Проблемы начинаются вот здесь:
1) По Батуми было так и математически определена "широта разработчика"
Вложение:
CodeCogsEqn.gif
CodeCogsEqn.gif [ 162 байт | Просмотров: 1814 ]

(продублирована "широта разработчика" с учетом футов,
Вложение:
CodeCogsEqn(4).gif
CodeCogsEqn(4).gif [ 265 байт | Просмотров: 1814 ]
) так возле 37 градусов
Вложение:
батуми_0.png
батуми_0.png [ 43.07 КБ | Просмотров: 1814 ]

2) По обработанным первым скринам Дмитрия (заметьте исходник 5 m/пикс) на широтах 30, 35, 40 град "широта разработчика " убежала! к экватору поближе;
Вложение:
5мOnPixl_1.png
5мOnPixl_1.png [ 81.43 КБ | Просмотров: 1814 ]

3)А по эпизодическим моим тестовым растрам (от SAS) Berlyn и другие "широта разработчика " подтянулась к вашим 43 градусам
Вложение:
AllRest.png
AllRest.png [ 108.37 КБ | Просмотров: 1814 ]

Может отставим пока теорию и практически по скринам чего поищем?

Автор:  Victor Pomortseff [ 29.04.2016 11:35 ]
Заголовок сообщения:  Re: создание карт для Magellan eXplorist 310, 510, 610, 710,

Бинго!

Удалось получить карту, которая прибором не ресамплится. Т.е. отображается как есть.

Вложение:
M68_.png
M68_.png [ 187.35 КБ | Просмотров: 1809 ]


Нижняя часть - исходная карта (18-й уровень SASPlanet, отресампленый под уровень "60м" прибора с нарисованным после ресамплинга прямоугольником 200х200 пикс), верхняя часть - скриншот прибора на уровне "60м". Размеры прямоугольника совпадают на 100%.

Прав был Паганель, когда писал что в приборе используется equirectangular проекция и разрешение от широты не зависит. Она и есть. А еще точнее, используется там эквидистантная проекция Миллера http://mathworld.wolfram.com/MillerEquidistantProjection.html с

Вложение:
CodeCogsEqn (11).gif
CodeCogsEqn (11).gif [ 427 байт | Просмотров: 1809 ]


(минимальные суммарные искажения)

Таким образом, формула разрешения м/пикс получается такая:

Вложение:
CodeCogsEqn (10).gif
CodeCogsEqn (10).gif [ 814 байт | Просмотров: 1809 ]


где

M - масштабный уровень прибора в метрах
L - длина линейки прибора (68 пикселей)

можете проверять для других широт.

Автор:  Д. Засядько [ 29.04.2016 13:59 ]
Заголовок сообщения:  Re: создание карт для Magellan eXplorist 310, 510, 610, 710,

Интересное предположение. Надо обмозговать. Вообще-то картинка в RMP-файле вроде как в проекции Geografic. И, насколько я понял, формат файла требует, чтоб разрешение в градусах на пиксель было постоянным по всей высоте карты, и по всей ширине карты. При этом равенство градусов на пиксель по высоте и по ширине картинки не требуется. Так?

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

Кстати, насчёт линеечки. Длина линеечки всё-таки 70 пикселей, но толщина линий, не считая "тени" 2 пикселя. Поэтому, если принять, что "линеечка" показывает "расстояние" от левого края левого штриха до левого края правого штриха, то 68 пикселей. А если между правым краем левого штриха и левым краем правого штриха, то 66 пикселей.

Вложения:
MagellanScreenRuler.PNG
MagellanScreenRuler.PNG [ 8.97 КБ | Просмотров: 1799 ]

Автор:  Victor Pomortseff [ 29.04.2016 14:19 ]
Заголовок сообщения:  Re: создание карт для Magellan eXplorist 310, 510, 610, 710,

Так что тут мозговать. Проверьте. Минут 15 займет. Берете маленький кусочек в 18-м (например) зуме из SAS (реально маленький, лишь бы больше экрана прибора был у меня в сообщении он приведен целиком, это вся "карта"). Склеиваете его в png + map. Грузите в GM. Переводите в Lat/Lon. Считаете разрешение в метрах на пиксель по формуле. Заходите в экспорт в растр, выбираете png. Отключаете квадратные пиксели, включаете создание map, устанавливаете посчитанное разрешение, экспортируете.

Затем открываете полученный png в Paint, рисуете по центру прямоугольник линией в 1 пиксель, сохраняете. И затем из этого создаете rmp. Грузите в прибор, ставите прямоугольник посредине экрана, делаете скриншот. Который опять грузите в Paint и смотрите размер прямоугольника.

А что касается ширины линейки, то проверял разные. И 70 и 66 и 68. Идеальное совпадение именно на 68. И именно в метрах (в футах тоже считал).

Что касается проекции - в принципе логично. Если разрешение будет зависеть от широты, то будут проблемы со стыковкой тейлов по вертикали - у них получится разное разрешение и придется подгонять как-то их друг под друга. А так все просто - разрешение всегда одинаковое. Можно даже в таблицу в приборе забить его и не считать каждый раз.

Автор:  Д. Засядько [ 29.04.2016 14:43 ]
Заголовок сообщения:  Re: создание карт для Magellan eXplorist 310, 510, 610, 710,

А где же в вашей формуле R=M/L*cos(37,5) коррекция по широте? Или это ещё надо на косинус широты умножать?

Автор:  Victor Pomortseff [ 29.04.2016 16:41 ]
Заголовок сообщения:  Re: создание карт для Magellan eXplorist 310, 510, 610, 710,

А нет ее. Не зависит разрешение от широты в эквидистантной проекции миллера.

Попробуйте сделать как я написал выше, рассчитав разрешение как метры, деленные на 68 и умноженные на косинус 37.5 градусов. Если паганель был прав и мои результаты не простое совпадение, то вы и на своей широте должны получит карту, которая не будет расамплится прибором. Т.е. точно попадете в разрешение прибора.

А насчет проекции, в свое время паганель писал, что убирая квадратные пиксели мы переходим от геограыической проекции к равнопрямоугольной. А эквидистантная миллера есть частный случай равнопрямоугольной проекции.

Автор:  Д. Засядько [ 29.04.2016 17:13 ]
Заголовок сообщения:  Re: создание карт для Magellan eXplorist 310, 510, 610, 710,

Апажалста. Широта Харькова 50 с.ш.
60/68*cos(37,5)=0,70001765319814867462921496603056
Вбиваю в ГМ. Делаю экспорт в png, рисую квадратики, делаю карту, копирую в навигатор, делаю скриншот.
на картинке в png сторона квадрата 113 пикселей, на скриншоте 103 пикселя.
Моя формула, кстати, тоже не идеальна. По ней разрешение 0,751 м/пикс. Делаю карту с квадратиками. Был квадрат 108х108 пикселей, на скриншоте стал 105х106 пикселей.

Сейчас попробую что-то типа Архангельска или севернее. Хотя нет. Зачем? У меня же есть карты с километровыми уголками. Так вот, на экваторе на зуме "400м" квадрат 1х1км помещается в половину экрана. На широте Харькова - уже явно больше половины. А на широте 85 уже в экран не влазит.

Автор:  Victor Pomortseff [ 29.04.2016 17:41 ]
Заголовок сообщения:  Re: создание карт для Magellan eXplorist 310, 510, 610, 710,

А модель какая? Навигатора в смысле. У меня 310-й и, сдается мне, что 68 пикселей у меня между внутренними сторонами "скрепки". Не может быть что " скрепка" разной длины?

Страница 53 из 62 Часовой пояс: UTC + 2 часа [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/