Как правильно переводить из одной проекции в другую...

MapInfo, MapBasic
Лев
Участник
Сообщения: 99
Зарегистрирован: 02 сен 2014, 20:05
Репутация: 1

Как правильно переводить из одной проекции в другую...

Сообщение Лев » 11 мар 2015, 21:18

По-правде говоря не знаю как правильно назвать тему т. к. не знаю где я неправильно делаю. В общем проблема такая. Главная цель -- это открыть слои в ArcMap-e (10.2) оцифрованные на привязанной карте (Пулково 1942) с помощью MapInfo . Последовательность моих действий:
1. В MapInfo привязал карту (Пулково 1942), оцифровал (точки, полигоны и полилинии);
2. Через универсальный транслятор перевожу в shp, открываю в ArcMap-е и карта лежит как будто на боку.
Попробовал по другому:
1.В MapInfo оцифрованную карту из Пулково 1942 меняю проекцию:
1.1.файл-сохр. копию- задаю проекцию план-схема (метры)- появляется вот это
2015-03-11_204304.jpg
2015-03-11_204304.jpg (17.75 КБ) 22163 просмотра
1.2. нажимаю OK
2.Открываю в ArcMap-е. Кроме одной точки ничего не показывает.

Может в ArcMap-e как-то надо проекцию надо поменять или в настройках проблема? Кто хоть что-то понимает (в отличии от меня), подскажите пожалуйста по-подробнее правильное действие. Заранее весьма благодарен.

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

Re: Как правильно переводить из одной проекции в другую...

Сообщение Донецков » 11 мар 2015, 21:32

Привязка карты - растра?
как привязывали - "геодезически или математически"? какого направление осей? мапинфо работает в декартовой системе, т.е. сначала Y потом Х (геодезические)...

В Мапинфо нельзя стандартными средствами изменить из проекции в план-схему и обратно, это только в ручную править mif, либо дополнительные утилиты...

Лев
Участник
Сообщения: 99
Зарегистрирован: 02 сен 2014, 20:05
Репутация: 1

Re: Как правильно переводить из одной проекции в другую...

Сообщение Лев » 11 мар 2015, 21:42

Привязывал растр: открываю карту отсканированную- "Регистрировать" и по углам забиваю координаты (т. е. это у меня планшет называется, если не ошибаюсь) сначала по широте потом по долготе(координаты указаны по углам) и задаю проекция Пулково 1942 т. к . карта советского времени (Среднее Поволжье). А в ArcMap-е мне надо только саму оцифровку для построения других тематических карт.

a23k
Интересующийся
Сообщения: 46
Зарегистрирован: 17 апр 2012, 21:04
Репутация: 3

Re: Как правильно переводить из одной проекции в другую...

Сообщение a23k » 11 мар 2015, 22:14

Примите мои две копейки: скорее всего надо поменять при привязке икс и игрек(как было сказано). Еще один совет для спрашивающего - больше вводной информации для мастеров. Скорее всего в советском планшете координаты в углах географические: градусы, минуты. Их надо пересчитывать в десятичные градусы, в МИ есть для этого программка. Чтобы на выходе получить план-схему, координаты нужны в "метровом эквиваленте" и в проекции учитывать зональность. После привязки - экспорт в МИФ, открытие МИФа блокнотом и переписывание проекции на план-схему, потом- импорт обновленного МИФа.
Всё - поистратился.

Лев
Участник
Сообщения: 99
Зарегистрирован: 02 сен 2014, 20:05
Репутация: 1

Re: Как правильно переводить из одной проекции в другую...

Сообщение Лев » 11 мар 2015, 22:31

Вот например:
рис.1.jpg
рис.1.jpg (83.93 КБ) 22126 просмотров
Сначала водил Х (широта), потом У(долгота).
a23k, а как называется программа для пересчитывания в десятичные градусы?
Всем огромное спасибо за отклики на мой вопрос.

Аватара пользователя
Игорь Белов
Гуру
Сообщения: 2240
Зарегистрирован: 04 янв 2011, 22:00
Репутация: 1513
Откуда: Казань

Re: Как правильно переводить из одной проекции в другую...

Сообщение Игорь Белов » 11 мар 2015, 22:49

