Изменение масштаба у слоя
-
- Новоприбывший
- Сообщения: 7
- Зарегистрирован: 17 янв 2014, 19:28
- Репутация: 0
Изменение масштаба у слоя
Всем привет. Случилась не особо приятная проблема - привязал растр, оцифровал карту и тут всплыла ошибка в привязке(ошибся в масштабе карты). Сам растр перерегистрировал, но все остальные слои остались в прежнем масштабе. Соответственно возникает вопрос: возможно ли их также масштабировать или придётся оцифровывать заново?
- ginpetr
- Завсегдатай
- Сообщения: 385
- Зарегистрирован: 21 июн 2011, 12:07
- Репутация: 140
- Откуда: Орск
- Контактная информация:
Re: Изменение масштаба у слоя
одно время пользовался утилитами афинного преобразования, их две было одного автора. одна преобразовывала только одну таблицу, другая осуществляла пакетное преобразование. там сначала создавалось три пары соответствующих точек, а потом с их помощью трансформировались таблицы.
пользовались, когда только изучали мапинфо, сейчас уже забыли про них. Но они работали, проблемы, кажется, только с текстовыми объектами были.
[ Сообщение с мобильного устройства ]
пользовались, когда только изучали мапинфо, сейчас уже забыли про них. Но они работали, проблемы, кажется, только с текстовыми объектами были.
[ Сообщение с мобильного устройства ]
-
- Гуру
- Сообщения: 4231
- Зарегистрирован: 10 апр 2006, 22:34
- Репутация: -344969098
- Откуда: Париж
Re: Изменение масштаба у слоя
есть как минимум 3 варианта решения проблемы, которые зависят от того была ли неверно указана и начальная точка, т.е. она подвергается масштабной коррекции или остается неизменной ( в этом случае это уже не масштабирование, а пересчет по 2-м точкам):
а) в заголовке MIF можно указать масштаб в каждом из квадарантов
б) в описании координатной системы Coordsys в MIF файле можно указать аффинное преобразование
в) сторонние программы: FME Universal Translator
---
самый незамысловатый вариант - открыть MIF файл пересчитать указанные в нем координаты
---
все перечисленное имеет смысл, если вам известны числовые искажения, если же они вычисляемые путем расстановки пар точек, то упомянутая выше программа аффинного преобразования делает это хорошо. единственный минус, что в случае известных числовых погрешностей, она не дает вводить точки в ручную, а требует указать их с пары карт.
а) в заголовке MIF можно указать масштаб в каждом из квадарантов
б) в описании координатной системы Coordsys в MIF файле можно указать аффинное преобразование
в) сторонние программы: FME Universal Translator
---
самый незамысловатый вариант - открыть MIF файл пересчитать указанные в нем координаты
---
все перечисленное имеет смысл, если вам известны числовые искажения, если же они вычисляемые путем расстановки пар точек, то упомянутая выше программа аффинного преобразования делает это хорошо. единственный минус, что в случае известных числовых погрешностей, она не дает вводить точки в ручную, а требует указать их с пары карт.
-
- Новоприбывший
- Сообщения: 7
- Зарегистрирован: 17 янв 2014, 19:28
- Репутация: 0
Re: Изменение масштаба у слоя
В моём случае, наверное, не правильно введены были все точки при регистрации растра. Для расчёта угловых координат растра был использован масштаб 1:25000, ошибка оказалась в том, что в действительности масштаб 1:2500(увы, закралась опечатка). И, соответственно, все четыре точки, координаты которых задавались для привязки, не правильны.Boris писал(а):есть как минимум 3 варианта решения проблемы, которые зависят от того была ли неверно указана и начальная точка, т.е. она подвергается масштабной коррекции или остается неизменной ( в этом случае это уже не масштабирование, а пересчет по 2-м точкам)
-
- Гуру
- Сообщения: 4231
- Зарегистрирован: 10 апр 2006, 22:34
- Репутация: -344969098
- Откуда: Париж
Re: Изменение масштаба у слоя
не понял - начальные точки имеют правильную координату или их координаты то же надо уменьшить изменить в 10 раз?
В остальном работы на 5 минут, если работали в план-схеме. В MIF файле меняем метры на миллиметры, импортируем, сохраняем таблицу в сантиметры, выгружаем в MIF, и заменяем сантиметры на метры, импортируем в Mapinfo.
В остальном работы на 5 минут, если работали в план-схеме. В MIF файле меняем метры на миллиметры, импортируем, сохраняем таблицу в сантиметры, выгружаем в MIF, и заменяем сантиметры на метры, импортируем в Mapinfo.
-
- Новоприбывший
- Сообщения: 7
- Зарегистрирован: 17 янв 2014, 19:28
- Репутация: 0
Re: Изменение масштаба у слоя
Ну вот файл по которому рассчитывались координаты точек для привязки растраBoris писал(а):не понял - начальные точки имеют правильную координату или их координаты то же надо уменьшить изменить в 10 раз?
Работал как раз в план-схеме, но ваш вариант на 5 минут вряд ли подойдётBoris писал(а): В остальном работы на 5 минут, если работали в план-схеме.
-
- Гуру
- Сообщения: 4231
- Зарегистрирован: 10 апр 2006, 22:34
- Репутация: -344969098
- Откуда: Париж
Re: Изменение масштаба у слоя
присланный файл не говорит ни о чем, кроме того, что-то не так. Это точно не привязка растра, используемая в мапинфо. И другие пакеты то же так растр по центру не привязывают. Выложите файла TAB в исходной и в правильной привязке. Размер вы его уже указали. Тогда и ясно будет какая операция по изменению координат была использована. Пока, предположительно, это масштабирование и смещение. А там может и поворот вылезет.
-
- Новоприбывший
- Сообщения: 7
- Зарегистрирован: 17 янв 2014, 19:28
- Репутация: 0
Re: Изменение масштаба у слоя
я закинул файлы TAB правильной и исходной. К исходной также докинул один из слоёв которые как раз и нужно смаштабировать.Boris писал(а):Выложите файла TAB в исходной и в правильной привязке.
-
- Гуру
- Сообщения: 4231
- Зарегистрирован: 10 апр 2006, 22:34
- Репутация: -344969098
- Откуда: Париж
Re: Изменение масштаба у слоя
Вот так должна выглядеть строка с координатной системой во всех ваших файлах:
Порядок действий описан выше, но я его повторю:
1. экспортируйте все ранее введенные слои в формат MIF/MID. По одному или используйте имеющиеся в сети утилиты, что бы сделать это массово, т.к. мапинфо делает экспорт-импорт по одному файлу/слою за раз.
2. во всех полученных MIF файлах строку с Coordsys замените на строку, приведенную выше. Для присланного файла строка
меняется на
или вставьте вот эту подстроку
между "m" и Bounds
3. Импортируйте исправленные MIF файлы MapInfo, предварительно закройте исходные слои;
4. Сохраните полученные слои в новые файлы. При сохранении обязательно выберите новую координатную систему "План-схема". Границы укажите такие от 4000 до 63000, и для X, и для Y - одинаковые.
---
Не забудьте сделать копии исходных файлов, т.к. при сохранении Мапинфо может их затереть.
---
Хочу обратить ваше внимание на то, что растр привязан неверно. Т.к. у него (видимо) заданы координаты, в которых X - север, а Y - восток, т.е. левосторонняя система координат (принятая в геодезии), в то время как мапинфо оперирует правосторонней системой координат, X - восток, а Y - север. В этом легко убедится, если сперва открыть векторный слой, а потом растр. В этом случае растр будет изображен зеркально.
В случае, если вы будете использовать слои без растра, или без специальных ухищрений, заменяющих систему координат окна карты на зеркальную, ваши слои будут изображаться в непривычном виде.
Код: Выделить всё
CoordSys NonEarth Units "m" Affine Units "m", 7.5, 0, -33553, 0, 7.5, -33553 Bounds (-1902.375, -2864.796875) (12226.375, 13188.79688)
1. экспортируйте все ранее введенные слои в формат MIF/MID. По одному или используйте имеющиеся в сети утилиты, что бы сделать это массово, т.к. мапинфо делает экспорт-импорт по одному файлу/слою за раз.
2. во всех полученных MIF файлах строку с Coordsys замените на строку, приведенную выше. Для присланного файла строка
Код: Выделить всё
CoordSys NonEarth Units "m" Bounds (-1902.375, -2864.796875) (12226.375, 13188.79688)
Код: Выделить всё
CoordSys NonEarth Units "m" Affine Units "m", 7.5, 0, -33553, 0, 7.5, -33553 Bounds (-1902.375, -2864.796875) (12226.375, 13188.79688)
Код: Выделить всё
Affine Units "m", 7.5, 0, -33553, 0, 7.5, -33553
3. Импортируйте исправленные MIF файлы MapInfo, предварительно закройте исходные слои;
4. Сохраните полученные слои в новые файлы. При сохранении обязательно выберите новую координатную систему "План-схема". Границы укажите такие от 4000 до 63000, и для X, и для Y - одинаковые.
---
Не забудьте сделать копии исходных файлов, т.к. при сохранении Мапинфо может их затереть.
---
Хочу обратить ваше внимание на то, что растр привязан неверно. Т.к. у него (видимо) заданы координаты, в которых X - север, а Y - восток, т.е. левосторонняя система координат (принятая в геодезии), в то время как мапинфо оперирует правосторонней системой координат, X - восток, а Y - север. В этом легко убедится, если сперва открыть векторный слой, а потом растр. В этом случае растр будет изображен зеркально.
В случае, если вы будете использовать слои без растра, или без специальных ухищрений, заменяющих систему координат окна карты на зеркальную, ваши слои будут изображаться в непривычном виде.
-
- Новоприбывший
- Сообщения: 7
- Зарегистрирован: 17 янв 2014, 19:28
- Репутация: 0
Re: Изменение масштаба у слоя
Премного благодарен, всё получилось. А можете рассказать еще именно про это аффинное преобразование? Каким образом были определены эти поправки? Просто на будущее.Boris писал(а):Вот так должна выглядеть строка с координатной системой во всех ваших файлах
Хм, действительно. Не обратил внимание как-то сразу. В дальнейшем учту, а сейчас оно еще не критично так как эту карту я оцифровываю на курсовой проект и данная ошибка не будет сильно влиять не итог.Boris писал(а):Хочу обратить ваше внимание на то, что растр привязан неверно.
-
- Гуру
- Сообщения: 4231
- Зарегистрирован: 10 апр 2006, 22:34
- Репутация: -344969098
- Откуда: Париж
Re: Изменение масштаба у слоя
Аффинное преобразование вскользь (как очевидное) описано в руководстве и справке по мапифно. Оно сводится к добавлению указанной мной вставки "Affine" в координатную строку. Согласно руководству это 6 параметров линейного преобразования.Mitncik писал(а): А можете рассказать еще именно про это аффинное преобразование? Каким образом были определены эти поправки? Просто на будущее.
Само аффинное преобразование описано многократно в разных местах. Нахождение параметров аффинного преобразования требует решения системы линейных уравнений на 3-х известных двумерных точках. Что я собственно и проделал с вашими данными. Единственное допущение, что точки вы ввели точно, и следовательно 4-я точка может быть получена после нахождения параметров, как проверочная. Так и вышло. В случае, когда точки введены с погрешностью, и их больше минимально необходимых 3-х, решение требует усреднения, как правило методом наименьших квадратов. В этом случае имеет место программирование. В случае 3-х точек, все сводится к решению линейной системы уравнений. Я это делаю в Excel путем перемножения матриц.
---
Единственное "НО", состоит в том, как я читаю справку и руководство, выходит, что надо искать параметры перехода от неправильных точек, координаты которых и сохранены в таблице мапинфо, к реальным. По факту выходит, что надо найти параметры обратного перехода от правильных к неправильным. Но это "НО" требует проверки по разным источникам. Хотя в вашем случае было именно так.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость