Смена системы координат в MapInfo

MapInfo, MapBasic
Ответить
Аватара пользователя
WeMaN
Завсегдатай
Сообщения: 310
Зарегистрирован: 16 фев 2009, 10:49
Репутация: 0

Смена системы координат в MapInfo

Сообщение WeMaN » 16 фев 2009, 10:56

Господа, столкнулся с проблемой, есть у меня ряд мапинфовских таблиц, которые надо перепроецировать из системы координат 63 года одной зоны в систему координат 63 года другой зоны, как это сделать, помогите, кто сталкивался? В мапинфо можно менять проекцию, но только тем системам координат, которые в нём есть, а 63 года в мапинфе нет, ключи перехода и прочие параметры у меня есть, а как пересчитать из одной ск в другую ума не приложу... и ещё важный факт, при пересчёте необходимо чтобы не пропало оформление мапинфорвское...
Сталкивался кто с этим??

Boris
Гуру
Сообщения: 4205
Зарегистрирован: 10 апр 2006, 22:34
Статьи: 3
Проекты: 1
Репутация: 431
Откуда: Париж

Re: Смена системы координат в MapInfo

Сообщение Boris » 16 фев 2009, 13:58

Если ваши данные необходимо перевести из одной зоны в другую и обе зоны лежат в одной области (область задается буквой, а зона цифрой, на пример P-2 и P-3), то это простая задача. Т.к. не надо вычислять точные параметры областей. А зоны строятся по тому же принципу, что и в СК-42 номер зоны прибавляется миллионами к координатам Х (на восток). В MapInfo есть образцы областей в СК-63, называются Эстонские и Латвийские системы координат имеют вид:
"KS-1963 зона 1 (Пулково 1942 для Литвы)", 8, 1018, 7, 24.95, 0, 1, 1250000, -11057.63
на этом сайте есть описание алгоритмов подбора параметров, в интернете есть разграфка планшетов для все РФ.
Проблема может быть в том, что ваши данные скорее всего в плановой системе координат, как любят земельные комитеты - "Non-Earth (meters)", 0, 7
Тут есть много путей их "приземления". Как узнаете свою строчку для MAPINFOW.PRJ
надо ее проставить вместо системы координат "план-схема".
Лучше новые СК прописать в MAPINFOW.PRJ, тогда можно будет использовать стандартную процедуру "сохранить как" в новой проекции. Иначе надо будет задавать систему координат в окне MapBasic'а.
Будут вопросы - спрашивайте по пунктам. Мне так трудно угадать, что именно следует дать подробней, а что для вас "очевидно". Точность перевода будет зависеть от точности выбора параметров начальной точки на глобусе для вашей области. Но в любом случае будет достаточно велика, т.к. эллипсоид при этом пересчете - не меняется.
Возможен вариант с поиском программ "черных ящиков" - геокалькуляторов, которые умеют переводить сами из СК42/СК63, но параметры наружу не выдают. Но мне не удалось найти такой, что бы нормально работал :(

Аватара пользователя
WeMaN
Завсегдатай
Сообщения: 310
Зарегистрирован: 16 фев 2009, 10:49
Репутация: 0

Re: Смена системы координат в MapInfo

Сообщение WeMaN » 16 фев 2009, 14:19

Спасибо за советы, у меня естественно уйма вопросов по данному поводу:

1. У меня система координат изначальная 63_W4 хотят получить в 63_L1, это что либо менят? Усложняет ли это действие? И ещё таблицы другой карты изначально в 14 зоне 1942 пулкова, а надо тоже пересчитать в 63_L1.

2. MAPINFOW.PRJ - у меня давно уже возникала мысль по поводу того, можно ли переписать этот файл, чтобы потом пересчитывать с помощью мапинфы? Как я понял это возможно, можете дать ссылку где описано как это делается? Просто если у меня есть параметры 63 системы координа и W4 и L1 зоны, то как я понимаю просто подредактировав файл, я смогу пересчитывать в мапинфе координаты, так?

3. "А зоны строятся по тому же принципу, что и в СК-42"

а где можно почитать чем отличается оная система от пулково 42 и какие у неё особенности?

4. "Проблема может быть в том, что ваши данные скорее всего в плановой системе координат"

Экпортировал из автокада таблицы, а точнее из автодеск мэп, это значит что координаты плановые?

5. "Возможен вариант с поиском программ "черных ящиков" - геокалькуляторов"

Чёрный ящик у меня есть, правда метод довольно извращённый, к тому же он сносит всё оформление подчистую, каким условным знаком что обозначается, цвет и т.д. Поэтому этот вариант мне не годится, хочется пересчитать систему и не оформлять всё заного, как то ведь это возможно думается мне

6. "В MapInfo есть образцы областей в СК-63, называются Эстонские и Латвийские системы координат"

А какая зона этих Латвийских координат будет соответсвовать допустим моей W4 или L1, нельзя это узнать?

Вроде пока все вопросы, заранее спасибо за ответы, очень надеюсь на помощь, ибо вопрос очень актуальный

Boris
Гуру
Сообщения: 4205
Зарегистрирован: 10 апр 2006, 22:34
Статьи: 3
Проекты: 1
Репутация: 431
Откуда: Париж

Re: Смена системы координат в MapInfo

Сообщение Boris » 17 фев 2009, 07:13

1. Документация по MapInfo с сайта
www.esti-map.ru
2. Много всяких полезных общих данных
http://gis-lab.info/qa.html
3. О координатной системе СК-1942 и т.п.miltop.narod.ru/Nomenclature/projections.htm
4. О СК-63 gis-lab.info/qa/sk-63.html
--------------------------
Как уже много раз писалось здесь на форуме. СК-63 создана для того, что бы запутать "вероятного противника". На текущий день - этот вероятный противник, либо страна, где покупка GPS-не посильна для армии этой страны, либо население РФ.
Простого пересчета и алгоритма пересчета между разными Областями - не существует. Надо знать все параметры каждой Области. Область делится на зоны по 3 градуса, вот они и строятся по принципу СК-42. У каждой зоны свой центральный меридиан, общая начальная параллель и смещение по Y. К Х-координатам каждой зоны прибавляется номер зоны умноженный на миллион метров.
---------------------------
На прямую применить латвийские и эстонские, а равно другие открытые Области в СК-63 - нельзя, поскольку Области идут в хаотичном порядке и их начальные данные - секретны. Единственно, что известно точно, что они как и СК-42 используют эллипсоид Красовского и поперечную проекцию Меркатора (или Гаусса-Крюгера).
----------------------------
В сети на сайте любителей GPS - показан пример решения задачи о нахождении параметров СК-63 при известных 4-х точках в СК-63 и СК-42, соответственно. Аналогично наверное ищется и переход между различными областями СК-63. Наверное кому-то этот пример очевиден, мне - нет, поскольку я неспециалист в геодезии. Тут советов дать не могу.
-----------------------------
Подробнее, чем написано по ссылке выше и связанных с ней ветках на этом форуме данных по СК-63 найти трудно. Да, и ссылки с форума ведут к ним. В сети лежат параметры для нескольких Областей в СК-63. system-1963.narod.ru// Кто-то где-то писал, что часть параметров - это фантазии. Раньше Областей было больше, но теперь сайт на котором они были исчез.
Правильными являются только те, которые 3-х градусные. Как видите обе ваши зоны там есть. Выписывайте для них параметры в MAPINFOW.PRJ, если результаты сойдутся - значит вам повезло. Сходимость с СК-42 тогда получиться "по определению".
-------------------------------
Про данные так сразу сказать - нельзя. Может вам повезло и А-кад мэп выдал уже спроецированные данные. Увидеть систему координат можно двумя способами:
1. запустить программу Table Manager из меню Tools. Она покажет проекцию для каждой таблицы. Если в назвнии проекции есть слова NonEarth - значит это плоские системы координат, если Earth - значит проекционные или градусные.
2. Экспортировать таблицу в формат MIF/MID и открыть ее любом текстовом редакторе. 4-я строка сверку должна иметь вид
CoordSys Earth Projection 8, 104, "m", 39, 0, 0.9996, 500000, 0 или что-то аналогичное. Это проекционная система координат.
Если
CoordSys Nonearth Units "m" Bounds (3248270.39376319,6107543.60398141) (3273544.27132267,6135706.80878156) Это плоская система координат. В ней пересчет между разными системами координат - не возможен.
Надо во всех таблицах менять эту строку на строку той системы координат к которой она реально относиться.
-------------------------------
Я обычно делаю это через двойное преобразование - сперва экспорт в MIF/MID. Затем замена в текстовом редакторе или программе замены строк, меняю систему координат на требуемую проекционную. После этого данные импортирую назад в Mapinfo. Много ручного труда, но оформление точно сохраняется и данные получаются качественными.
-------------------------------
Будут еще вопросы - пишите.

Аватара пользователя
WeMaN
Завсегдатай
Сообщения: 310
Зарегистрирован: 16 фев 2009, 10:49
Репутация: 0

Re: Смена системы координат в MapInfo

Сообщение WeMaN » 17 фев 2009, 11:16

Спасибо большое за ссылки и ответы на вопросы, чувствую, что истина начинает потихоньку проясняться!! Вот есть ещё парочка вопросов:

-- "правильными являются только те, которые 3-х градусные."

Просто интересно, зачем тогда на этом сайте 6ти градусные зоны, просто чтобы запутать??

-- "В сети на сайте любителей GPS - показан пример решения задачи о нахождении параметров СК-63 при известных 4-х точках в СК-63 и СК-42, соответственно."

А не поделитесь ссылкой, я тоже особо не геодезист, но почитать интересно, вдруг придёт какая-нибудь идея!

-- "Выписывайте для них параметры в MAPINFOW.PRJ"

Я что-то запутался, могу ли я изменить этот файл, и если да, поймёт ли это потом мапинфо, мне казалось что файл неизменяемый и мапинфо просто будет ссылаться только на то, что ему известно, и если я впишу новую систему координат, то она необратит внимание?? Другое дело, что может можно какую-нибудь СК в MAPINFOW.PRJ заменить на параметры нужной мне системы и потом выбрать её в меню? Расскажите поподробней этот момент.

-- Экспортнул в mif\mid у меня как раз CoordSys NonEarth Units "m" Bounds...
Вот вы написали, что
"я обычно делаю это через двойное преобразование - сперва экспорт в MIF/MID. Затем замена в текстовом редакторе или программе замены строк, меняю систему координат на требуемую проекционную. После этого данные импортирую назад в Mapinfo."

Как в этой строке поменять на нужную мне систему координат, можете поподробней? Вроде мне кто-то рассказывал про этот способ, но я толком не понял, нахожу я строчку с системой координат, домустим, если руководствоваться вот этой ссылкой system-1963.narod.ru//, то у меня СК с такими параметрами "1963_W3 зона 4" 69.05 4500000 -11057.63 - как эти данные вставить в mif\mid файл?? Расскажите об этой процедуре, может действительно получится?!

Пока что всё, заранее спасибо за ответы

Boris
Гуру
Сообщения: 4205
Зарегистрирован: 10 апр 2006, 22:34
Статьи: 3
Проекты: 1
Репутация: 431
Откуда: Париж

Re: Смена системы координат в MapInfo

Сообщение Boris » 18 фев 2009, 00:37

Файл MAPINFOW.PRJ является текстовым и редактируемым. Причем это официальная позиция разработчиков. Они как могут добавляют новые эллипсоиды. Но и пользователю они доступны. Я вообще после установки MapInfo чищу этот файл на 95% - выкидываю из него все проекции, которые мне никогда не пригодятся.
Данные в нем имеют вид:
"--- Mos Obl Regional Special SC-63 ---"
"MO-1963 Zone 1", 8, 1001, 7, xxxxx+3, yyyyy, 1, 125000, yyyyy1
"MO-1963 Zone 2", 8, 1001, 7, xxxxx+6, yyyyy, 1, 225000, yyyyy1
"MO-1963 Zone 3", 8, 1001, 7, xxxxx+9, yyyyy, 1, 325000, yyyyy1
"MO-1963 Zone 4", 8, 1001, 7, xxxxx+12, yyyyy , 1, 425000, yyyyy1

1-я строчка - это заголовок раздела. Он используется для обозначения набора координатных систем - будет потом виден в первой строке при выборе координатных систем в MapInfo
2-я и последующие строки - это уже описание отдельных зон. В данном случае на Московскую область и окрестности. Область Р зоны 0-4.
Формат записи:
8 - проеция (поперечная Меркатора или Гаусса-Крюгера)
1001 - номер используемого эллипсоида. Внутренний номер из БД Mapinfo, соответствует эллипсоиду Красовского
7 - единица измерения координат - в данном случае "метры"
xxxxx - Каждая зона имеет xxxxx + (смещение в три градуса)*номер зоны - начальный меридиан проекции
yyyyy - Смещение начальной точки по широте. Одинаковое во всех зонах области СК-63
250000+(1 000 000)*номер зоны - смещение начальной точки по X. Сделано, что бы избежать отрицательных координат по X и заодно указать номер зоны
yyyyy1 - смещение начала координат по широте. Связаны функцией с yyyyy, есть подозрение, что в рассматриваемом диапазоне координат по широте, взаимозаменяемы.

Boris
Гуру
Сообщения: 4205
Зарегистрирован: 10 апр 2006, 22:34
Статьи: 3
Проекты: 1
Репутация: 431
Откуда: Париж

Re: Смена системы координат в MapInfo

Сообщение Boris » 18 фев 2009, 03:19

Ответ на вопросы, которые пришлось опустить в предыдущем сообщении:
1. Я не географ и не картограф. Нормативная база создания СК-63 мне доподлинно не известна. Как думаю и большинству тех, кто с ней теперь работает. Это область народных преданий. Все кто считает себя большим специалистом по этому вопросу, начинаю рассказ со ссылок на давно услышанное. Причина по которой существуют 3-х и 6-ти градусные зоны, мне в силу этого не понятна. Очевидно, что 3-градусные намного точнее. И зоны между собой не совместимы по координатам. Все кто пользует - путаю зоны между собой. Мне приходилось видеть много проекций в названии которых фигурирует цифра 6, а зоны были 250 000 м шириной. Поскольку на сегодняшний день СК63 на 99% создается и используется земельными комитетами (или как они там теперь называются), а основные данные имеют масштаб 1:10 000. Использование зон в 6 градусов для таких задач (дециметровой точности), вряд ли разумно. Хотя может на просторах Сибири и Дальнего Востока и имеет смысл. В европейской части РФ - навряд ли встречается.
2. Я и говорил, что на счет этого списка имелись серьезные замечания и возражения. Сам список - небольшое подмножество ранее проходившей дискуссии в интернете. Сама дискуссия как-то "рассосалась", а вместе с ней и списки на многие другие области СК-63. В любом случае зоны в 6 градусов должны иметь ширину в 1000 км, т.е. смещение в 500 км, а не 250 как у 3-х градусных, и как написано в ряде мест в том списке.
3. Возьмите свои зоны по 3 градуса и со смещением кратным 250 000. Ценными являются только - долгота центрального меридиана и смещение начальной точки по широте. В градусах или метра - это практически все равно. Если вам есть с чем сравнить, хотя бы с картой в СК-1942, то так их и проверьте.
4.
СК с такими параметрами "1963_W3 зона 4" 69.05 4500000 -11057.63 - как эти данные вставить в mif\mid файл??
Строка для MAPINFOW.PRJ
"--- MY Regional Special CS-63 ---"
"CS-63 Obl W zone 4", 8, 1001, 7, 69.05, 0, 1, 425000, -11057.63
Строка для файла MIF
CoordSys Earth Projection 8, 1001, "m", 69.05, 0, 1, 4250000, -11057.63
MID- это атрибутивные данные, т.е. не трогаем.
5. В MIF Строку начинающуюся с
CoordSys Nonearth Units "m" - удаляем целиком или до слова Bounds вместо нее вставляем строку указанную выше.
6. Так как при указании проекции используется стандартный механизм MI, таблицы будут читаться и верно показываться везде. Единственно, что если нет соответствующей строки в файле MAPINFOW.PRJ, то проекция будет безымянной и вы не сможете в нее сохранять файлы командой Save Copy As...
7. Как поменять в MAPINFOW.PRJ и в MIF? - Это обычные текстовые файлы. Открывайте их в любом редакторе и просто меняете строчку. Подойдет любой - Word, Write, Notepad ... Аналогично подойдут любые программы, которые умеют менять текст во многих файлах.
8. Если файлов много и жалко тратить время для их ручной конвертации, то придется как-то автоматизировать этот процесс :D

Boris
Гуру
Сообщения: 4205
Зарегистрирован: 10 апр 2006, 22:34
Статьи: 3
Проекты: 1
Репутация: 431
Откуда: Париж

Re: Смена системы координат в MapInfo

Сообщение Boris » 18 фев 2009, 03:51

Нашел ссылку о которой говорил:
www.navgeocom.ru/forum/lofiversion/index.php/t28.html

Аватара пользователя
WeMaN
Завсегдатай
Сообщения: 310
Зарегистрирован: 16 фев 2009, 10:49
Репутация: 0

Re: Смена системы координат в MapInfo

Сообщение WeMaN » 18 фев 2009, 13:58

Спасибо большое за советы, буду пробовать и эксперементировать!

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

Re: Смена системы координат в MapInfo

Сообщение Донецков » 22 мар 2011, 15:08

Для автоматизации перевода план-схема - проекция - план-схема есть замечательная программа ReCalc, скачать можно на http://asgs.narod.ru/gplprog.html

Ответить

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

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

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