Страницы: 1 2 След.
RSS
Пересчёт координат точек для построения контурной карты РФ
 
Всем привет и с Новым годом!

Помогите решить задачку.
Дано: контурная карта РФ.
Цель: показать GPS-точки на этой карте.

Вопросы:
1. Как реализовать формулу пересчёта GPS в XY на VBA?
2. Как сделать формулу обратного пересчёта XY в GPS?

С уважением.
Изменено: Acid Burn - 16.04.2023 03:28:02
 
В зависимости от того карта с какой проекцией взята, нужно формулу искать. Канонические они ведь разные.
По вопросам из тем форума, личку не читаю.
 
БМВ, я не нашёл тип проекции для контурной карты.
Но надеюсь, что как-то упростить построение точек на ней всё же реально?
Изменено: Acid Burn - 08.01.2022 23:10:26
 
Конечно реально. Подобрать формулу преобразования координат, применить масштаб смещение и наслаждаться результатом.
По вопросам из тем форума, личку не читаю.
 
БМВ, по реализованному мной варианту реально подобрать формулу?
 
формулу для чего?
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Игорь, тут нужна формула преобразование долготы и широты, в координаты на плоскости с учетом канонической проекции. Правда какая именно каноническая используется  - не совсем известно.
По вопросам из тем форума, личку не читаю.
 
Для контурной карты используется азимутальная гномоническая проекция (судя по рис. 28, а - нормальная).
Значения X (широта / лучи) - от 10 до 200 градусов.
Значения Y (долгота / дуги)- от 10 до 90 градусов.

Похожие задачи:
- Нарисовать сетку в гномонической проекции и проекции Меркатора, показав на ней Фредериктон, Рим и Токио.
- Конвертировать широту/долготу в X,Y-график.
- Конвертировать X,Y-график обратно в широту/долготу.
Где-то очень рядом с моей задачей...
Изменено: Acid Burn - 11.01.2022 00:42:06
 
Acid Burn,  вам надо сперва посетить форумы картежников, в смысле картографистов :-). вопрос то не касается Excel, а чисто математика расчета.
Изменено: БМВ - 09.01.2022 21:25:16
По вопросам из тем форума, личку не читаю.
 
БМВ, понял Вас. Спасибо...

Немного доработал файл в посте #1.
Может так будет нагляднее и кто-нибудь поможет довести до ума?
Изменено: Acid Burn - 11.01.2022 19:10:36
 
Если обратить внимание, что я то по существу почти не отвечал, а остальные и вовсе не ... что значит тема не интересна, не по зубам, не ....

P.S. функции новых версий в файле сильно уменьшают круг помогающих.
По вопросам из тем форума, личку не читаю.
 
В участках [B26:F37] и [B39:F49], по которым нужна помощь, уже нет функций новых версий.
 
ну ну
=INDEX(_xlfn._xlws.SORT($K$6:$K$119;;1);MATCH(Q$6;_xlfn._xlws.SORT($K$6:$K$119;;1);1))
По вопросам из тем форума, личку не читаю.
 
Ой, извиняюсь, но в [B26:F37] точно нет. )) В Office 365 очень много полезных функций, без которых уже трудно обходиться - тот же SORT, LET и т.д. Файл заменил.
Изменено: Acid Burn - 12.01.2022 01:12:40
 
e41 и аналогичные
xy>gps - вам нужно искать не просто максимальные минимальные точки по одной кjординате, а именно определять принадлежность точки четырехугольнику. Вершины его развернуты и по одной координате искать нельзя, так как в таблице у вас и по X и по Y есть точки боле подходящие раздельно под условие которое вы сформировали.


P.S. то что ссылается на регионы с недоступными функциями тоже не могут пересчитываться корректно так что  ....
По вопросам из тем форума, личку не читаю.
 
БМВ
> именно определять принадлежность точки четырехугольнику
Это понятно, на том весь расчёт и зиждется. ))
Ищу я не по одной координате, а по парам координат точек, которые выше, правее, ниже и левее искомой.

Пересчёт GPS в XY основан на том, что параллели и меридианы идут с шагом 10 градусов.
Благодаря этому легко найти GPS-четырёхугольник, содержащий искомую GPS-точку,
рассчитать XY вершин этого четырёхугольника и XY этой точки внутри него.
Будет время - проверю совпадение маркеров на графике с точками на карте.

Пересчёт XY в GPS (обратная задача) оказался сложнее.
Ось Х идёт от 0 до 5000,00; долгота от 10 до 190; т.е. шаг по долготе 5000/(190-10)=27,(7): 10=0, 11=27,8, ..., 190=5000.
Ось Y идёт от 0 до 3124,14; широта от 30 до 80; т.е. шаг по широте 3124,14/(80-30)=62,48: 30=0, 31=62,48, ..., 80=3124,14).
Но тогда Москва (X=803,8; Y=2082,2) - это ~39/63 гр., но никак не 37,62/55,75.

P.S.1: Скачайте файл из поста №1, все функции Office 365 давно убраны.

P.S.2: Запутался в широте/долготе/X/Y/городах. )) Извиняюсь, ответ выше откорректировал.
Готовлю список точек на карте для проверки (т.е. формулы не трогаю), доделаю - выложу.

