С помощью функции 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;
Задача ещё не решена.
Других решений пока нет …