?

Log in

No account? Create an account
Записи Друзья Календарь Профиль назад назад далее далее
Картография - Часть 12 - Обработка спутниковых снимков - Записки одного программиста
stkorn
stkorn
Картография - Часть 12 - Обработка спутниковых снимков
1. Загрузка снимков

   Итак, снимки (новые или архивные) заказаны, оплачены, изготовлены, и наконец-то пришли к вам в виде запароленных ссылок на ftp-ресурсы.

   Приготовьтесь качать сутками, учитывая, что снимки весят около 20-50 Мб / км2. В виду такого солидного объёма, канал связи компании-оператора обычно равномерно делится между всеми потребителями трафика, и текущая скорость загрузки обычно составляет 50-100 кБайт/с. Таким образом, в зависимости от площади снимка, его вес спокойно может достигать 5 Гб, и загружаться свыше 1 суток.

   Лучшее программное обеспечение для загрузки снимков - обычный wget. Остерегайтесь использовать новые FTP-клиенты: не далее как в прошлом году был замечен странный "глюк" сервера ftp.geoeye.com - обрыв потока данных при загрузке с помощью CuteFtp. Причины глюка назвать сложно, но его подтвердили несколько потребителей спутниковых снимков.

   Обратите внимание, что ссылки на снимки действительны в течении определённого срока: обычно от 7 до 14 дней. Дальнейшее продление ссылок обычно требует дополнительных денежных затрат. Поэтому в ваших интересах начать загружать данные как можно быстрее.

   Загрузив снимки на компьютер, в первую очередь создайте их резервную копию на сменном носителе и спрячте в сейф. Оригиналы снимков разместите в директории Sources проекта, и ни в коем случае не подвергайте их обработке или редактированию.

   Снимки обычно поставляются в формате GeoTIFF (.TIF с интегрированной информацией о гео-привязке). В комплекте со снимком обычно идёт .JPG-файл с preview, позволяющий идентифицировать снимок.



   2. Цветовая коррекция снимков

   Самое главное правило вы уже поняли: ничего, ни при каких обстоятельствах не делать с оригиналом снимка. Поэтому копируем оригинал в формате .TIF в директорию Satellites\имя_спутника нашего проекта, и лишь затем приступаем к его цветовой коррекции.

   Прежде чем открыть .TIF файл в Adobe Photoshop или схожей программе нам потребуется сохранить из него информацию о геопривязке. Дело в том, что большинство графических редакторов беспощадно удаляют всю географическую информацию из сохраняемых .TIF-файлов.

   Для этого воспользуемся великолепным пакетом GeoTIFF Tools: http://www.remotesensing.org/geotiff/geotiff.html - нам понадобится сборка утилит listgeo.exe и geotifcp.exe для win32. Их можно взять из набора listgeo_GUI.zip

   С помощью незамысловатого пакетного файла extract_geo.bat:

@echo off
for %%f in (*.tif) do GeoTools\listgeo.exe %%f > %%f.gtf


выделяем расширенную информацию о геопривязке всех .TIF файлов и сохраняем её в виде одноимённых файлов .GTF. Обратите внимание, что такие файлы содержат гораздо больше информации чем стандартные мировые файлы привязки .TFW - поэтому их использование предпочтительнее.

   После того, как вы убедитесь, что .GTF-файл создан корректно можно открывать .TIF в растровом графическом редакторе.

   Будет очень здорово, если ваши .TIF файлы весят не более 2 Гб. Раньше спутник GeoEye грешил огромными .TIF файлами, которые не мог переварить даже Adobe Photoshop.

   Не пугайтесь, если при открытии снимка в графическом редакторе вы увидите чёрный квадрат: особенности фотосенсора спутника состоят в том, обычно земная поверхность имеет весьма низкие уровни яркости, изначально не различимые человеческим глазом.

4.91 КБ


•  Корректируем их: Image -> Adjustments -> Levels: вместо 0..255 ставим 0..8 (если после этого ярко-белых областей на снимке не проступает - то 0..4) - на снимке начинает появляться изображение.

11.50 КБ


   Теперь нужно разобраться с облаками. Облака дают слишком светлые участки изображения и при автоматической коррекции контраста они приводят к затемнению остального изображения. Кроме того, нам нужно обеспечить прозрачность участков с облаками в проекте, чтобы на их месте были видны нижние менее качественные слои подложки - например, материал добытый из открытых источников.

•  Берём кисть с ровными (не смазанными) краями. Выбираем абсолютно чёрный цвет (0,0,0). Замазываем кистью все участки карты, где затруднительно разобрать объекты (в основном облака, реже тени из-под облаков). Наиболее удобный размер кисти - 128 пикселей, масштаб: 50%. Вместо кисти можно пользоваться фигурным лассо.

•  После того, как все облака удалены со снимка, волшебной палочкой выбираем абсолютно чёрный цвет (0,0,0) по краям изображения и на облаках (Tolerance=0, Antialias - снято, Contiguos - установлено).

   Таким образом мы выделили фрагменты прямоугольного снимка, которые должны быть прозрачными. В настоящий момент они имеют абсолютно чёрный цвет (0,0,0) - его мы и сделаем прозрачным при импорте растра в GlobalMapper.

12.78 КБ


   Теперь проводим автоматическую коррекцию контраста и цвета:

•  Инвертируем зону выделения: Select -> Inverse

12.71 КБ


•  Корректируем контраст (с усечением 0,1% слишком ярких и слишком тёмных зон): Image -> Adjustments -> Levels-> Options -> Enhance Per Channel Constrast: [v] Snap Neutral Midtones (если от этого улучшаются цвета) 0,10% 0,10%

19.50 КБ


•  Можно попробовать выполнить Image -> Auto Color - если это действительно улучшит цвета снимка

   Дальнейшие возможные действия остаются на вкус обработчика снимка:

•  Filter -> Sharpen -> Smart Sharpen -> Lens Blur (Amopunt = 100%, Radius =1 px) (имеет смысл для всех спутников кроме GeoEye)

•  Filter -> Sharpen -> Unsharp Mask -> (Amount = 50%, Radius = 1 px, Threshold = 0 levels) (имеет смысл для всех спутников кроме GeoEye)

45.81 КБ


•  Image -> Adjustments -> Curves -> Lighter (применяется только если снимок изначально получился слишком тёмным. Не злоупотребляйте этим преобразованием, оно приводит к потери части исходной информации об яркости)

19.97 КБ


   Не забывайте, что все эти операции выполняются на выделенном фрагменте не-чёрных областей снимка.

   Теперь, для того, чтобы снимок занимал меньше места, следует сократить его цветность с 16 бит на канал до 8 бит на канал. Для человеческого глаза это изменение всё равно не различимо, а снимок будет в два раза легче:

•  Image -> Mode -> 8 Bits / Channel

   Но здесь есть одна засада: в областях, содержащих реальные фотографические данные тоже могут встретиться пиксели с цветом (0,0,0) - которые в дальнейшем окажутся прозрачными - что внесёт искажения изображения в виде артефактов.

   Для того, чтобы этого не случилось принудительно осветляем все чёрные цвета в действительной области снимка:

•  Image -> Adjustments -> Replace color: Color = (0,0,0), Localized color clusters - снято, Fuzziness = 2, Lightness: +2

•  Пересохраняем файл в формат .TIF с тем же именем (без сжатия, Interleaved, чередующийся, IBM).

   Закрываем изображение.

   Совет: настройте свой графический редактор на максимальную производительность: увеличьте объём доступной ему памяти, уменьшите число запоминаемых этапов истории (оставьте 2-3).

   Сохранённый .TIF файл не содержит географической привязки. Добавляем в него гео-информацию из файла .GTF с помощью сценария addict_geo.bat:

@echo off
for %%f in (*.tif) do GeoTools\geotifcp.exe -g %%f.gtf %%f result\%%f




   2.5 Цветовая коррекция снимков с Google и Yandex

   Растры, полученные из открытых источников, которые мы в 9 главе успешно преобразовали в .TIF файлы также требуют некоторой цветовой коррекции в графическом редакторе.

•  Filter -> Sharpen -> Smart Sharpen -> Lens Blur (Amopunt = 100%, Radius =1 px) - может быть неприемлемым к некоторым снимкам Яндекса с изначально искусственно завышенной чёткостью

•  Filter -> Sharpen -> Unsharp Mask -> (Amount = 50%, Radius = 1 px, Threshold = 0 levels) - может быть неприемлемым к некоторым снимкам Яндекса с изначально искусственно завышенной чёткостью

   Если эти снимки - не единственная низкокачественная подложка в вашем проекте, следует:

•  pакрасить облака и жёсткие тени от них прозрачным цветом (для Google это ярко-жёлтый)

•  удалить со снимков (закрасить жёлтым) зоны LandSat

   Геопривязку из снимков, полученных из открытых источников не обязательно выделять в .GTF-формате. Вполне достаточно данных из мировых файлов привязки .TFW, которые автоматически создавались при экспорте карты Google в .TIF-формат (см. гл. 9).

   Таким образом, обрабатывать снимки Google можно прямо в .TIF, не инкапсулируя в него обратно информацию о геопривязках - для адекватной привязки снимка достаточно расположенного рядом .TFW-файла.



   3. Добавляем снимок в коллекцию.

   Открываем наш проект в уже любимом GlobalMapper и добавляем в него обработанный снимок:

•  на закладке Cropping ставим None

•  Transparent ставим черный цвет (0,0,0), флажок Make very similar colors transparent должен быть снят.

•  в свойствах файла ставим: Contrast Adjustment: none

   Отключаем отображение quicklook'а снимка.

   В данном примере получаем рабочее пространство на котором в качестве подложки использован снимок с разрешением 1 м с Google, а поверх него размещён высокоточный снимок 0.4 м со спутника GeoEye:

111.69 КБ




   4. Ортовыравнивание снимка


   4.1 Причины погрешности спутниковой съёмки

   По принципу съёмки сенсор спутника мало чем отличается от обычного цифрового фотоаппарата. Спутник далеко не всегда "висит" строго перпендикулярно снимаемой территории. Один из параметров, с которым мы ещё познакомились при отборе снимков - это угол съёмки. Съёмка с углом 10° - 20° - к сожалению, обычное явление. Это приводит к видимости фасадов многоэтажных зданий:

53.36 КБ


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

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

   Третий источник погрешности спутниковой съёмки - это рельеф местности. Расстояниями между двумя точками на снимке (например, между углами зданий) может сильно отличаться от реального, если эти здания расположены на подъёме или на спуске. Для борьбы с этим дефектом применяют так процедуру ортовыравнивания (ортокоррекции).


   4.2 Источники информации для ортокоррекции

   Ортовыравнивание снимка производят двумя способами: 1) используя фактические координаты определённых точек снимка 2) используя данные о матрице высот местности.

   Фактические координаты опорных точек можно получить любо по какой-нибудь сверхточной и сверхсекретной карте масштаба 1:2000 или 1:500 (что редкость), либо вооружившись теодолитом или профессиональным GPS-приёмником.

   Вот так выглядит привязка к углу административного здания в местной системе координат:

24.24 КБ


   В случае, если вы работаете с абсолютно плоской местностью - для точной привязки снимка достаточно 3-5 координат его точек, обязательно - в разных частях снимка.

   В случае привязки местности с пересечённым рельефом - количество точек привязки может возрасти до 200.

   Привязка снимка по точкам осуществляется в том же Global Mapper'е аналогично изложенному в гл.11. При этом сами точки привязки на снимке выбираются при помощи мыши, а их фактические координаты вводятся вручную.

   Второй вариант привязки - работа с матрицей высот (цифровой моделью рельефа, ЦМР или DEM). Существует несколько способов получить матрицу высот:

