Построение батиметрической карты водоема

Материал из GIS-Lab
Перейти к навигации Перейти к поиску

Данная статья рассчитана на новичка, который практически не имеет опыта использования специализированных ГИС программ, а по факту имеет только точки с координатами и глубинами.

Используемые программы: ArcGis 10.2, Global Mapper 14, SAS.Планета, MS Excel 2010.

1. Получение файла с точками XYZ - долгота, широта, глубина.

Предполагается наличие точек с глубинами, снятыми с помощью эхолота, либо по старинке - веревкой с грузом в одной руке, gps приемником в другой. Если в последнем случае файл можно создать ручками, то во втором случае придется их извлекать из файлов эхолота. В конкретном случае рассмотрим извлечение точек из эхолота Lowrance MARK-4, возможно этот способ подойдет и для файлов других форматов других эхолотов благодаря всеядности программы Global Mapper.

1.1. В Global Mapper открываем формат lowrance .usr и экспортируем вектор в формате .csv (Файл->Экспорт векторов…). При экспорте снимаем галку "Формат шир/долг"

1.2. У получившегося .csv файла меняем расширение на .txt, открываем в блокноте, и заменяем запятые на точки с запятой, точки в числах на запятые. Сохраняем и открываем в Excel. Он предлагает данные разбить на столбцы. Указываем с разделителями, качестве разделителей - точка с запятой (;). Т.к. в некоторых случаях глубина указана в футах (как в нашем), то делаем отдельный столбец в метрах, для этого значение в футах умножаем на 0,3048. Удаляем все лишнее, кроме долготы, широты и глубины. Удаляем некорректные точки с очевидно неправильной глубиной. Сохраняем в формат Excel 1997-2003 (.xls). Все. Теперь у нас есть точки с глубинами.

1.3. Теперь необходимо создать периметр озера в виде точек, имеющих нулевую глубину. Для этого скачиваем с помощью SAS.Планета наиболее детализированный космоснимок интересующего водоема. Сохраняем в формате .ecw. Затем изменим его систему координат в WGS 1984: открывает его в Global Mapper'е. В настройках программы (Инструменты->Настройка->Проекция) указываем проекцию Geographic (Latitude/Longitude), СК: WGS84, и экспортируем в формат GeoTIFF (Файл->Экспорт->Экспорт растров…). Здесь стоит упомянуть, что называть файлы лучше на латинице без пробелов, также гарантированно работают цифры и знак нижнее подчеркивание(_), т.к. ArcGis критично относится к этому. И путь к файлу лучше чтобы был также на латинице. Открываем получившийся файл в ArcGis. Видим озеро немного искаженным - т.к. пока оно у нас в не спроецированной системе координат. Открываем точки с глубинами, который мы готовили в формате .xls. Присваиваем им значения долготы-широты (правой кнопкой мыши по таблице->Отобразить данные XY…), указываем в каком поле долгота, широта и глубина. СК: GCS_WGS_1984. Получаем точки которые лежат как бы в воде. Зачастую привязка скачанного снимка неточная, поэтому делаем его перепривязку, основываясь на точках с глубинами: вызываем панель Пространственная привязка (правой кнопкой мыши по пустому полю справа от меню->Пространсвенная привязка). Затем, смотрим рис. ниже, где: 1 - выбираем растр, который будем двигать, 2 - добавляем опорные точки: для этого сначала щелкаем по тому место (точке), которое нужно переместить, потом щелкаем туда, куда это место (точку) нужно подвинуть, основываясь на точках с глубинами, чтобы они не выходили на берег и стояли примерно там, где вы их ставили в натуре. 3 - выбираем Трансформировать - сохраняем растр.

Batim1.jpg

Теперь, когда водоем пододвинут под точки глубин, рисуем периметр озера точками: в ArcCatalog создаем новый шейп-файл (по папке в дереве каталогов щелкаем правой кнопкой мыши->Новый->Шейп-файл...) Тип: точка, система координат: GCS_WGS_1984. Затем 2 раза щелкаем по получившемуся файлу – переходим в закладку Поля, добавляем 2 поля Lat и Long, тип поля - float. Если водоем маленький - указываем в поле Точность сколько цифр нам нужно после запятой, например, 0,000000. Нажимаем Ок. Перетаскиваем шейп а ArcMap. Создаем точки по периметру берега (правой кнопкой мыши по слою->Редактировать объекты->Начать редактирование, в правой части окна должно появиться окно Создать объекты, если не появилось - в меню Редактор, которое может быть в виде маленького окна выбираем Редактор->Окна редактирования->Создать объекты). После того, как создали точки, присваиваем полям Lat и Long соответственно координаты: правой кнопкой по слою в левом меню->Открыть таблицу атрибутов. Добавляем 2 новых поля: Кнопка Опции таблицы->Добавить поле... В открывшемся окне называем поля соответственно Lat и Long, тип: Double, точность в зависимости от размеров озер, для небольших пойменных озер, например, 0,00000. Нажимаем Ок. Затем правой кнопкой мыши по заглавию столбца->Вычислить геометрию, в открывшемся окне выбираем соответственно для столбца Lat - y, для Long - x. нажимаем Ок. Затем в меню Редактор выбираем Редактор->Завершить редактирование - тем самым сохраняем шейп. Затем данные по периметру экспортируем в Excel: Нажимаем кнопку ArcToolBox (обычно 5 кнопка в меню правее масштаба), здесь в дереве инструментов выбираем Конвертация->Excel->Таблица в Excel, перетаскиваем в пункт Входная таблица таблицу с периметром, в пункте Выходной файл Excel указываем куда сохранять.

