Как преобразовать координаты полилинии в видимую область отображения?

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

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

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

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

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]