У меня есть координаты вершин прямоугольника в широте и долготе к примеру
1) 50.1206918701132 29.9907961594281
2) 50.1204843220237 29.9910643222503
3) 50.1203695279562 29.9908492137306
4) 50.1205768957582 29.990581048775
Мне надо по координатам этих точек нарисовать прямоугольник.
Подскажите как пересчитатьв пиксельные координаты и я так понимаю масштабировать? Если область рисования будет скажем 400 на 300 пикселей
Здравствуйте, pavel2011, Вы писали:
P>У меня есть координаты вершин прямоугольника в широте и долготе к примеру P>1) 50.1206918701132 29.9907961594281 P>2) 50.1204843220237 29.9910643222503 P>3) 50.1203695279562 29.9908492137306 P>4) 50.1205768957582 29.990581048775
P>Мне надо по координатам этих точек нарисовать прямоугольник. P>Подскажите как пересчитатьв пиксельные координаты и я так понимаю масштабировать? Если область рисования будет скажем 400 на 300 пикселей
Ну что Вы... Нет конечно.
Форма фигуры (на экране, т.е. на плоскости) будет зависеть от картографической проекции и эллипсоида.
Вы должны использовать либо готовую либу (или API) для работы с проекциями, либо нарисовать ее самому.
Расчет плоских координат по широте и долготе — очень обширная тема, на которой существуют много лет крупные производители.
Поэтому лучше говорить о конкретной проекции.
А масштабировать конечно надо, но форма фигуры от этого не изменится, т.е. это уже вопрос техники.
Здравствуйте, Bashka, Вы писали:
B>Здравствуйте, pavel2011, Вы писали:
P>>У меня есть координаты вершин прямоугольника в широте и долготе к примеру P>>1) 50.1206918701132 29.9907961594281 P>>2) 50.1204843220237 29.9910643222503 P>>3) 50.1203695279562 29.9908492137306 P>>4) 50.1205768957582 29.990581048775
P>>Мне надо по координатам этих точек нарисовать прямоугольник. P>>Подскажите как пересчитатьв пиксельные координаты и я так понимаю масштабировать? Если область рисования будет скажем 400 на 300 пикселей
B>Ну что Вы... Нет конечно. B>Форма фигуры (на экране, т.е. на плоскости) будет зависеть от картографической проекции и эллипсоида. B>Вы должны использовать либо готовую либу (или API) для работы с проекциями, либо нарисовать ее самому. B>Расчет плоских координат по широте и долготе — очень обширная тема, на которой существуют много лет крупные производители. B>Поэтому лучше говорить о конкретной проекции. B>А масштабировать конечно надо, но форма фигуры от этого не изменится, т.е. это уже вопрос техники.
А если у меня будет плоская система координат типа пулково.
1) 544442.1 344451.6
2) 544441.2 344421.3
3) 544443.5 344451.4
3) 544453.8 344441.4
Здравствуйте, pavel2011, Вы писали:
P>Здравствуйте, Bashka, Вы писали:
B>>Здравствуйте, pavel2011, Вы писали:
P>А если у меня будет плоская система координат типа пулково. P>1) 544442.1 344451.6 P>2) 544441.2 344421.3 P>3) 544443.5 344451.4 P>3) 544453.8 344441.4
Тогда другое дело. Координаты (в метрах) для Пулково 42 (или 63) можно пересчитать в пиксели.
Но, нужно помнить, что поперечная проекция Меркатора (ее модификацией является Гаусса-Крюгера Пулково) делится на зоны.
Только в пределах одной зоны гарантирована минимальная погрешность проекции.
А>А как это делается? Я что то совсем запутался...
Ничего страшного.
Узнаете разрешение экрана (в пикселах/дюйм или пикселах/метр). Это конечно, возможно узнать только системными средствами.
Если разрешение в пикселах/дюйм, то пересчитываете желаемый масштаб с коэфф. 1/дюйм.
Потом:
желаемый масштаб*разрешение экрана*координата угла прямоугольника.
Дальше уже пойдет рисование в пикселах.
Все.
Re: Широта Долгота & пиксельные координаты
От:
Аноним
Дата:
23.06.12 21:21
Оценка:
Здравствуйте, pavel2011, Вы писали:
P>У меня есть координаты вершин прямоугольника в широте и долготе к примеру P>Мне надо по координатам этих точек нарисовать прямоугольник.
Абсолютно НЕВЕРНО.
Ваша ссылка на поперечную проекция Меркатора.
А чаще всего для изображения ВСЕЙ поверхности Земли используется "Прямая проекция Меркатора"
Например, это карта Google.
И OpenStreet — плохой выбор SDK.
Я с ней работал и могу сказать, что это совсем уж дохлая вещь.
Здравствуйте, pavel2011, Вы писали:
P>Подскажите как пересчитатьв пиксельные координаты и я так понимаю масштабировать? Если область рисования будет скажем 400 на 300 пикселей
Библиотека proJ умеет пересчитывать географические координаты в прямоугольные.