© Курцев П.А., 2013
®
УДК 004.41 ББК 32.973-018
РАЗРАБОТКА КОМПОНЕНТА ПРОГРАММНОГО КОМПЛЕКСА «ЭКОГИС» ДЛЯ СОЗДАНИЯ И РЕДАКТИРОВАНИЯ ЦИФРОВЫХ МОДЕЛЕЙ РЕЛЬЕФА1
Курцев Петр Анатольевич
Магистрант кафедры информационных систем и компьютерного моделирования
Волгоградского государственного университета
kurtsev_petr@mail.ru
Проспект Университетский, 100, 400062 г. Волгоград, Российская Федерация
Аннотация. Разработан компонент программного комплекса «ЭкоГИС» для создания и редактирования цифровых моделей местности (далее - ЦММ). Цифровая модель местности создается по координатам из нерегулярной сетки на основе триангуляции Делоне или с использованием методов интерполяции. Данный программный компонент позволяет редактировать ЦММ по линейным и площадным объектам.
Ключевые слова: программный комплекс «ЭкоГИС», цифровая модель местности, редактирование ЦММ, триангуляция, интерполяция.
Введение
Информационное обеспечение географии в настоящее время осуществляется с использованием геоинформационных технологий. Они находят широкое применение в различных областях географических исследований.
Создание и применение цифровых моделей местности ЦММ позволит решить важную прикладную задачу - пространственный анализ. ЦММ, широко применяемые в настоящее время в разных областях, значительно облегчают анализ.
В последние годы данные цифрового рельефа становятся все более открытыми. Их использование связано с современными компьютерными технологиями создания ГИС, что дает совершенно уникальный инструмент для анализа самых разных природных явлений. Это позволяет обществу сфокусировать свое внимание на актуальной проблеме предсказания развития ситуации, например, при прорывах плотин, наводнениях и прочих чрезвычайных происшествиях.
С появлением современных численных методов решения уравнений гидродинамики, при соответствующем уровне вычислительной техники (параллельные вычислительные технологии) эта задача стала вполне разрешимой, то есть стало возможным прямое моделирование динамики поверхностных вод на реалистичном рельефе на территории несколько тысяч квадратных километров с приемлемой точностью [1-9].
Современные геологические исследования предъявляют высокие требования к точности привязки данных и их размещению на разно-целевых картах. Основой всех построений является максимально детальные топографические карты, но, к сожалению, они, порою, менее доступны, чем материалы космической съемки или данные цифрового рельефа.
1. Информационная модель
Программный комплекс «ЭкоГИС» состоит из восьми основных модулей и блоков (рис. 1) [6]:
Рис. 1. Схема, поясняющая принцип и структуру работы программного комплекса «ЭкоГИС»
1. Интерфейс программного комплекса «Main» обеспечивает управление работой всего программного продукта.
2. Расчетный модуль обеспечивает проведение расчетов посредством программной реализации гидродинамической нестационарной модели движения жидкости.
3. Сервер приема данных устанавливается на машине пользователя производящей расчеты, в целях удаленного подключения к ней главного модуля программного комплекса.
4. Файловый блок входных данных - область дискового пространства, предназначенная для хранения картографических данных.
5. Файловый блок настроек проекта -область дискового пространства, предназначенная для хранения настроек проекта.
6. Файловый блок выходных данных -область дискового пространства, предназначенная для хранения файлов, полученных в процессе моделирования.
7. ГИС «Карта 2008» позволяет создавать и редактировать векторные (пользовательские, тематические) карты в форматах MAP и SIT, строить по данным векторных карт матрицы абсолютных и относительных высот в формате MTW, матрицы качества в формате MTQ.
8. Модуль создания и редактирования ЦММ (рис. 2) позволяет создавать цифровые модели местности из входных данных, а также производить редактирование ЦММ по линейным или площадным объектам.
EditDTM
+mre: ManualResetEvent
+StartEditingByLine(inout matrixheight,
in doublet],in doublet]) 4-Start Edit ingByPolygon(inout matrix_heightf
in double[],in double[])
matrixheight
+H: doublet,]
+X: doublet,]
+Y: doublet,]
4-Hmin: double +Hmax: double +size_i: int +size_j: int
4-tris: ListcTriangulator.Geometry.Triangle» 4-Vertices: ListcTriangulator.Geometry.Point> +NoData: double = -32768.0
4-mat rix height (in width:int,In height:int) +~matrix_height()
+matrix_height(in X:double[],in Y:double[],
in Z:double[],in N:int,in M:int) 4-TriangulationAllPoint(): void 4-FillingByTriangulation(): void +WeightedInterpolation8(): void #WeightedInterpolation8Point(in obj:Point): void +WeightedInterpolationl6(): void #WeightedInterpolationl6Point(obj:Point): void
LineObject
+PixelLineObject: List<Point> 4-LineObj ectCoordenatX: List<double> +Line0bj ectCoordenatY: List<double>
+LineObject()
4-Add (in pixel:Point,in X:double,in Y:double) 4-reconst ruct (MTH: mat rixheight) #line_get_pixels{)
PolygonObject
4-PolygonObjectCoordenatX: List<double> 4-PolygonOb j ectCoordenatY: List<double> 4-ListPolygonObject: List<Point> 4-ListPolygonObjectVec: List<Point> 4-PointDivisionX: double 4-PointDivisionY: double +IndexPointDivisionPolygon: int
4-PolygonObj ect (in Listindex: List<Point>, in ListCoordX:List<double>, in ListCoordY:List<double>, in DivisionX:double,in DivisionY:double) 4-reconst ruct (in MTH: mat rixheight)
#line_get_pixels()
Рис. 2. Диаграмма классов DTM.dll
Библиотека DTM.dll предназначена для создания и редактирования цифровых моделей местности по какому-либо объекту (линейному или площадному). Редактируется, исходя из формулы введенной пользователем.
Edit DTM статический класс для редактирование ЦММ по линейным и площадным объектам. Start Editing By Line и Start Editiing By Polygon - функции класса реализующие редактирование.
Класс matrix_height. Данный класс описывает структуру хранения данных цифровой модели рельефа (его можно также использовать для описания цифровой модели местности, если в H записывать не координату Z, а другую компоненту, описывающую местность).
Функционал создания ЦММ: Triangulation All Point выполняет построение триангуляции Делоне, а Filling By Triagulation заполняет все ячейки цифровой модели местности; Weighted Interpolation16 и Weighted Interpolation8 - функции средневзвешенной интерполяции по 16 и 8 направлениям.
Класс Polygon Object предназначен для хранения площадного объекта, а класс Line Object - для хранения линейного объекта.
2. Тестирование
Существуют данные рельефа, находящиеся на нерегулярной сетке координат, и чтобы создать цифровую модель рельефа необходимо нанести эти данные на регулярную сетку и заполнить места без данных с помощью некоторых методов.
В библиотеке DTM.dll были реализованы три метода: на основе триангуляции Делоне; интерполяция по 8 направлениям; интерполяция по 16 направлениям.
Все эти методы позволят избавиться от мест в цифровой модели рельефа, в которых нет данных (рис. 3).
Но интерполяция плохо работает над данными, в которых очень много неизвестных, например, данные с рельефом дна водоема (данные представлены ниже в примерах), а вот с матрицами, у которых данных не хватает незначительно, они применимы (рис. 4-5).
Триангуляция справляется с выше изложенной задачей значительно лучше. Данные находящиеся на нерегулярной сетке считываются и с помощью одного из конструкторов в классе matrix_height и заносятся на регулярную сетку (рис. 6).
Рис. 6. Исходные данные рельефа Вестник ВолГУ. Серия 9. Вып. 11. 2013
Далее, по этим точкам необходимо построить триангуляцию с помощью метода в matrix_height, Triangulation All Point (рис. 7). И после, на основе триангуляции, заполнить матрицу высот методом F illing By Triangulation (рис. 8).
Рассмотрим модуль редактирования матрицы высот. Редактирование производиться по двум разным типам объектов, а значение элемента матрицы рассчитывается по формуле, которую указывает пользователь. Редактирование цифровой модели местности по площадному объекту (по полигону) или по линейному объекту, происходит по средству изменения высоты, находящихся на этой сетки, в пределах выделенной границы объекта (рис. 9-12).
Заключение
Разработан компонент программного комплекса «ЭкоГИС» для создания и редактирования цифровых моделей местности. Библиотека DTM.dll содержит три класса для хранения данных ЦММ, площадных и линейных объектов: matrix_height, Polygon Object и Line Object.
Цифровая модель местности может создаваться как с использованием координат из нерегулярной сетки на основе триангуляции Делоне, так и методами интерполяции. Кроме того, программный компонент DTM.dll содержит класс EditDTM, позволяющий редактировать ЦММ по линейным и площадным объектам.
Рис. 7. Триангуляция Делоне по известным данным Рис. 8. Построенная ЦМР по триангуляции
Рис. 9. Исходная ЦМР
Рис. 10. Полученная ЦМР
Рис. 11. Исходная ЦМР в профиль
Рис. 12. Полученная ЦМР в профиль
ПРИМЕЧАНИЕ
1 Работа выполнена при поддержке грантов РФФИ 13-07-97056 р_поволжье_а, 13-01-97062 р_по-волжье_а, 13-05-97065 р_поволжье_а, РГНФ 13-0112015 и Гостемы 8.2419.2011.
СПИСОК ЛИТЕРАТУРЫ
1. Воронин, А. А. Имитационные модели динамики поверхностных вод с использованием данных дистанционного зондирования: влияние рельефа местности / А. А. Воронин // Прикаспийский журнал: управление и высокие технологии. - 2012. -№ 3(19). - С. 54-62.
2. Писарев, А. В. Численная модель динамики поверхностных вод в русле Волги: оценка коэффициента шероховатости / А. В. Писарев // Вестник Удмуртского университета. Математика. Механика. Компьютерные науки. - 2013. - № 1. -С. 114-130.
3. Хоперсков, А. В. Задача управления гидрологическим режимом в эколого-экономичес-кой системе «Волжская ГЭС - Волго-Ахтубинс-кая пойма». Ч.1. Моделирование динамики поверхностных вод в период весеннего паводка
/ А. В. Хоперсков // Проблемы управления. -2012. - № 5. - С. 18-25.
4. Храпов, С. С. Особенности динамики затопления Волго-Ахтубинской поймы в зависимости от режимов испарения и инфильтрации / С. С. Храпов // Вестник Волгоградского государственного университета. Серия 1, Математика. Физика. - 2012. - Т. 16. 1. - С. 43-47.
5. Храпов, С. С. Суперкомпьютерные технологии для моделирования гидродинамических течений. - Волгоград : Изд-во ВолГУ, 2012. - 208 с.
6. Храпов, С. С., Численная схема для моделирования динамики поверхностных вод на основе комбинированного SPH-TVD-подхода / С. С. Храпов // Вычислительные методы и программирование. - 2011. - Т. 12. - №1. - С. 282-297.
7. Храпов, С. С. Моделирование динамики поверхностных вод : монография / С. С. Храпов. - Волгоград : Изд-во ВолГУ, 2010. - 132 с.
8. Храпов, С. С. Компьютерное моделирование экологических систем : монография / С. С. Храпов. - Волгоград : Изд-во ВолГУ, 2010. - 123 с.
9. Khrapov, S. S. The Numerical Simulation of Shallow Water: Estimation of the Roughness Coefficient on the Flood Stage / S. S. Khrapov // Advances in Mechanical Engineering. - 2013. - Article ID 787016. - 11 p.
DEVELOPMENT OF THE COMPONENT OF ECOGIS PROGRAM COMPLEX FOR CREATING AND EDITING DIGITAL TERRAIN MODELS
Kurtsev Petr Anatolyevich
Master Student, Department of Information Systems and Computer Modeling,
Volgograd State University kurtsev_petr@mail.ru
Prospect Universitetsky, 100, 400062 Volgograd, Russian Federation
Abstract. Developed a component of “EcoGIS” for the creation and editing of digital terrain models (DTM). Digital terrain model is created in the coordinates of the irregular grid based on Delaunay triangulation, or using interpolation methods. This component allows you to edit the DTM on linear and area objects.
Key words: software system “EcoGIS”, digital terrain model, editing DTM, triangulation, interpolation.