•  оцифровать топографическую карту с горизонталями и отметками высот (зачастую секретны)

•  заказать стерео съёмку (минимум в два раза дороже)

•  воспользоваться одной из общедоступных грубых ЦМР: SRTM (разрешение 30-90 м) и ASTER GDEM (разрешение (15-90 м)


   4.3 Определение продукта ДЗЗ

   Как мы сейчас узнаем, считается, что не всякий снимок можно ортокорректировать. Но сначала давайте определимся с так называемыми видами "продуктов", которые готовы предоставить нам компании-операторы спутников.

   К сожалению, в даже на зарубежных сайтах по этой теме представлена весьма скудная информация. Наиболее полным образом этот вопрос освещает статья М.А. Болсуновского "Уровни обработки данных ДЗЗ сверхвысокого разрешения", вышедшая в журнале "Геоматика", №2 за 2009 год.

   У спутника GeoEye три уровня обработки изображения:

•  Geo - самый простой: исходное изображение с сенсора без ортокоррекции (дальнейшую ортокоррекцию такого изображения пользователь может проводить самостоятельно)

•  Geo Prfessional - изображение подвергнуто коррекции на основе общедоступной ЦМР (дальнейшая ортокоррекция невозможна)

•  Geo Professional Precision - ортокоррекцию производит компания-оператор по набору опорных точек, переданных заказчиком

   У компании DigitalGlobe (спутники QuickBird, WorldView-1,2) - таких уровней четыре:

•  Basic - изображение с сенсора с минимальными изменениями, не прошло даже цветовую обработку. Требует предварительную обработку в специализированном программном обеспечении для получения приемлемых визуальных характеристик. Заказывается только целыми сценами.

•  Standart - изображение в естественных цветах, подвергнутое коррекции на основе общедоступной ЦМР (дальнейшая ортокоррекция невозможна)

•  Standart Ortho Ready - изображение в естественных цветах без ортокоррекции (дальнейшую ортокоррекцию такого изображения пользователь может проводить самостоятельно)

•  Ortho - ортокоррекцию производит компания-оператор по набору опорных точек, переданных заказчиком

   Обычно у компаний заказывают продукты Geo и Standart Ortho Ready соответственно. Идентифицировать категорию обработки вашего снимка можно следующим образом:

•  Для спутника GeoEye - следует заглянуть в файл xxxxxx_metadata.txt и найти строчку Product Line: Geo

•  Для спутников QuickBird, WorldView-1,2 - в файл xxxxxxxxxxxxx-xxxx-xxxxxxxxxxx_xx_xxxx.XML - найти тэг PRODUCTTYPE

   Лично я считаю, что снимки, ортоскорректированные с помощью общедоступной ЦМР, действительно непригодны для дальнейшего корректирования на основе более точных ЦМР-матриц. В то же время никто не запрещает проводить коррекцию этих снимков по набору точек - результат от этого будет только улучшаться.

   На практике подобная качественная коррекция (с определением координат точек на местности) довольно затратна и целесообразна только в тех случаях, когда заказчик планирует наносить на карту объекты, спозиционированные высокоточным GPS-приёмником. В этом случае в процессе изготовления карты также целесообразно производить измерения опорных точек на местности. Оптимальное количество опорных точек 1,5-2 точки на 1 км2 карты.




   5. Удаление "секретных" зон со снимка

   Когда вы берёте разрешение на изготовление карт того или иного населённого пункта, следует осведомиться: какие территории нельзя включать в карту, чтобы она была допущена к открытому опубликованию?

   Возможно местные органы власти и представители Росреестра будут против включения в карту территорий тех или иных предприятий или воинских частей, расположенных в черте города. Возможно они разрешат вам нанести сооружения на этой территории, но запретят указывать, что это такое. В любом случае, к их мнению стоит прислушаться - этим людям вам сдавать работу.

   Кстати, одни из хитростей компаний - реселлеров: в заключаемый договор на поставку спутниковой съёмки включают пункт "Заказчик гарантирует отсутствие на заказываемой территории секретных объектов министерства обороны.." =)

   Рекомендуется просмотреть весь снимок сначала на масштабе 1:10.000 а потом 1:5.000 с целью составления общего кругозора о том, что представляет собой данный населённый пункт.

   Удивительно, но ещё один источник информации о секретных военных объектах - проект openstreetmap.org. Порой там можно встретить вот такую прелесть (см. рисунок ниже). Замечу, что если такое попадётся на вашей карте - добрые дяди в погонах не преминут получить на свои погоны ещё одну звёздочку.

