Рисование точек по географическим координатам. Нужна помощь!

MapInfo, MapBasic
Аватара пользователя
Colonizator
Новоприбывший
Сообщения: 8
Зарегистрирован: 30 авг 2011, 16:39
Репутация: 0

Рисование точек по географическим координатам. Нужна помощь!

Сообщение Colonizator » 31 авг 2011, 11:04

Постановка вопроса: Имеется растр Беларусь масштаба 1:1000 000 (в углу карты написано "прямая равноугольная коническая проекция"). На него необходимо нанести точки с географическими координатами. MapInfo 10.5
Алгоритм моих действий:
1) Зарегистрировал растр в проекции: прямые конические проекции России и бывш. СССР --> равноугольная Ламберта-Гауса (СССР) по 5 точкам.
Спойлер
Изображение
2) Есть текстовый файл с координатами точек (географическими, градусы-минуты-секунды)
Спойлер
51.50 30.37
52.0 30.40
52.0 30.45
51.55 30.49
51.50 30.40
51.40 23.45
52.0 23.45
52.0 23.40
51.40 23.33
51.57 26.57
51.45 26.57
51.50 26.39
51.57 26.39
52.4 30.46
52.5 31.35
52.15 31.35
52.39 31.33
52.40 30.59
52.15 30.46
Жму открыть текстовый файл, в качестве разделителя ставлю "пробел". Жму "Ок" --> появляется список с 2-мя колонками (вроде все как надо)
Спойлер
Изображение
3) Жму Таблица --> Создать точечные объекты. Проекцию выбираю такую же как и при привязке растра (равноугольная Ламберта-Гауса (СССР). Колонки для х и y менял местами - не помогло.
Спойлер
Изображение
Все... Точки улетают далеко далеко... Проверяю курсором их координаты - они совсем не совпадают с теми которые находятся в таблице. :(
Спойлер
Изображение
Вопрос: Что я не так делаю? Может быть мэпинфо не понимает географические координаты?

P.S. Гуглил, искал по форуму - безрезультатно. Если есть другое решение моей задачи (другая прога, другой алгоритм - предлагайте, с радостью воспользуюсь)

Аватара пользователя
nadiopt
Гуру
Сообщения: 4744
Зарегистрирован: 29 янв 2009, 13:27
Репутация: 495
Ваше звание: хрюкало
Откуда: Санкт-Петербург
Контактная информация:

Re: Рисование точек по географическим координатам. Нужна пом

Сообщение nadiopt » 31 авг 2011, 11:16

дык...
точки у вас в географических координатах, стало быть, и координаты надо вводить в географической системе координат, т.е. или в WGS, или в Pulkovo-42, а вы вводите в равноугольной - не думаю, что точки у вас в этой системе координат и проекции.
Не знаю, перепроецирует ли Мапа вектор на лету, так что может надо будет потом ваш точечный файл перегнать из WGS в проекцию растра
ин гроссен фамилен нихт клювен клац клац

ggis
Завсегдатай
Сообщения: 302
Зарегистрирован: 31 окт 2008, 10:39
Репутация: 2

Re: Рисование точек по географическим координатам. Нужна пом

Сообщение ggis » 31 авг 2011, 12:04

Мап умеет перепроецировать вектор на лету, так что для точек указывайте географическую СК Pulkovo-42.

Аватара пользователя
Colonizator
Новоприбывший
Сообщения: 8
Зарегистрирован: 30 авг 2011, 16:39
Репутация: 0

Re: Рисование точек по географическим координатам. Нужна пом

Сообщение Colonizator » 31 авг 2011, 12:08

дело в том что на растре имеется координатная сетка, по ней я и привязывался
Спойлер
Изображение
Спойлер
Изображение
Т.е. я так понял что равноугольная проекция считается градусами, минутами и секундами, правильно?
Точки у меня в ск-42, но это же ничего не меняет, давайте просто представим, что мои точки стали точками из равноугольной проекции. Может надо как-то по-другому вводить координаты? Может мэпинфо не понимает, что я ввожу градусы и минуты (секунд нету, округляются до минуты координаты)?

Аватара пользователя
nadiopt
Гуру
Сообщения: 4744
Зарегистрирован: 29 янв 2009, 13:27
Репутация: 495
Ваше звание: хрюкало
Откуда: Санкт-Петербург
Контактная информация:

Re: Рисование точек по географическим координатам. Нужна пом

Сообщение nadiopt » 31 авг 2011, 12:17

может она за десятичные их считает?
и все-таки надо указывать Пулково
ин гроссен фамилен нихт клювен клац клац

Аватара пользователя
Colonizator
Новоприбывший
Сообщения: 8
Зарегистрирован: 30 авг 2011, 16:39
Репутация: 0

Re: Рисование точек по географическим координатам. Нужна пом

Сообщение Colonizator » 31 авг 2011, 12:23

ggis писал(а):Мап умеет перепроецировать вектор на лету, так что для точек указывайте географическую СК Pulkovo-42.
Чтоб мне "здохнуть" :D спасибо вам большое! Все получилось!

Аватара пользователя
Mavka
Гуру
Сообщения: 2060
Зарегистрирован: 14 мар 2008, 17:36
Репутация: 9

Re: Рисование точек по географическим координатам. Нужна пом

Сообщение Mavka » 31 авг 2011, 12:25

Я не дипломированный географ, но проекции считаются в линейных единицах (футы, метры, километры), а не в угловых. На карту наложена градусная сетка, но к проекции она не имеет отношения. Если вы привязывали карту по углам в градусах, то стоило указать не проекцию "равноугольная Ламберта-Гауса" а географическую СК "Пулково-1942".
Последний раз редактировалось Mavka 01 сен 2011, 10:40, всего редактировалось 2 раза.
лангольеры под окном жрали время ом-ном-ном

Аватара пользователя
Colonizator
Новоприбывший
Сообщения: 8
Зарегистрирован: 30 авг 2011, 16:39
Репутация: 0

Re: Рисование точек по географическим координатам. Нужна пом

Сообщение Colonizator » 31 авг 2011, 12:36

Как тогда объяснить, что в мэпинфо при выборе проекции "равноугольная Ламберта-Гауса (СССР)" в еденицах измерения присутствую градусы...

Boris
Гуру
Сообщения: 4231
Зарегистрирован: 10 апр 2006, 22:34
Репутация: -344969098
Откуда: Париж

Re: Рисование точек по географическим координатам. Нужна пом

Сообщение Boris » 01 сен 2011, 03:00

Colonizator писал(а):Как тогда объяснить, что в мэпинфо при выборе проекции "равноугольная Ламберта-Гауса (СССР)" в еденицах измерения присутствую градусы...
Присутствуют где?

Код: Выделить всё

"Равноугольная Ламберта-Гаусса (СССР)", 3, 1001, 1, 100, 54, 50, 70, 0, 0
цифра 3 после первой запятой означает - "Равноугольная коническая проекция ", т.е. имеют место линейные координаты. А градусы присутствуют в мапинфо везде, где проекция не план-схема (смотрим настройки - читаем мануал) :wink:

Аватара пользователя
Colonizator
Новоприбывший
Сообщения: 8
Зарегистрирован: 30 авг 2011, 16:39
Репутация: 0

Re: Рисование точек по географическим координатам. Нужна пом

Сообщение Colonizator » 01 сен 2011, 09:13

Думаю вы правы. Тогда не могли бы вы помочь мне определиться с проекцией при привязке растра. Если выбираю "Долгота/Широта (Пулково 1942)(EPSG: 4284)" - получаются просто огромные ошибки (невязки, я правильно обозвал их?)
Спойлер
Изображение

Аватара пользователя
Mavka
Гуру
Сообщения: 2060
Зарегистрирован: 14 мар 2008, 17:36
Репутация: 9

Re: Рисование точек по географическим координатам. Нужна пом

Сообщение Mavka » 01 сен 2011, 09:31

Спроецировать точки (25;55)..(28;54) в равноугольную проекцию и получить их координаты в метрах. Привязывать по градусной сетке, но указывать координаты уже в метрах.

Невязки возникли из-за сложной формы сетки. В зависимости от алгоритма и количества точек ошибку можно уменьшить, ну лучше привязывать в той проекции в которой карта реально находится.
лангольеры под окном жрали время ом-ном-ном

Аватара пользователя
Colonizator
Новоприбывший
Сообщения: 8
Зарегистрирован: 30 авг 2011, 16:39
Репутация: 0

Re: Рисование точек по географическим координатам. Нужна пом

Сообщение Colonizator » 01 сен 2011, 09:51

Mavka писал(а):Спроецировать точки (25;55)..(28;54) в равноугольную проекцию и получить их координаты в метрах.
Опять же встречный вопрос :roll: Где можно почитать как это сделать? Как можно перевести именно в равноугольную проекцию? Например в том же "PHOTOMOD GeoCalculator" никаких равноугольных проекций нету, видимо ее надо там создать, чтобы перевести координаты?

И в таком случае, для нанесения точек на эту карту мне придется их географические координаты тоже переводить в метры?

Донецков
Гуру
Сообщения: 3058
Зарегистрирован: 19 май 2010, 19:44
Репутация: 189

Re: Рисование точек по географическим координатам. Нужна пом

Сообщение Донецков » 01 сен 2011, 10:17

Вопрос...
Вы в начале правильно начали привязывать растр:
-- Зарегистрировал растр в проекции: прямые конические проекции России и бывш. СССР --> равноугольная Ламберта-Гауса (СССР) по 5 точкам.-- Можно конечно ввести больше точек, в идеале все пересечения градусной сетки...
Зачем Вы после пытаетесь привязать растр в "Долгота/Широта (Пулково 1942)(EPSG: 4284)", конечно у Вас среднеквадратические ошибки увеличились на порядок... У Вас же растр (бумажный оригинал) спроецирован в прямую равноугольную коническую проекцию.
Единственно для Белоруссии можно создать свою строку в файле проекции программы типа:
"Равноугольная Ламберта-Гаусса (Белоруссия)", 3, 1001, 1, вставляете свое значение долготы = средине Вашей карты, 54, 50, 70, 0, 0 - должно получится лучше и не будет заваливать Белоруссию как на западной окраине СССР...
Точки если в широте, долготе вводите как вводили, единственно используйте Долгота/Широта (Пулково 1942) - если они уже спроецированы на эллипсоид Красовского или WGS-84 если это сырые GPS данные. Программа сама их совместит как нужно...
Если у Вас точки в метрах, то скорее всего это в Гаусса-Крюгера Пулково-1942, на Белоруссию это где-то 5 и 6 зоны, то и вводить их нужно в этой системе, т.к. координаты в метрах в прямых конических проекциях никогда в ходу не были...

Аватара пользователя
Colonizator
Новоприбывший
Сообщения: 8
Зарегистрирован: 30 авг 2011, 16:39
Репутация: 0

Re: Рисование точек по географическим координатам. Нужна пом

Сообщение Colonizator » 01 сен 2011, 10:39

Донецков писал(а): Зачем Вы после пытаетесь привязать растр в "Долгота/Широта (Пулково 1942)(EPSG: 4284)", конечно у Вас среднеквадратические ошибки увеличились на порядок... У Вас же растр (бумажный оригинал) спроецирован в прямую равноугольную коническую проекцию.
Видимо я не верно понял сообщение Mavka
Mavka писал(а):На карту наложена градусная сетка, но к проекции она не имеет отношения. Если вы привязывали карту по углам в градусах, то стоило указать не проекцию "равноугольная Ламберта-Гауса" а географическую СК "Пулково-1942".
Донецков писал(а):Точки если в широте, долготе вводите как вводили, единственно используйте Долгота/Широта (Пулково 1942)
Именно так и делаю:) В общем идеальная точность мне не нужна, все делается просто для печати карты. Поэтому полмиллиметра неточности можно себе простить, так как до меня, эти точки (полигоны) наносились карандашиком на бумажную карту...

Всем спасибо, вы мне очень помогли!

Boris
Гуру
Сообщения: 4231
Зарегистрирован: 10 апр 2006, 22:34
Репутация: -344969098
Откуда: Париж

Re: Рисование точек по географическим координатам. Нужна пом

Сообщение Boris » 01 сен 2011, 13:22

Я позволю последнее замечание. Для правильного использования привязки, которая содержит градусную сетку надо точки сетки, которые предполагается использовать в дальнейшем ЗАРАНЕЕ внести в таблицу точек в проекции Долгота/Широта набив их в столбики руками.
Затем надо геокодировать эти точки - через таблица-создать точки.
Теперь открываем геокодированные точки в новом окне и меняем его проекцию на ту, в которой создана карта.
Вызываем окно регистрации растра. Выставляем проекцию регистрации = проекции карты.
Точки для регистрации собираем так: растр берем из окна растра, а точку, к которой привязываем из открытого окна карты, включив привязку (кнопка S).

Ответить

Вернуться в «MapInfo»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 4 гостя