P.S.3: Доделал...
Выяснил, что пересчёт GPS в XY не только громоздкий, но и не очень точный - многие точки сливаются в 1.
Но хотя бы четырёхугольник находит правильно, алгоритм пересчёта XY в GPS пока и этого не может...
Изменено: Acid Burn - 12.01.2022 18:04:32
 
С оцифровкой карт дел не имел, но как мне кажется стандартная операция оцифровки в полярных координатах.
Для оцифровки в декартовых координатах вместо автокада лучше пользоваться профильными программами, например GetData Graph Digitizer
 
tutochkin
Про оцифровку карт речи не идёт. Надо лишь нанести точки/линии поверх сканированной карты.
 
Цитата
Acid Burn написал:
Ищу я не по одной координате, а по парам координат точек, которые выше, правее, ниже и левее искомой.
так я и показываю вам, что вы можете найти точку, которая типа максимальная по значению но меньше заданной точки
Код
=LARGE(IF(J5:J118>E45;"";J5:J118);1)

но принадлежит то она другой параллели из за искажения.
По вопросам из тем форума, личку не читаю.
 
БМВ
Да, параллели-дуги проблемные, может меридианы-лучи удобнее?
Меридиан 100 можно принять за начало координат X и сделать вертикальным.
Тогда слева будет 9 меридианов с отрицательным X, справа - 9 с положительным.

Сетка карты строится из [H:K] - 114 GPS-точек с шагом 10 градусов по X и Y.
Что, если искать лишь 1 ближайшую точку, а остальные "достраивать" через 10?
И вообще нужно ли достраивать ещё 3 точки - 2 уже дают прямую, вектор и угол.
Изменено: Acid Burn - 12.01.2022 23:20:39
 
Acid Burn, Возможно поиск о таблице удобнее в некоторых случаях, но ....
Есть проекция, и центр (полюс) её можно вычислить исходя из точки пересечения двух прямых, так же как и поворот её. С меридианами все просто. Это лучи от центра од определенным углом + угол поворота.

Параллели - . Ну то что окружности с центром в точке полюса.
строим прямую и окружность  - точка пересечения это XY, в обратку - строим тоже самое через эту точку. из угла прямой  с учетом смещения, получаем долготу, широту надо пересчитать из радиуса.
 
Изменено: БМВ - 13.01.2022 08:55:11
По вопросам из тем форума, личку не читаю.
 
БМВ
Это тоже понятно. Но как сделать программно?
 
это чистая математика. решение уравнений первой и второй степени.  вот только замер показывает, что углы  на карте тоже искажаются на картинке.
По вопросам из тем форума, личку не читаю.
 
БМВ
Целью построения каркаса и поиска четырёхугольника как раз было исключение искажений.
Возможно, учитывая масштаб карты, искажениями можно пренебречь (или измерить и указать max %).
Для решения системы уравнений в excel есть несколько методов, но далее ничего не ясно...
Изменено: Acid Burn - 13.01.2022 12:11:21
 
Предлагаю подвести промежуточный итог.
У нас есть 3 системы координат: гномоническая, Меркатора и прямоугольная (Excel).
Координаты точки определённо можно конвертировать в любую систему с помощью коэффициентов трансформации.
Может ли это GIS.XL или другая надстройка? Всех, у кого есть идеи/опыт в этой сфере, милости прошу к клавиатуре. ))
Изменено: Acid Burn - 15.01.2022 21:29:08
 
Цитата
Acid Burn написал:
Целью построения каркаса и поиска четырёхугольника как раз было исключение искажений.
в таком случае начните с определения между какими меридианами лежит  искомая точка.  Это две ближайшие линии. это даст две группы точек по двум меридианам.
По вопросам из тем форума, личку не читаю.
 
БМВ, эту формулу я находил (подробнее тут), но как-либо прикрутить к "Карта v4.2.xlsm" не смог... Поможете?

Калькулятор систем координат (пересчёт GPS в XY): "Для расчета параметров нам нужны три точки (можно больше, будет точнее) в двух системах координат, в WGS и в той самой местной системе координат, параметры которой Вы хотите знать."
Что бы я туда не подставлял, не работает... Или у меня руки кривые?
Изменено: Acid Burn - 16.01.2022 16:08:07
 
Что же, раз прогресса нет, просьба удалить тему.
 
Цитата
Acid Burn написал:
Про оцифровку карт речи не идёт.
Ну как бы... Исходя из того, что карта деформирована, то углы между меридианами не постоянны. Т.е. для начала я бы привязал всё к постоянным углам и расстояниям от 0. Т.е. нашёл бы коэфф-ты перевода.
Затем наложил бы рисунок на, скажем, лепестковую диаграмму...
И далее просто пересчитывал реальные координаты в поле координат кривого рисунка :)
 
Всем привет!
Таки сделал поиск точки на гномонической карте по GPS-координатам. Работает!
В [F:G] - пересчёт отдельно взятой точки GPS в XY, формула в принципе простая.
В [L:M] - эта же формула, адаптированная под список н/пунктов, 11-этажная. ))
Как уменьшить число этажей? Файл в посте №1.
Страницы: 1 2 След.
Наверх