5.78 КБ


   Итак, вы приняли решение исключить из оцифровки тот или иной участок. Это сделать ещё до того, как снимок попадёт к картографу - чтобы количество людей, обладающих снимком "сомнительной" территории было минимальным.

   С помощью инструмента Digitizer Tool создайте новую Area Feature с именем _SECRET на одноимённом новом слое. В качестве заполнения можно использовать Black Dot Pattern на белом фоне , в качестве рамки - чёрный Solid толщиной 1 пиксель.

49.34 КБ


   Но этого мало. Для дальнейшего удобства работы созданные векторный полигон необходимо растеризовать.

•  Для этого отключаем видимость абсолютно всех слоёв, кроме _SECRET.

•  Устанавливаем ядовито жёлтый цвет View -> Background Color

7.58 КБ


•  Говорим File -> Export Raster Data -> Export GeoTIFF:

•  Убеждаемся, что установлен флажок "Always Generate Square Pixels" и масштаб по осям адекватен (в пределах 0.3 - 5 м / пиксель)

•  Compression = No Compression

•  Gridding = No Grid

•  Export Bounds = All loaded data

•  Сохраняем файл в директории проекта: Satellites\Secret.TIF

•  Добавляем файл Secret.TIF в проект выше всех растровых изображений, и устанавливаем для него прозрачным цветом ядовито-жёлтый.

•  Включаем видимость слоёв обратно и восстанавливаем цвет фона




   6. Выгружаем растры для оцифровки

•  File -> Export Raster Data -> Export GeoTIFF

•  Цветность: 24 бит.

•  Без компрессии.

•  Убеждаемся, что установлен флажок "Always Generate Square Pixels" и масштаб по осям адекватен (в пределах 0.3 - 0.5 м / пиксель)

•  Убеждаемся, что снят флажок "Save Vector Data If Displayed"

•  На закладке Export Bound нажимаем "Draw a Box" и аккуратно рисуем рамку вокруг области интересов так, чтобы она захватывала чуть больше территории, чем необходимо.

101.70 КБ


•  При необходимости (если .TIF-файл получается размером свыше 2 Гб), обязательно следует указать на закладке Gridding разбиение растровой мозаики на несколько строк и колонок.

•  Экспортируем растровую информацию в директорию TIF\ проекта. В зависимости от площади территории, экспорт может занять от 5 минут до нескольких часов.

42.32 КБ





   Ну и на правах рекламы: замечательнейший ресурс по ГИС тематике: http://gis-lab.info/. Особое внимание следует уделить форуму ГИС, на котором высококлассные специалисты обсуждают множество тем, напрямую связанных с созданием электронных карт и обработкой спутниковых растров.

   p.s. Решите поучиться - вот отличная книга: Robert A. Schowengerdt - Remote sensing: models and methods for image processing
 

Метки:

1 комментарий или Оставить комментарий
Comments
forosenko From: forosenko Date: Февраль, 6, 2013 14:03 (UTC) (Ссылка)

не добаляется

Добавляем в него гео-информацию из файла .GTF с помощью сценария addict_geo.bat

Не добавляется. и так и сяк попробовал: "не могу записать файл"

А как на счёт Avenza Geographic Imager? правда v.2.5 так и не нашел, придётся ставить CS4
1 комментарий или Оставить комментарий