Сначала в диалоге выбираете проекцию: [Проекция...] > "Гаусса-Крюгера (Пулково 1942)" > "ГК зона 8".
Затем выбираете единицы измерения: [Единицы...] > "Градусы".

Градусы с десятичными долями вычисляете на калькуляторе или в Excel по формуле:
градусы + минуты / 60 + секунды / 3600

В примере вводите
X = 47
Y = 56 + 20 / 60 = 56.333333
The purpose of computing is insight, not numbers

a23k
Интересующийся
Сообщения: 46
Зарегистрирован: 17 апр 2012, 21:04
Репутация: 3

Re: Как правильно переводить из одной проекции в другую...

Сообщение a23k » 11 мар 2015, 23:00

В Ми икс-долгота, игрек -широта. Для пересчета градусов стандартно установлена "dmscnvrt.MBX", в окне Программы так и называется -пересчет градусов, нужно только запустить. Если вдруг планшет не один и потребуется "склеить" карту побольше, края у планшетов нужно обрезать, чтобы потом не было перекрытий. Я тупо делал это в Пейнт-нете. А обрезанные растры удобно регистрировать по номенклатурной сетке, где-то должны быть ссылки, см. в поисковике по форуму, м.б. даже и на сайте ESTI MAP. Про выбор проекций -тема сложная, я использовал в похожем случае СК42.
Для начинающего полезно посмотреть http://npk-kaluga.ru/SovetyMapInfo.htm.
По Вашему проекту: может быть поискать на торрентах другие планшеты, уже с привязкой.
В теме, что пониже, вдруг оказалась утилита для перепроецирования в том числе в план-схему viewtopic.php?f=17&t=17287&start=15

OlegSLB
Интересующийся
Сообщения: 28
Зарегистрирован: 20 сен 2014, 11:05
Репутация: 5

Re: Как правильно переводить из одной проекции в другую...

Сообщение OlegSLB » 12 мар 2015, 08:34

чтобы не путаться с десятичными градусами и градусами/минутами/секундами порекомендую вам привязывать карту сразу в метрах. Обратите внимание, на карте, которую вы выложили, есть координатная сетка. Координаты углов планшета указаны в градусах, их надо переводить в десятичные градусы для привязки в мапинфо. Но так же на рамке есть координаты в метрах (вернее в километрах) сверху 8626, слева 6246. Т.е. координаты точки пересечения этих линий сетки будут 8626000 метров по долготе и 6246000 метров по широте. В мапинфо соответственно широта это Y, долгота это X. Выбирайте проекцию гаусса-крюгера, пулково 1942, зона 8 и задавайте координаты точек привязки в метрах, на растре указывайте пересечение соответствующих линий сетки. Ну и не зебудьте указать единицы при привязке метры.

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

Re: Как правильно переводить из одной проекции в другую...

Сообщение Донецков » 12 мар 2015, 11:52

И встречный вопрос, зачем привязывать в MapInfo, если собираетесь работать в ArcGIS, в нем и привязывайте...

Лев
Участник
Сообщения: 99
Зарегистрирован: 02 сен 2014, 20:05
Репутация: 1

Re: Как правильно переводить из одной проекции в другую...

Сообщение Лев » 12 мар 2015, 15:54

