Добрый день.
Радует, что рассылка набирает обороты и переведена в разряд "серебряные" и проаннонсирована в новых рассылках. Оказалось, что "высокие технологии", в которых я её зарегистрировал, относятся к области экономики. :) Через пару дней исправлю.
Продолжим
Преобразования делятся на изменение проекции и изменение системы координат.
Все преобразования, про которые мы сейчас говорим- это аффинные преобразования. т.е. повороты и сжатия-растяжения.
В MapInfo всё просто. При открытии файла пакет сам предлагает его отрегистрировать. В результате создаётся tab- файл с координатами.
Теперь вы можете открывать растровый файл как таблицу. В растровой таблице можно изменять проекцию и контрольные точки.
В АrcInfo есть команда
Register Всё интуитивно понятно. Для запуска
register c:\rastr.bmp
В результате создаётся файл rastr.bpw в котором хранятся коэффициенты преобразования. При небольшом опыте, когда нет под рукой arcinfo, и нужно отрегистрировать картинку, можно методом проб и ошибок самому поподбирать коэффициенты.
Команды register я в ArcGIS не нашёл. В той версии что у меня стоит её нет и в хелпе, я про неё ничего не нашёл. :(
В ArcView стандартными средствами решена только задача изменения проекции. Хотя слышал, что есть написанные умельцами на Avenue скрипты, позволяющие решать и задачу изменения системы координат, но самому мне их видеть не довелось.
В ArcView есть ArcView Projection Utility, которая позволяет конвертировать данные из одной проекции в другую. А если у вас есть просто две поверхности и вам их нужно просто совместить. ArcView уже не справится.
MapInfo
Сохранение данных в новой проекции:
Файл- сохранить копию.-> диалог:сохранить копию таблицы->кнопка Проекция-> выбираем проекцию.
для трансформации координат есть стандартные утилиты.
Register_Vector более простая и интуитивно понятная. Две поверхности совмещаются по трём точкам. К недостаткам я бы отнёс во-первых. т.к. привязка происходит только по трём точкам, то нет возможности оценить погрешность. Ведь две, оцифрованные разными людьми из различных источников поверхности не совпадут с 99,99(9) вероятностью. Второй недостаток. Почему-то эта утилита периодически подвисает. Иногда приходится делать по несколько попыток. Иногда привязывает и подвисает, нужно обрубать через Task Manager. Ещё интерсное наблюдение: вероятность того, что всё пройдёт успешно зависит от того, какую поверхность вы в MapInfo открываете первой. Лучше первой открывать поверхность, на которую происходит наложение, а второй ту, которая накладывается. Почему так- загадка природы. Тут уже методом проб и ошибок.
Affine сложнее в ней для привязки нужно создать две поверхности реперных точек. В исходной системе координат и в новой. Зато считаются погрешности. Работает стабильно, но возни больше.
ArcInfo
Изменение системы координат, команда transform.
По принципу похожа на работу Affine, только вместо поверхностей с точками используются tic-и (специальные точечные объекты, служащие для регистрации поверхностей). Создаётся TIC-поверхность с координатами. Командой Transform происходит преобразование.
Пример:
а) создать поверхность ticcov с введенными значениями tic-ов:create ticcov
б) в arcedit меню edittable задаём координаты
в) трансформируем координаты исходной поверхности в координаты ticcov: transform your_cover ticcov
Главный недостаток в том, что transform работает с Arc-ами, т.е. линейными объектами, а если у вас изначально полигональные объекты, то при конвертации в arc и обратном построении полигонов командой build атрибутика теряется. Приходится выкручиваться. Или потом после создания ручками вбивать id и подключать таблицы или создавать центроиды объектов, привязывать обе поверхности, а дальше уже на своё усмотрение. Или пытаться путём пространственных запросов считать атрибутику центроидов назад в полигоны или так и оставить.
Изменение проекции, команда project.
Изменение проекции можно производить в двух режимах. Через файл проекции или вводом команд.
1) project cover old_cover_name new_cover_name
2) project cover old_cover_name new_cover_name proj_file
ArcGIS
Принцип тот же, что и в ArcInfo. В Coverage Tools project и transform
Через командную строку:
Формат: transform_arc old_cover_name new_cover_name {AFFINE | PROJECTIVE | SIMILARITY}
project есть ещё в Data management tools->Projections and transformations-> Feature
Один из ближайших выпусков посвятим вашим вопросам-ответам. На большинство я уже ответил по e-mail-у. Еще планирую выложить что-нибудь из макросов на MapBasic.
С уважением.
Дмитрий Суворов.
sdm98"собачка"mail.ru
P.S. Я делюсь своим опытом, и мне интересно узнать Ваши замечания и предложения. Возможно эти же задачи Вы решали как-то по-другому. Пишите.
P.P.S. Большое спасибо Кате Новицкой за замечания и уточнения.