Возможно вам подойдёт вот это: http://www.remotesensing.org/proj
А>Как конвертровать (Широту, Долготу) -> в координаты на экране?
А>P.S.: А>широта и долгота из файла .mp А>(польский формат карт, вобщем проекция вроде обычная какая-то)
... << RSDN@Home 1.1.4 stable rev. 510>>
Re[2]: (Широта, Долгота) -> координаты на экране
От:
Аноним
Дата:
14.12.05 12:07
Оценка:
Здравствуйте, Mc_Leod, Вы писали:
M_L>Здравствуйте, <Аноним>, Вы писали:
M_L>Возможно вам подойдёт вот это: M_L>http://www.remotesensing.org/proj
Попроще чего-нибудь нет?
А>>Как конвертровать (Широту, Долготу) -> в координаты на экране?
А>>P.S.: А>>широта и долгота из файла .mp А>>(польский формат карт, вобщем проекция вроде обычная какая-то)
Здравствуйте, Аноним, Вы писали:
А>широта и долгота из файла .mp А>(польский формат карт, вобщем проекция вроде обычная какая-то)
Формата .mp не знаю, но широта и долгота — это не проекция, это географические координаты. А проекция должна быть у тебя на экране. Соответственно надо что-нибудь почитать, выбрать подходящую проекцию и раелизовать ее формулы.
Re[2]: (Широта, Долгота) -> координаты на экране
От:
Аноним
Дата:
14.12.05 12:30
Оценка:
Здравствуйте, wildwind, Вы писали:
W>Здравствуйте, Аноним, Вы писали:
А>>широта и долгота из файла .mp А>>(польский формат карт, вобщем проекция вроде обычная какая-то) W>Формата .mp не знаю, но широта и долгота — это не проекция, это географические координаты.
Не может быть...
про польский формат — это к тому, что он использует наиболее используемую проекцию WGS-84
А>>А проекция должна быть у тебя на экране. Соответственно надо что-нибудь почитать, выбрать подходящую проекцию и А>>раелизовать ее формулы.
Здравствуйте, Аноним, Вы писали:
А>про польский формат — это к тому, что он использует наиболее используемую проекцию WGS-84
Ну значт в файле не широта.
Здравствуйте, Анатолий Широков, Вы писали:
А>>про польский формат — это к тому, что он использует наиболее используемую проекцию WGS-84
АШ>WGS-84 это не проекция, а набор параметров (датум), описывающих эллипсоид.
С этим я разобрался
АШ>А проекция это все лишь
АШ>
АШ>u = u(fi, la)
АШ>v = v(fi, la)
А вот это-то, как раз, то что мне нужно, только где
взять сами эти формулы преобразования?
Кстати, обычно ведь ГИС используют цилиндрическую проекцию? Если нет, то какую?
И как в эту самую проекцию преобразовывать географические координаты?
Здравствуйте, Аноним, Вы писали:
А>А вот это-то, как раз, то что мне нужно, только где А>взять сами эти формулы преобразования?
Ну тут Вам годик прийдется книжки почитать.
Весьма непростая математика — проекции.
А>Кстати, обычно ведь ГИС используют цилиндрическую проекцию? Если нет, то какую? А>И как в эту самую проекцию преобразовывать географические координаты?
Любая ГИС имеет коллекцию из разных проекций.
Выбираешь ту которая тебе нужна.
А вот какая нужна — для этого толстые книжки и существуют.
Если нужно — дам пару реф. на бумажные издания.
А отобразить широту/долготу на экране — лучше всего использовать
SetWorldTransform()
Но она никакого отношения не имеет к проекциям и широте/долготе. Это все — ручками писать.
Просто заменяет страничную систему координат.
Вобщем самому писать (а я уже такое написал) — не советую.
Разве что для общего развития .
Re[6]: (Широта, Долгота) -> координаты на экране
От:
Аноним
Дата:
17.12.05 13:41
Оценка:
Здравствуйте, RealBobEx, Вы писали:
RBE>Здравствуйте, Аноним, Вы писали:
А>>А вот это-то, как раз, то что мне нужно, только где А>>взять сами эти формулы преобразования?
RBE>Ну тут Вам годик прийдется книжки почитать. RBE>Весьма непростая математика — проекции.
А>>Кстати, обычно ведь ГИС используют цилиндрическую проекцию? Если нет, то какую? А>>И как в эту самую проекцию преобразовывать географические координаты?
RBE>Любая ГИС имеет коллекцию из разных проекций. RBE>Выбираешь ту которая тебе нужна. RBE>А вот какая нужна — для этого толстые книжки и существуют. RBE>Если нужно — дам пару реф. на бумажные издания.
RBE>А отобразить широту/долготу на экране — лучше всего использовать RBE>
RBE>SetWorldTransform()
RBE>
RBE>Но она никакого отношения не имеет к проекциям и широте/долготе. Это все — ручками писать. RBE>Просто заменяет страничную систему координат. RBE>Вобщем самому писать (а я уже такое написал) — не советую. RBE>Разве что для общего развития .
А>Нормально преобразует географические координаты в экранные А>Форму геоида просто немного еще подправить нужно (ведь земля как выяснилось не круглая!)
Проще было бы просто привести
float к double
И умножить на что угодно. Вы фактически ввели просто коэффициент увеличения.
Но это не есть картографическая проекция. Проекция — это отображение геоида на плоскость с минимальными искажениями. У Вас же, если Вы нарисуете например Аляску, она займет места как половина Африки.
А это не так.
А поскольку невозможно развернуть тело подобное шару на плоскость без искажений, то и существуют РАЗНЫЕ проекции для РАЗНЫХ целей. У одних, скажем максимум погрешности в вычислении площади, зато углы и длины практически не искажаются (проекция Меркатора). У других — по другому.
Очень рекомендую почитать гениальных предшественников, хотя бы Крассовского.
Иначе браться за это дело бессмысленно.
В целом, чтобы все было четко, эта работа как минимум на год.
И Вам прийдется начать с изучения новой профессии — картографа.