1.4. Формируем в одном Excel файле массив точек, состоящий из точек периметра и глубин.

2. Построение по точкам поверхности

2.1. Загружаем лист файла Excel в ArcMap. присваиваем, как говорилось выше, точкам координаты и глубину (СК: GCS_WGS_1984). Устанавливаем проекцию вида (двойной щелчок мыши по слову Слои в левом меню слоев, закладка Системы координат) проекцию WGS_1984_UTM_Zone_??N: Системы координат проекции->UTM->WGS1984->Северное полушарие->WGS 1984 UTM Zone ??N, где вместо ?? выбираете ту, где лежит водоем.

2.2. Экспортируем в шейп-файл: правой кнопкой мыши по слою->Данные->Экспорт данных. Ставим точку в пункте Фрейма данных, и выбираем путь куда сохранить шейп. Подгружаем шейп на карту.

2.3. Выбираем в ArcToolBox: Инструменты Spatial Analyst->Интерполяция растра->Топо в растр. Во входные данные перетаскиваем наш шейп-файл, он отобразится в таблице ниже. В столбце "Поле" указываем столбец, где хранятся данные по глубинам (обычно третий столбец), в столбце "Поле" выбираем PointElevation. Указываем выходную растровую поверхность (вручную вбиваем название файла файл с расширением .tif), указываем размер выходной ячейки (лучше выбирать поменьше чем предложено, в зависимости от размера водоема). Нажимаем ОК - растр готов. Это один из возможных методов построения модели котловины. Другой, не менее распространенный - метод Кригинга. Инструмент расположен в дереве рядом: Инструменты Spatial Analyst->Интерполяция растра->Кригинг. Поля заполняются по аналогии (Входные точечные объекты, поле значений Z, Выходная растровая поверхность). Для каждого конкретного случая можно выбирать различные методы. Стоит отметить, что при построении методом Кригинга если водоем имеет изрезанную береговую линию, и в не во всех заливах стоят точки с глубиной, то в полученной модели дна в этих заливах уровень дна может выйти выше поверхности воды.

3. Визуализация полученного растра.

3.1. Разукрашивание в зависимости от глубины. Двойной щелчок по растру в левом окне, откроется окно Свойство слоя, переходим на закладку Символы. В левом поле выбираем Классификация, нажимаем на кнопку Классификация, указываем в выпадающем меню Заданный интервал цифру в метрах - через какой интервал разукрашивать поверхность. Нажимаем Ок. Здесь же можно выбрать цветовую схему из предложенных. Нажимаем Ок. Как видно, поверхность у нас продолжается за периметром озера. Чтобы сделать ее прозрачной, два раза щелкаем по цветному прямоугольнику в меню слоев слева, который соответствует высоте за периметром озера, в открывшемся окне выбираем закладку Свойства, и ставим галочку напротив пункта Прозрачный цвет.

3.2. Создание изолиний. ArcToolBox->Инструменты Spatial Analyst->Поверхность->Изолинии. Во Входной растр перетаскиваем наш растр, указываем файл shape на выходе, и интервал, через который будут нарисованы изолинии (обычно это тот же интервал, что и в предыдущим пункте). Нажимаем Ок - изолинии готовы. Подписать их можно дважды щелкнув по слою изолиний в левом окне, выбрав закладку Надписи. Обычно значения высот лежат в поле CONTOUR.

3.3. Создание карты для публикации. Переходим в вид компоновки: Вид->Компоновка. Масштабируем, передвигаем для лучшего представления карту. Делаем подписи. Вставляем градусную сетку: двойной щелчок по слову Слои в левом меню, закладка Сетки, нажимаем Новая сетка. Далее по пунктам оформляем ее. Через пункт меню Вставка вставляем легенду, масштабную линейку. Батиметрическая карта готова! Можно экспортировать: Файл-Экспорт карты.

Batim2.JPG

P.S. Особая благодарность за помощь taimyr

Автор О. Артаев

Полезные ссылки

Создание трехмерной модели котловины озера в ГИС Карта