Методика перевода гео-координат в относительные координаты полотна (draw) для рисования схемы? Здравствуйте. Возникла необходимость составить схему, без картографической подложки (белый фон). Схема составляется на полотне 300х300 мм или пикселей, на выбор. Есть объект - дорога - которая имеет две координаты, начала и конца участка. Точка А (45.006977, 39.117587) и точка Б (45.008380, 39.122297). Сам участок должен располагаться в центре полотна. При этом, объект не может превышать 2/3 ширины или высоты полотна, и располагаться в центре полотна рисования. Рисую схему в PIL (Python), но это не принципиально, т.к. принципы рисования стандартны - верхний левый угол имеет координаты (0,0), правый нижний угол имеет координаты (300,300). Получается, нужно перевести геокоординаты в относительные. Вот тут пока с мыслями туго. Буду рад, если кто-то подскажет направление.
Где x_pixel и y_pixel - пиксельные координаты точки на полотне, longitude и latitude - гео-координаты точки, longitude_start и longitude_end - гео-координаты начала и конца участка дороги, width_canvas и height_canvas - ширина и высота полотна рисования соответственно.
После вычисления пиксельных координат для точек А и Б, определите координаты прямоугольной области, в которой будет находиться дорога. Учитывайте, что она не может превышать 2/3 ширины или высоты полотна и должна быть расположена в центре полотна.Нарисуйте дорогу на полотне, используя полученные относительные координаты.
Надеюсь, эти указания помогут вам в переводе гео-координат в относительные координаты для рисования схемы. Если у вас возникнут дополнительные вопросы, не стесняйтесь их задавать. Удачи!
Для перевода гео-координат в относительные координаты на полотне рисования, вам нужно выполнить несколько шагов:
Определите центр полотна рисования (150, 150).Переведите гео-координаты точек А и Б в пиксельные координаты. Для этого можно воспользоваться формулой пропорциональной конвертации:
x_pixel = (longitude - longitude_start) / (longitude_end - longitude_start) width_canvas
y_pixel = (latitude_end - latitude) / (latitude_end - latitude_start) height_canvas
Где x_pixel и y_pixel - пиксельные координаты точки на полотне, longitude и latitude - гео-координаты точки, longitude_start и longitude_end - гео-координаты начала и конца участка дороги, width_canvas и height_canvas - ширина и высота полотна рисования соответственно.
После вычисления пиксельных координат для точек А и Б, определите координаты прямоугольной области, в которой будет находиться дорога. Учитывайте, что она не может превышать 2/3 ширины или высоты полотна и должна быть расположена в центре полотна.Нарисуйте дорогу на полотне, используя полученные относительные координаты.Надеюсь, эти указания помогут вам в переводе гео-координат в относительные координаты для рисования схемы. Если у вас возникнут дополнительные вопросы, не стесняйтесь их задавать. Удачи!