Как сделать матрицу высот в панораме
Для определения длины или площади объекта с учетом рельефа необходимо предварительно построить матрицу высот. При построении матрицы высот используется информация объектов карты (данные об абсолютной и относительной высоте) и всех добавленных к ней пользовательских карт.
В матрицу информация о высотах записывается в упакованном виде, что существенно уменьшает размер файла.
в случае задания абсолютного типа рельефа матрица строится с использованием объектов карты, имеющих характеристику абсолютная высота, а также объектов, метрика которых содержит высоты;
в случае задания суммарного типа к абсолютному рельефу добавляются высоты объектов, имеющих характеристику относительная высота;
в случае задания относительного типа рельефа относительные высоты объектов добавляются к плоской поверхности с абсолютной высотой, равной нулю.
в случае задания суммарного типа к абсолютному рельефу добавляются высоты объектов, имеющих характеристику относительная высота;
в случае задания относительного типа рельефа относительные высоты объектов добавляются к плоской поверхности с абсолютной высотой, равной нулю.
Рельеф местности может содержать области локальных экстремумов (ямка, горка). На карте таким областям соответствуют замкнутые горизонтали.
В случае задания линейной интерполяции по сетке высотных точек для построения поверхности используются только точечные объекты карты, имеющие характеристику абсолютная высота или значение высоты в метрике. Количество высотных точек должно быть не менее трех.
В случае задания плоской поверхности с нулевой высотой строится матрица относительных высот.
Качество создаваемой матрицы зависит от наличия объектов карты с высотными характеристиками (абсолютная высота, трехмерная метрика), а также от наличия объектов гидрографии без высотных характеристик, пространственное положение которых определяет особенности рельефа местности.
При обработке линейного объекта гидрографии с переменной высотой (линия водотока – река, ручей и т.п.) в матрицу заносятся уменьшающиеся значения высоты, соответствующие обрабатываемой линии водотока. Значения и перепад заносимых высот зависят от высот объектов карты, с которыми пересекается данный объект гидрографии. Если линейный объект гидрографии не пересекает объектов с высотными характеристиками, то он не обрабатывается.
1. Цель работы: получить основные навыки построения и использования матрицы высот.
2.Теоретическая часть
2.1. Введение
Матрица высот содержит информацию о рельефе местности в растровой форме со значениями высоты в ячейках. В матрице качеств заполняются соответствующими весовыми коэффициентами ячейки, координаты которых относятся к заданному виду объектов карты. Матрицы высот (MTW) могут быть поcтроены по данным векторной карты. Они могут содержать абсолютные высоты рельефа местности или сумму абсолютных и относительных высот объектов.
TIN-модель представляет собой многогранную поверхность - нерегулярную сеть треугольников, вершинами которых являются исходные опорные точки.
Матрицы качеств (MTQ) могут быть получены путем поиска заданных видов объектов карты, имеющих требуемые характеристики. В матрице заполняются соответствующими весовыми коэффициентами те ячейки, координаты которых относятся к объекту. Матрицы качеств и матрицы высот имеют единую структуру.
2.2. Обработка матрицы высот
2.2.1. Общие сведения
Матрица высот– трёхмерная растровая модель местности. Матрица высот имеет регулярную структуру и содержит элементы, значениями которых являются высоты рельефа местности. Каждый элемент матрицы содержит одно значение высоты. Структура матрицы высот аналогична структуре цифровой модели рельефаDEM(DigitalElevationModel).
Элемент матрицы соответствует квадратному участку местности, размер стороны которого называется точностью матрицы.
Матрица высот может содержать абсолютный рельеф местности или суммарный рельеф - сумму абсолютного рельефа и относительных высот объектов.
Основными параметрами матрицы высот являются:
плановая привязка матрицы;
минимальное и максимальное значение высоты;
тип результирующего рельефа.
Масштаб матрицыпредназначен для согласованного совместного отображения матрицы и векторной карты.
Размер матрицы– ширина и высота матрицы в метрах.
Плановая привязка матрицы- координаты левого-нижнего (юго-западного) угла матрицы в метрах в прямоугольной системе.
Точность матрицы- размер в метрах стороны квадратного участка местности, соответствующего элементу матрицы.
Тип результирующего рельефаопределяет, что содержит матрица - абсолютный рельеф местности или сумму абсолютного рельефа и относительных высот объектов.
2.2.2. Построение матрицы высот по векторной карте
При построении матрицы по векторной карте используется информация объектов главной карты и всех добавленных к ней пользовательских карт.
Матрица высот может быть построена на район, на заданный в районе участок местности или на заданные листы района.
В качестве результирующего рельефа матрица высот может содержать абсолютный или суммарный рельеф.
В случае абсолютного рельефа матрица строится с использованием объектов карты, имеющих характеристику “абсолютная высота”, объектов, метрика которых содержит высоты, а также объектов гидрографии, указанных в разделах “Водные поверхности” и “Линии водотока” служебного текстового файла.
В случае суммарного рельефа - к абсолютному рельефу добавляются высоты объектов, имеющих характеристику “относительная высота” или характеристику, указанную в разделе “Дополнительные характеристики” служебного текстового файла.
При занесении в матрицу абсолютных высот объектов может происходить наложение высот, то есть попадание в один и тот же элемент двух или более объектов с абсолютной высотой. Матрица может быть построена с занесением в элементы максимальной, минимальной или средней высоты. Под средней высотой понимается среднее арифметическое имеющегося значения данного элемента и абсолютной высоты объекта, попавшего в данный элемент.
При обработке точечных объектов их абсолютные высоты заносятся в элемент независимо от содержимого элемента, так как информация о высотах объектов планово-высотной основы является наиболее приоритетной.
При наложении относительных высот в элемент матрицы заносится максимальное значение относительной высоты.
При создании картографического сервера у меня возникла необходимость в создании высотных профилей местности. В качестве данных для цифровой модели рельефа я решил использовать SRTM (NASA Shuttle Radar Topography Mission). Хотя есть и альтернативные наборы данных, SRTM наиболее распостранен и вполне удовлетворял меня по точности. Данные поставляются в нескольких вариантах — сетка с размером ячейки 1 угловая секунда и 3 угловые секунды. Более точные односекундные данные (SRTM1) доступны на территорию США, на остальную поверхность земли (между 60 градусов северной широты и 54 градусов южной широты) доступны только трехсекундные данные (SRTM3). Файлы представляют собой матрицу из 1201х1201 (или 3601х3601 для односекундной версии) значений.
Для удобной закачки данных с официального источника набросал небольшой скрипт
Для создания и наполнения таблицы удобно использовать psycopg2 (PostgreSQL адаптер для Python), а для чтения SRTM — библиотеку GDAL. Небольшой python-скрипт запускать который нужно в ранее созданной и наполненной данными папке SRTM.
import pg, psycopg2
from osgeo import gdal, gdal_array
import os
import re
import sys
from math import sqrt
def posFromLatLon(lat,lon):
return (lat * 360 + lon) * 1200 * 1200
class DatabasePg:
def __init__(self, db_name, db_user, db_pass):
self.db = pg.DB(dbname=db_name,host='localhost', user=db_user, passwd=db_pass)
def createTableAltitude(self):
tables = self.db.get_tables()
if not('public.altitude' in tables):
self.db.query(" \
CREATE TABLE altitude ( \
pos bigint NOT NULL, \
alt int NULL, \
PRIMARY KEY ( pos ) \
); \
")
return True
class DatabasePsycopg2:
def __init__(self, db_name, db_user, db_pass):
self.db_name = db_name
f = open('/tmp/tempcopy', 'r')
import subprocess
psqlcmd = "/usr/bin/psql"
if __name__ == '__main__':
main()
Для создания непосредственно высотного профиля использовал Qt. Создаем коннект с базой (может понадобится драйвер доступа к базе)
Маршрут, высотный профиль которого мы хотим создать, состоит из точек GeoPoint, которые хранят широту, долготу и высоту
class GeoPoint
public:
GeoPoint();
GeoPoint(double latitude, double longitude, double altitude);
double latitude();
double longitude();
double altitude();
void setLatitude(double latitude);
void setLongitude(double longitude);
void setAltitude(double altitude);
private:
double m_latitude;
double m_longitude;
double m_altitude;
>;
Для получения необходимого количества точек нужно выполнить интерполяцию и получить оценку высоты для каждой точки маршрута.
Для интерполяции нахожу общую длину маршрута (использую формулу Винсенти) и добавляю необходимое количество новых точек в маршрут
Для получения оценки высоты каждой точки маршрута, находим в базе четыре ближайшие точки и производим билинейную интерполяцию
Целью формирования горизонталей является получение информации о рельефе местности в линейном виде по матрице высот рельефа (МВР). Формирование горизонталей выполняется в границах МВР, по параметрам, установленным пользователем. Нужно учитывать что, горизонтали строятся только в районе карты, покрываемой МВР. На участки необеспеченные матричными данными горизонтали не формируются. В случае если матрицы высот не имеют перекрытия, то горизонтали могут быть сформированы с “дырами” или разрывами.
Построение горизонталей выполняется в несколько этапов:
1. Обработка матрицы высот рельефа
2. Построение сечений рельефа
3. Отслеживание горизонталей
4. Обработка горизонталей
Этапы 2, 3 являются обязательными и выполняются в любом случае, а пункты 1 и 4 выполняются согласно установленным параметрам.
В результате работы программы создается пользовательская карта, с тем же именем, что и матрица высот, или с именем, установленным пользователем, в которую помещаются сформированные горизонтали. Если пользовательская карта с указанным именем на момент формирования является активной, то горизонтали будут добавлены в нее после подтверждения пользователя на соответствующий запрос. Но в этом случае возможна ситуация двойных горизонталей, если таковые в пользовательской карте уже имелись.
На этапе обработки матрицы высот выполняется контроль МВР, согласование МВР с высотными точками, сглаживание высот МВР и согласование МВР с гидрографией.
Во время контроля МВР выполняется проверка соответствия высот узлов МВР паспорным значениям и контроль перепадов высот соседних узлов по шагу МВР. В результате контроля бракованные высоты замещаются на интерполированные по соседним узлам, а паспортные данные заменяются на реально определенные.
Согласование МВР с высотными точками необходимо для точной "укладки" горизонталей в районе высотной точки. Но если известно, что матрица высот уже согласована и интерполяция высот в районе высотных точек произведена пользователем другими средствами и изменять МВР нельзя, то этот этап необходимо пропустить.
Oбъeкты ПВО цифpуютcя, кaк пpaвилo c бoльшoй тoчнocтью, пoэтoму нeoбxoдимo МВР тpaнcфopмиpoвaть тaким oбpaзoм, чтoбы выcoты в cooтвeтcтвующиx тoчкax МВР coвпaдaли c выcoтaми в тoчкax ПВО, пpичeм xapaктep peльeфa в окpecтнocти тaкoй тoчки нe дoлжeн cильнo мeнятьcя.
Для выпoлнeния тaкoй тpaнcфopмaции рaccмaтpивaeтcя oкpecтнocть oпpeдeлeннoгo paдиуca кaждoй тoчки ПВО и пpoизвoдитcя измeнeниe выcoты в кaждoй тoчкe oкpecтнocти. Пpичeм измeнeниe в цeнтpe окpecтнocти мaкcимaльнoe - тaкoe, чтoбы выcoтa в цeнтpe oкpecтнocти coвпaдaлa c зaдaннoй выcoтoй. A чeм ближe к кpaю oкpecтнocти, тeм измeнeниe мeньшe. Тaким oбpaзoм oбecпeчивaeтcя нeизмeннocть oбщeгo хapaктepa peльeфa и глaдкий пepexoд oт измeняeмoй окpecтнocти к ocтaльнoй чacти МВР. Caм paдиуc oкpecтнocти выбиpaeтcя в зaвиcимocти oт знaчeния диcпepcии в тoчкe: чeм бoльшe диcпepcия, тeм мeньшe paдиуc.
Сглаживание МВР - процесс, который может улучшить формы рельефа путем устранения ошибок профилирования на приборе, в частности "затягивание" профилей. Это процесс может существенно изменить информацию, поэтому использованием сглаживания МВР должны заниматься только опытные пользователи, прекрасно представляющие какие результаты необходимо получить.
Иcпoльзуютcя cлeдующиe мeтoды измeнeния МВР:
Сглаживание строк и столбцов МВР. Дeйcтвиe этoгo мeтoдa ocнoвaнo нa тoм, чтo на некоторых фотограмметрических приборах (например, СПА) МВР цифpуeтcя пo cтpoкaм, и вдoль кaждoй cтpoки выcoтa измeняeтcя плaвнo и нeпpepывнo, oднaкo пpи пepexoдe oт cтpoки к cтpoкe выcoтa мoжeт cкaчкooбpaзнo мeнятьcя, пoэтoму нeoбxoдимo измeнять знaчeния выcoт вдoль cтoлбцoв мaтpицы, т.e. скoppeлиpoвaть иx мeжду сoбoй.
Мeтoд peaлизoвaн cлeдующим oбpaзoм: кaждый стoлбeц МВР paзбивaeтcя нa фpaгмeнты нeкoтоpoй длины и вычиcляecя диcпepcия нa дaннoм фpaгмeнтe. Ecли этo знaчeниe нижe нeкoтopoгo пopoгoвoгo уpoвня, тo пpoизвoдитcя cглaживaниe дaннoгo фpaгмeнтa, инaчe фpaгмeнт ocтaeтcя нeизмeнным. Дaлee oбpaбoтaнныe фpaгмeнты глaдкo coeдиняютcя мeжду coбoй и oбpaзуют нoвый cтoлбeц МВР. Тaкoй мeтoд пpaктичecки нe измeняeт учacтки c кpутым, гopным peльeфoм, и пoдaвляeт выбpocы знaчeний выcoты нa бoлee paвнинныx мecтax. Вooбщe, этo пpaвилo - мeньшe измeнять peльeф, тaм гдe он кpутoй, и бoльшe - тaм гдe paвнинa- будeт, пo вoзмoжнocти, пpимeнятьcя вo вcex мeтoдax мoдификaции МВР. Этo ocнoвaнo нa тoм cooбpaжeнии, чтo aцp дaeт сиcтeмaтичecкую oшибку пocтoянную пo aбcoлютнoй вeличинe, a знaчит в мecтax гдe нaблюдaютcя бoльшиe пepeпaды выcoты этo будeт дaвaть мeньшую отнocитeльную oшибку, чeм нa poвныx мecтax. Этo пpeдпoлoжeниe пoдтвepждaeтcя и мнoгoчиcлeнными пpaктичecкими дaнными.
Нaвeдeниe cплoшнoй aнaлитичecкoй cтpуктуpы. Этoт мeтoд окaзывaeт пpимepнo тaкoe жe вoздeйcтвиe нa МВР, чтo и пpeдыдущий, oднaкo измeнeниe пpoизвoдитcя нe вдoль отдeльныx cтoлбцoв мaтpицы, a cpaзу пo вceй ee плoщaди.
Cущнocть мeтoдa зaключaeтcя в cлeдующeм: cнaчaлa вычиcляeтcя знaчeниe диcпepcии в кaждoй тoчкe МВР, дaлee выcoтa в кaждoй тoчкe пepeвычиcляeтcя пo знaчeниям в дeвяти oкpecтныx тoчкax и cтapoгo знaчeния в дaннoй тoчкe, пpичeм пpи вычиcлeнии учитывaeтcя знaчeниe диcпepcии: чeм бoльшe диcпepcия, тeм мeньшe измeняeтcя знaчeниe выcoты. Тaким oбpaзoм дocтигaeтcя тoт жe эффeкт: в бoлee кpутыx мecтax, гдe бoльшoe знaчeниe диcпepcии, МВР измeняeтcя мeньшe, чeм в рaвнинныx.
Пocлe выпoлнeния тaкoй oпepaции нaд МВР, oнa cтaнoвитcя бoлee глaдкoй пo вceм нaпpaвлeниям. Ecли рaccмaтpивaть МВР кaк диcкpeтный oбpaз нeкoй функции двуx пepeмeнныx, тo мoжнo cкaзaть, чтo пoвышaeтcя стeпeнь aнaлитичнocти функции, oтcюдa и нaзвaниe мeтoдa.
Пoдaвлeниe eдиничныx шумoв. Этoт мeтoд пoзвoляeт пoдaвить пoявлeниe мeлкиx гopизoнтaлeй, нe oтoбpaжaющиx хapaктepa peльeфa, пpи фopмиpoвaнии гopизoнтaлeй пo МВРР.
Cущнocть мeтoдa: кaждaя тoчкa мaтpицы анaлизиpуeтcя нa пpeдмeт тoгo нe пpoxoдит ли выcoтa, кpaтнaя выcoтe ceчeния, мeжду тoчкoй и ee coceдями. Ecли тaкoй фaкт уcтaнoвлeн, тo дaнную тoчку нeoбxoдимo cлeгкa измeнить, инaчe вoкpуг нee будeт пpoxoдить мaлeнькaя зaмкнутaя гopизoнтaль.
Согласование МВР с гидрографией необходимо для точной “укладки” горизонталей в районе гидрографии.
При согласовании гидрографии с МВР пользователь должен заполнить фильтр по гидрографии, самостоятельно установив необходимые слои, например: (гидрография), тип (линейный) и объекты, которые согласуются с МВР (сюда могут входить реки, каналы, проливы, сухие русла, овраги и другие объекты, связанные с водотоком).
Peльeф, пpeдcтaвлeнный в видe гopизoнтaлeй, дoлжeн быть coглacoвaн c плaнoвым пpeдстaвлeниeм oбъeктoв гидpoгpaфии: oзepaми, мopями, рeкaми и т.п. Oбъeкты, имeющиe пocтoянную выcoту (oзepa, мopя) пpивязывaютcя cлeдующим oбpaзoм: вo вcex тoчкaм МВР лeжaщиx внутpи oбъeктa уcтaнaвливaeтcя выcoтa oбъeктa. Пocлe этoгo выпoлняeтcя cглaживaниe пepexoдa oт выcoт внутpи oбъeктa к выcoтaм oкpужaeщeгo peльeфa. Oкpecтнocть oбъeктa в кoтopoй выпoлняeтcя этoт пepexoд нaзывaeтcя зoнoй влияния oбъeктa.
Peки, пpeдcтaвлeнныe в видe oднoй линии, пpивязывaютcя cлeдующим oбpaзoм: выcoты в тoчкax МВР, лeжaщиx вдoль peки, измeняютcя тaким oбpaзoм, чтoбы oбecпeчить мoнoтoннoe измeнeниe выcoты вдoль тeчeния peки. Дaлee эти измeняющиecя тoчки глaдкo увязываются c окpecтными выcoтaми.
В процессе согласования МВР с гидрографией происходит сортировка метрики гидрографии по длине метрики. Сортировка необходима для того, чтобы более протяженные объекты (реки) имели приоритет при согласовании МВР перед менее протяженными объектами (ручьи, промоины). Таким образом, МВР, согласованная с более протяженными объектами, используется как исходная информация для согласования с менее протяженными объектами.
Для различной категории рельефа необходимо использовать различные параметры обработки МВР. Например, для высокогорья необходимо уменьшить коэффициент корреляции, а для равнинной местности увеличить.
Таким образом, предварительная обработка МВР повышает качество и точность входной информации для формирования горизонталей.
Построение сечений и отслеживание горизонталей – автоматические режимы, на которые пользователь может влиять только путем установления различной высоты сечения рельефа.
Так как на пересеченном рельефе форма отслеженных горизонталей получается угловатая, а так же возможно петлеобразное пересечение горизонталей, выполняется дополнительная обработка горизонталей. Последовательно выполняются:
Отсечение петель выполняется для устранения самопересечения горизонталей и узких выбросов метрики объекта. Количество узлов в отсекаемой петле устанавливается пользователем.
Фильтрация выполняется для подготовки горизонталей к сглаживанию. Основной задачей является устранение спаренных точек метрики, отстоящих друг от друга на расстоянии, указанном в метрах, как шаг фильтрации метрики горизонталей. Пользователю необходимо самостоятельно контролировать размер шага фильтрации. Изменяя его значение можно добиться более плавных форм горизонтали.
Сглаживание горизонталей выполняется с целью придания метрике горизонталей более плавной формы, путем добавления точек метрики методом интерполяции их планового положения.
Затем карту необходимо визуально проконтролировать и выполнить редактирование тех мест на горизонталях, которые не показывают форм рельефа. Это замечание имеет отношение к рельефу, полученному на равнинные участки, поскольку однозначно передать форму равнинного рельефа средствами ЭВТ не представляется возможным.
1.38.1Формирование бергштрихов и подписей рельефа.
Режим предназначен для нанесения подписей линейных объектов, если текст подписи содержится в качестве семантической характеристики этого объекта. Примером использования данного режима может служить подпись горизонталей (абсолютная высота), просек (ширина) и т.д. Подписи наносятся на ту карту, где выбран объект.
семантики объекта, если в семантике кода объекта (в классификаторе карты) существует ссылка на тип подписи;
диалога выбора вида объекта, если в семантике кода объекта (в классификаторе карты) ссылка на тип подписи отсутствует.
автоматически – в процессе построения горизонталей по матрице высот для самых вложенных замкнутых горизонталей;
полуавтоматическими способами в процессе редактирования горизонталей.
Формирование метрики создаваемого объекта производится автоматически перпендикулярно выбранному объекту справа от направления цифрования выбранной горизонтали. В связи с этим применять данные режимы следует после контроля направления цифрования объектов рельефа.
Длина создаваемого объекта вычисляется в соответствии с размерами, указанными для него в электронном классификаторе.
Аннотация научной статьи по наукам о Земле и смежным экологическим наукам, автор научной работы — Сысоев Александр Владимирович, Елшина Татьяна Евгеньевна
Похожие темы научных работ по наукам о Земле и смежным экологическим наукам , автор научной работы — Сысоев Александр Владимирович, Елшина Татьяна Евгеньевна
Геоинформационные системы экологического сопровождения инвестиционно-строительных проектов нефтегазовых месторождений
CREATION AND PROCESSING OF DIGITAL TERRAIN MODELS IN A GIS ENVIRONMENT
СОЗДАНИЕ И ОБРАБОТКА ЦИФРОВЫХ МОДЕЛЕЙ РЕЛЬЕФА В СРЕДЕ ГИС
Александр Владимирович Сысоев
Татьяна Евгеньевна Елшина
Ключевые слова: цифровая модель рельефа, ГИС, отмывка.
CREATION AND PROCESSING OF DIGITAL TERRAIN MODELS IN A GIS ENVIRONMENT
Alexander V. Sysoev
Tatiana Ye. Elshina
Key words: digital relief model, GIS, tinted hill shading.
На основе данных о рельефе, возможно, выполнять различные геоинформационные задачи, например, быстрое создание серии тематических карт важнейших морфометрических показателей: гипсометрической карты, карт крутизны и экспозиций склонов, а на их основе и карт эрозионной опасности, направлений поверхностного стока, устойчивости ландшафтов. Цифровые модели рельефа - это особый вид трехмерных математических моделей, содержащие информацию о высоте поверхности Земли. Глобальные ЦМР строятся, в основном, по данным стереоскопической оптической и интерферометрической радиолокационной космической съемки [1]. В большинстве случаев требования по точности ЦМР можно удовлетворить, создавая модели на основе цифровых топографических карт соответствующего масштаба, содержащих информацию о рельефе в виде изолиний, отметок высот, отметок урезов воды и т. п. Процесс
создания модели рельефа (в триангуляционном или матричном виде) по цифровым данным такого типа в настоящее время хорошо изучен, реализован во многих ГИС [2].
Рис. 3. Цифровая модель рельефа в QGIS
Для большей наглядности и оценки рельефа можно воспользоваться функциями вышеперечисленных геоинформационных систем, для отображения созданных матриц высот в трехмерном пространстве. Система ArcGIS для трехмерного отображения использует отдельное приложение ArcScene, в котором добавляем слой созданной модели рельефа и устанавливаем параметры ее отображения (рис. 4).
Рис. 4. ЭБ-модель ArcGIS
В окне модуля задаем матрицу высот, далее 3D модель демонстрируется с помощью любого Web-браузера (рис. 6).
Рис. 6. ЭБ-модель QGIS
Используемые геоинформационные системы имеют широкий спектр анализа и демонстрации моделей поверхности, а также их трехмерное представление. Выбор ГИС зависит от поставленной задачи и знаний той или иной программы. Для более детального анализа чаще используют геоинформационную
1. Хромых В. В., Хромых О. В. Цифровые модели рельефа : учеб. пособие. - Томск : ТМЛ-Пресс, 2007. - 178 с.
2. Абламейко С. В. Метод повышения точности моделирования рельефа местности // Геодезия и картография. - 1993. - С. 42-45.
3. Колдаев П. К. Пластическое изображения рельефа на картах. - М. : Геоиздат, 1956. -
Читайте также: