Обсудить в форуме Комментариев 0Редактировать в вики
Третья часть серии статей о языке EASI, основные команды для географической привязки и работы проекциями, системами координат.
Стандартные программы EASI поддерживают ограниченный набор проекций и эллипсоидов. Тем не менее, он обычно бывает достаточным для работы с большинством типов данных. Для того, что бы назначить проекцию, используется ее код. Список кодов проекций приводится ниже.
Проекции, поддерживаемые на эллипсоиде:
Кроме того, географические координаты — LONG/LAT.
Проекции, поддерживаемые ТОЛЬКО на сфере:
Если в параметрах проекции указан другой эллипсоид, этот параметр игнорируется и выполняется пересчет со сферы.
Эллипсоиды обозначаются кодами, начинающимися с буквы «Е». Буква может быть опущена (тогда предполагается, что используется эллипсоид). Список эллипсоидов довольно большой. Вы можете сами найти код нужного Вам эллипсоида в справочной системе EASI. Приведем лишь наиболее часто используемые:
Эллипсоид может быть задан полуосями («6378206.4 6356583.8»).
Датум задается числовым кодом, начинающимся с буквы «D». Информация о проекции содержит только что-то одно: или имя эллипсоида (тогда подразумевается геоцентрический датум) или имя датума (тогда имя эллипсоида однозначно определено кодом датума). Некоторые распространенные датумы:
Пользовательские датумы могут быть добавлены в таблицу датумов, хранящуюся в текстовом формате ($PCIHOME/etc/datum.txt). Обратите внимание, что бы номер нового датума не совпадал с уже имеющимися в таблице!
Информация о привязке и проекции файла хранится в специальном сегменте данных, имеющем номер 1. Вывести на экран или в файл информацию о проекции можно с помощью команды GEOREP:
Georeference Units: UTM 33 D000 Projection: Universal Transverse Mercator Datum - Ellipsoid: WGS 1984 (Global Definition) - WGS 84 Grid units: METRE Upper Left Corner 288804.750 E 108912.750 N Upper Right Corner 533106.750 E 108912.750 N Image Centre 410955.750 E -99.750 N Lower Left Corner 288804.750 E -109112.250 N Lower Right Corner 533106.750 E -109112.250 N Pixel Size 57.000 E 57.000 N Upper Left Corner 13d06'07.60" E Lon 0d59'05.36" N Lat Upper Right Corner 15d17'51.23" E Lon 0d59'07.27" N Lat Image Centre 14d11'59.31" E Lon 0d00'03.25" S Lat Lower Left Corner 13d06'07.60" E Lon 0d59'11.86" S Lat Lower Right Corner 15d17'51.23" E Lon 0d59'13.77" S Lat
Формат таблицы стандартный, что позволяет ее использовать при автоматизации процессов с помощью языка PERL (см. статью 4). Следует обратить внимание на замеченные проблемы с выводом таблицы. В ряде случаев (по неизвестной причине) координаты углов могут быть перепутаны (обычно правый и левый углы меняются местами).
Существуют несколько способов задания проекции для файла PCIDSK. Прежде всего, проекция может быть автоматически импортирована при импорте данных из другого формата командой FIMPORT. Следует обратить внимание на две замеченные проблемы, возникающие при импорте информации о проекции и привязке:
Создать новый файл и назначить ему параметры привязки и проекцию можно с помощью команды CIMPRO2. Использование команды рассмотрено в статье 1. Здесь мы приведем пример использования команды для создания нового файла в проекции UTM:
r cimpro2
Существует несколько команд задания проекции файлу PCIDSK. Мы рекомендуем по возможности всегда использовать команду SETRPO2. После ввода параметров и запуска команды, значения первого сегмента (сегмента привязки) файла PCIDSK будут изменены.
r setpro2
Существуют другие команды для ввода информации о проекции и привязке:
Для использования ряда программ (например, DBREPRO) бывает необходимым создание дополнительного сегмента с указанием проекции, в которую Вы хотите спроецировать данные. Для этого используем команду PROSET.
r prosin
Команда включает множество дополнительных параметров для разных проекций. Для упрощения ввода только параметров нужной проекции, используются специальные процедуры, основанные на команде PROSET. Имя процедур для каждой проекции Вы можете найти в справочной системе EASI. Например, для определения синусоидальной проекции используется процедура PROSIN:
r prosin
Изменение проекции (перепроецирование) растровых данных в EASI решено в виде серии команд:
Данная команда имеет дополнительные параметры, позволяющие вводить ограниченное число проекций для трансформации. Для трансформации в пользовательскую проекцию обычно бывает удобным сначала создать новый сегмент с параметрами проекции с помощью команды PROSET, а затем использовать в параметрах только имя нового сегмента:
r dbrepro
Дополнительно можно указать размер пикселя выходной базы данных (параметры bxpxsz и bypxsz).
После запуска команды DBREPRO в параметрах EASI сохраняются границы и параметры проекции, в которую Вы хотите перепроецировать Ваши данные. Вы можете воспользоваться командой CIMPRO2 для создания новой базы данных, в которую будет произведена трансформация. Рассчитанные с помощью DBREPRO параметры нового файла будут автоматически использованы командой CIMPRO2. Обратите внимание, чтобы число каналов создаваемого файла соответствовало числу каналов, которые Вы хотите перепроецировать! Другой возможный вариант – вывод параметров в файл (опция report) и обработка файла программой на языке PERL. Этот путь может быть необходим, если Вы, допустим, хотите, что бы новый файл был «привязан» к стандартной растровой сетке.
После создания нового файла Вы можете произвести трансформацию исходного растра в полученный пустой файл с помощью команды REGPRO.
r regpro
Дополнительные параметры программы смотрите в справочной системе EASI.
Вместо команды REGPRO для трансформации изображения может использоваться команды MOSAIC. Эта команда всегда будет использовать первые сегменты файлов для расчета параметров трансформации, и пересчет всегда будет производиться методом ближайшего соседа (см. статью 1).
Исходный снимок Landsat имеет проекцию UTM. Мы перепроецируем снимок в проекцию Albers Conical Equal Area с параметрами, настроенными для Европейской России.
r proacea
r dbrepro
r cimpro2
r regpro
PROCONV — простая команда EASI, позволяющая пересчитать координаты из одной проекции (или из географических координат) в другую проекцию (или географические координаты).
Ввод координат для пересчета обычно осуществляется из тестового файла. Пары координат в текстовом файле разделяются запятыми:
288804.750,108912.750
Если вводятся географические координаты, то они могут иметь вид десятичных градусов или градусы-минуты-секунды:
-20.4560,35.4568 (десятичные градусы) 13 06 07.60 E ,0 59 05.36 N (градусы-минуты-секунды)
Исходная и выходная проекции могут быть заданы по имеющимся сегментам привязки или как параметр команды (только для LONG/LAT, UTM и State Plane). Пример использования программы с заданием проекции из сегментов привязки:
r proconv
Пример использования команды для пересчета координат с заданием проекции через параметры файла: file= (пустой)
r proconv
Расстановка контрольных точек (GCP) для привязки изображения может проводиться как в PCI, так и в других программа. Контрольные точки хранятся в специальном сегменте в файле PCIDSK. Существует возможность загрузки-выгрузки таблицы контрольных точек в текстовый файл. В PCI существуют модули автоматической расстановки контрольных точек (основанные на расчете корреляции между изображениями). Правда, они продаются отдельно от основного пакета программы. Помимо алгоритма с использованием целого исходного снимка для привязки, реализован подход для создания набора модельных участков (image chips) для автоматической привязки. Ниже приведен краткий перечень команд для работы с наборами контрольных точек и автоматической привязки. Трансформация снимка на основе набора контрольных точек производится командой REGPRO (см. выше) или REG. Описание команд смотрите в справочной системе EASI.
Работа с сегментом контрольных точек (GCP):
Автоматическая расстановка контрольных точек и привязка снимка:
Обсудить в форуме Комментариев 0Редактировать в вики
Последнее обновление: 2014-05-14 23:27
Дата создания: 15.08.2007
Автор(ы): Пётр Потапов
© GIS-Lab и авторы, 2002-2021. При использовании материалов сайта, ссылка на GIS-Lab и авторов обязательна. Содержание материалов - ответственность авторов. (подробнее).