Как преобразовать координаты полилинии в видимую область отображения? - PullRequest
0 голосов
/ 11 сентября 2018

С помощью функции полилинии (hdc, * apt, cpt) я пытаюсь нарисовать маршрут в окне FullHD 1920 * 1080 пикселей, но у меня есть проблема, как преобразовать координаты GPS для отображения, которые находятся за пределами отображаемой области в части маршрут. Например, для дисплея установлено значение от 40 ° до 116 ° восточной долготы и от 9 ° северной до 40 ° южной широты. Как мне справиться с этим, если у меня есть некоторые точки маршрута (часть маршрута), например, 25 ° южной широты и 25 ° западной долготы вне зоны отображения? Маршрут представляет собой дрейфующий буй NOAA.

Координаты в моей структуре * apt имеют значения y = LAT * 1000 или y = (-1) * LAT * 1000 + 90000 для значений -LAT и x = LON * 1000, чтобы иметь возможность работать с целочисленными значениями (dword). ). Исходный LAT может иметь значения от -90 ° до + 90 ° и LON от 0 ° до 360 °.

Существует ли какая-либо функция координат преобразования GDI для обновления * подходящих значений точек до значений экрана с помощью маски отображения?

Расчет координат отображения в цикле для точек cpt: apt [i] .x = (GPS_LAT [x] - 40000) / (116000 - 40000) * 1920;

...