Отвечаю на вопрос: у меня есть очень подробнейшая векторная карта населённого пункта сделанная в MapInfo проекцией план-схема (метры) без подложки (т. е. без той карты которую выложил). В этой векторной карте граница данного нас. пункта немного другая которую мне надо поменять на другую границу. Вот та граница, которую надо вставить в план-схему, она у меня имеется в другом рабочем наборе оцифрованная на карте в проекции Пулково 1942(выложенная карта). Т. е. один и тот же участок. Далее я действовал следующим образом (до того как открыл данную тему):
В первом рабочем наборе:
1. Привязал карту (растр) в проекции Пулково 1942;
2. Оцифровывал её;
Во втором рабочем наборе (План-схема в метрах) (работал с копиями):
3. Объединил в одну таблицу некоторые слои для работы в первом рабочем наборе. (Почему? Объясню далее) ;
В первом рабочем наборе:
4. Добавляю таблицу из второго рабочем набора;
5. Укрупняю масштаб карты (растра), снимаю галочки с временно ненужных слоёв;
6. Открываю утилиту "Регистрация векторов" и "прилепаю" к растру.
7. Проверяю проекцию таблицы. Поменялась на Пулково 1942 (если данный слой (таблицу TAB) отдельно открыть показывает План-схема в метрах)
Далее экспортирую векторы (сделанные как в первом так и во втором раб. наб.) в shp и открываю в ArcGIS-е. Но вид уже не тот.
Длинный ответ получился. Попробую вкратце: объединить два рабочих набора с разными проекциями в одну проекцию, экспортировать в shp и открыть в ArcGIS-е в нормальном виде для дальнейшей работы. К тому же в MapInfo "чувствую себя более увереннее".
Надеюсь изложил понятно.
Всем большое спасибо за помощь.
Чуть не забыл, а как можно задать "ГК зона 8" (ErnieBoyd), " Выбирайте проекцию гаусса-крюгера, пулково 1942, зона 8" (OlegSLB)? Где там такая "волшебная кнопочка"? У меня в MapInfo 12.0 "ни разу её не встречал".
2015-03-12_155644.jpg
2015-03-12_155644.jpg (98.22 КБ) 21998 просмотров

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

Re: Как правильно переводить из одной проекции в другую...

Сообщение Донецков » 12 мар 2015, 16:45

Путь странный и по моему в корне не верный...

"Есть подробная векторная карта н.п. в план-схема" - замечательно, самый правильный путь найти параметры СК в которой сделана эта карта, вариантов 2: 1 - координаты "настоящие", только вместо "определенной" системы координат - выставлена "план-схема" - ну не заморачивались создатели векторной карты выставить как положено СК, а выбрали "план-схему" - сам когда-то с этого начинал, но координаты введены были "верные", с городских планшетов и т.п. - при этом нужно определить в какой СК это представлено СК-95, СК-42, СК63, МСК региона или городской СК - от этого и плясать, на что-то есть параметры изначально в мапинфо, что-то опубликовано в интернете и можно их добавить, что-то нужно "находить" в документах об установлении местной СК (часто "секретно"), на что нет "готовых" параметров - нужно пытаться их вычислить...
2 - координаты полностью "левые", в лучшем случае левый нижний угол - 0,0 (или любое другое число), т.е. не имеющее никакого отношения к "реальным" координатам - часто такое получено после импорта из других графических систем, и хорошо если они метрические, т.е. 1 ед. измерения = 1 м на местности, в противном случае это сначала нужно отмасштабировать и потом опять же, либо по известным точкам - "переносить" в реальные координаты, либо находить параметры и писать определение "своей" системы координат.
После этого производится программный перевод из план-схемы в "реальную" СК, которую вы определили (проще всего с помощью ReCALC70).
В итоге получите карту в "реальных" координатах, которую можно совместить с другой картой в любой известной СК, т.к. пересчет производится автоматически...
И не в коем случае непрактично привязывать "детальный" вектор к среднемасштабному растру топокарты - "убьете все живое"
- задать "ГК зона 8" , " Выбирайте проекцию гаусса-крюгера, пулково 1942, зона 8" - можно в том же окне, что показано и у Вас, только пролистайте перечни СК дальше, найдете и нужную, систем координат в мапинфо сотни, если не тысячи - не бойтесь искать..., а так вы пытаетесь привязать топокарту, которая уже сделана в определенной СК к географическим координатам в Системе координат, которая для топокарт абсолютно не предназначена (это система координат мелкомасштабных, обзорных карт), что только увеличит погрешность привязки..

Лев
Участник
Сообщения: 99
Зарегистрирован: 02 сен 2014, 20:05
Репутация: 1

Re: Как правильно переводить из одной проекции в другую...

Сообщение Лев » 12 мар 2015, 18:29

