Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

рисовать по мировым координатам


KIV ©   (2007-05-11 13:07:00) 

Доброго дня Мастера!
Опишу ситуацию.
Есть файл со списком координат точек (широта, долгота). Необходимо нарисовать линии от точки до точки.

Form1.Image1.Canvas.MoveTo(x1,y1)
Form1.Image1.Canvas.LineTo(x2,y2) работают только с integer, а координаты выглядят так  51.998910, 83.748585.
Кроме того надо как-то связать экранные координаты с мировыми, так чтобы полученный трэк входил в размеры формы.
Подскажите, пожалуйста, способ.


Думкин   (2007-05-11 21:38:00) [1]


> Джо ©   (11.05.07 21:15) [9]

Нет. Это знал даже Меркатор.


Джо   (2007-05-11 21:15:00) [2]

> [7] unknowing ©   (11.05.07 14:41)
>
> > Кроме того надо как-то связать экранные координаты с мировыми,
>
> >  так чтобы полученный трэк входил в размеры формы.
> > Подскажите, пожалуйста, способ.
>
> Здесь нужно вводить масштабный коэффициент

И угол разворота тоже.
В общем, этих 3-х параметров достаточно: масштабный коэффициент, угол разворота и начало координат.


Думкин   (2007-05-11 21:11:00) [3]

> MBo ©   (11.05.07 14:37) [5]

Это все хорошо. Но
1. Не понятны нужные масштабы
2. Земля - она геоид, а не плоскость.
3. Я знаю, что ты знаешь.


unknowing   (2007-05-11 14:41:00) [4]


> Кроме того надо как-то связать экранные координаты с мировыми,
>  так чтобы полученный трэк входил в размеры формы.
> Подскажите, пожалуйста, способ.

Здесь нужно вводить масштабный коэффициент


Unknowing   (2007-05-11 14:39:00) [5]


> KIV ©   (11.05.07 13:07)  

Попробуй GDI+, правда, для WIN9x|Me необходимо скачивать библиотеки.
Огромное кол-во информации, заголовочники  и примеры на http://www.progdigy.com/


MBo   (2007-05-11 14:37:00) [6]

>51.998910, 83.748585
Так-так... Озерко по дороге Михайловское - Огни ;)

Для небольших участков (скажем, 10 км) можно линейное маппирование использовать.
LongitudeLeft -> 0
LongitudeRight -> Width
промежуточные значения нетрудно высчитать.

Для широты аналогично (только учесть, что широта вверх растет, а экранная Y-координата- вниз)


Anatoly Podgoretsky   (2007-05-11 13:28:00) [7]

> KIV  (11.05.2007 13:07:00)  [0]

Пиксель на экране(канве)
тоже не имеет дробной
части.
Работать с мировыми
кординатами можно двояко,
или пересчет внутри
программы, или поручить
эту работу системе, второе
тяжелее для освоения.


iXT   (2007-05-11 13:23:00) [8]

работают только с integer, а координаты выглядят так  51.998910, 83.748585 Кроме того надо как-то связать экранные координаты с мировыми, так чтобы полученный трэк входил в размеры формы.

Не получиться :) Дробных пикселей еще не придумали


Думкин   (2007-05-11 13:18:00) [9]

Векторная графика нужна? А с проекцией как работать собираетесь?


Johnmen   (2007-05-11 13:16:00) [10]

Координаты в каких ед.измерения?


Наверх

Титульная страница Поиск, карта сайта Написать письмо