Карта 2D координат на искаженную 3D карту - PullRequest
0 голосов
/ 07 апреля 2020

Я хотел бы попытаться показать геолокацию на лыжной карте. Подумайте о искаженном виде сбоку, например this .

  • Карта изображения имеет простую систему координат 1600x1000 пикселей.
  • У меня есть множество координат широты / долготы, которые я могу сопоставить с позициями на изображении (например, подъемными станциями). У меня есть реальные 2D-координаты для всех них.

Хотя это, вероятно, не очень точно, я думаю, что должен быть какой-то способ отображения 2D-координат на изображение, говоря, что я знаю, что

  • широта / lang 46°35'06.2"N 7°57'38.9"E -> 1200px/400px

  • широта / lang 46°35'10.5"N 7°56'49.7"E -> 1000px/550px.

    et c ...

Вероятно, конечно, что нарисованная карта искажена, а пропорции далеки от реальности. Но имея достаточно точек сопоставления, можно было бы преодолеть это?

Хотя мне, вероятно, не хватает математических основ, я думаю об интерполяции между ближайшими точками. Я также подумал, что «Диаграмма / алгоритм фон Роя» может сыграть свою роль? Это область размером 10 км x 10 км, поэтому я надеюсь, что всей проекцией Меркатора можно пренебречь?

Я нашел этот вопрос о той же топике c, но мне может понадобиться немного больше помощи с точки зрения кодирования этого. Желательно с помощью javascript.

Моя идея состоит в том, чтобы сначала создать небольшой инструмент, с помощью которого я могу визуально отобразить (много!) Точек от 2D-карты до координат изображения.

Обновление : я создал "Инструмент": https://jsfiddle.net/exophunk/32kr49ag/

Если вы наведете указатель мыши на карту с левой стороны, я уже могу рассчитать расстояние до три ближайших пункта. И каждая точка отображается на точку справа. Как мне теперь перевести эту точку вправо? Я знаю, что это математически не «возможно», так как точки справа могут быть расположены по-другому. Но как я могу получить ближайший результат, который учитывает расстояния?

...