Большое спасибо, Донецков. Система координат у векторной карты скорее всего СК-42 (подсказали знающие в этой области). Очень много полезной информации я от Вас получил, но к сожалению не обладаю такими навыками которые Вы мне советуете (вычисление параметров, "отмасштабировать и потом опять же, либо по известным точкам - "переносить" в реальные координаты, либо находить параметры и писать определение "своей" системы координат,
производить программный перевод из план-схемы в "реальную" СК"). Вот бы мне все Ваши знания в области геодезии и картографии :-) .
А можно как-то (а может и утилита есть для этого) границу нас. пункта из Пулково 1942 перевести в план-схему (метры) и "слепить" с подробной векторной картой? Т. е. получается вектор на вектор.

a23k
Интересующийся
Сообщения: 46
Зарегистрирован: 17 апр 2012, 21:04
Репутация: 3

Re : Как правильно переводить из одной проекции в другую...

Сообщение a23k » 12 мар 2015, 21:40

Похоже, пора договариваться о понятиях и терминах.
Фраза "Вот та граница, которую надо вставить в план-схему, она у меня имеется в другом рабочем наборе оцифрованная на карте в проекции Пулково 1942(выложенная карта)" меня заставила предположить, что существуют три исходных материала:
1- некие "слои без растра"(со мной такое случалось, когда утрачивались привязанные планшеты);
2- среднемасштабный планшет (кстати, на нем или из аналогичной серии должна быть указана система координат);
3- слой с границей нас. пункта, предположительно той же проекции, что и п.2.
Так ли это? Эта тема - продолжение "Привязка вектора 2"?
Чтобы получить хоть какой-то результат, пусть с большой погрешностью, я бы попробовал соотнести п.1 и п.2 по неким характерным точкам: изгиб дороги, реки и т.п. В п.1 у этих характерных, легко узнаваемых точек (3-4 штуки) провел бы утилитой "запись координат объекта" (хоть бы и по курсору). (Кстати, опытные картографы по этим данным могут опознать проекцию.)
А уже потом можно попробовать привязать растр по взятым точкам и координатам.
А что делать с границей нас.пункта из п.3? Говорят, есть какие-то аффинные преобразования...
Существуют прикольные ситуации, когда нас. пункт расположен на краю района и граничит с двумя другими районами, в которых свои местные системы координат еще с советских времен, бывает и один поселок поделен на куски с разными СК.

OlegSLB
Интересующийся
Сообщения: 28
Зарегистрирован: 20 сен 2014, 11:05
Репутация: 5

Re: Как правильно переводить из одной проекции в другую...

Сообщение OlegSLB » 13 мар 2015, 10:16

Добавлю своё видение решения проблемы. Я так понимаю, что система координат слоёв, которые в План-схеме, вам не известна? Можно предположить, что там координаты могут быть и в местной СК, и в Гаусса-крюгера и вообще взятыми "от балды", оцифрованными по растру, открытому для просмотра. В этом случае способ, который минимизирует всю эту неопределённость - аффинные трансформации. В комплекте с дистрибутивом Мапинфо идёт набор утилит (они лежат в папке Rusutils, посмотрите в дистрибутиве). Там есть утилита affine_tr_multi.MBX. Так вот, смысл в том, чтобы сопоставить 4 точки в тех слоях, где у вас план-схема с 4 точками на карте, которая в проекции. Т.е. делаете 2 слоя, 1 слой с исходными реперными точками в план-схеме, 2-й слой с выходными реперными точками в нужной СК (Гаусса-крюгера). Чем точнее сопоставите точки, тем меньше будет погрешность трансформации. И все слои из план-схемы трансформируете данной утилитой. На выходе получите слои в нужной проекции, независимо от того, какая система координат была в исходных слоях.
Да, к вопросу о привязке растра - карта, которую вы выкладывали, создана в проекции гаусса-крюгера, поэтому её нельзя привязывать в долготе-широте. Категорию проекции выберите Гаусса-Крюгера(Пулково 1942), и в этой категории выберите GK зона8(Пулково 1942)

OlegSLB
Интересующийся
Сообщения: 28
Зарегистрирован: 20 сен 2014, 11:05
Репутация: 5

Re: Как правильно переводить из одной проекции в другую...

Сообщение OlegSLB » 13 мар 2015, 10:30

ещё в догонку. Если вы уверены, что проекция слоёв в план-схеме именно Гаусса-крюгера, то можно в план-схему перевести слой с вашей границей из Гаусса-крюгера вот этой утилитой viewtopic.php?f=17&t=17287&start=30 Можно конечно и вручную, через файл mid/mif, но думаю с помощью утилиты вам будет проще это сделать.

Ответить

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

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

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