Объединение матриц высот |
Задача предназначена для создания файла матрицы высот по информации одной или нескольких открытых матриц высот. Исходными данными являются одна или несколько открытых матриц высот документа. Матрицы высот должны быть одного и того же типа (абсолютные высоты, относительные высоты, суммарные высоты). В противном случае объединение не выполняется. Перед объединением можно уточнить список исходных матриц. Режим "Отбраковка матриц с высотами вне диапазона" позволяет исключить из списка матрицы, высоты которых выходят за границы заданного диапазона. Исключённые из списка матрицы перемещаются в отдельный каталог. Задача выполняется модулем mtwsum.dll, который вызывается через пункт Запуск приложений меню Задачи – группа Трансформирование и обработка матриц высот.
Параметры создаваемой матрицы задаются в диалоге Объединение матриц высот. Первоначально параметры устанавливаются по карте и самой точной открытой матрице. В диалоге можно изменить масштаб, точность (размер элемента) и единицу измерения высоты создаваемой матрицы. Единица измерения высоты влияет на степень сжатия данных при записи в файл и может быть выбрана в соответствии с точностью и единицей измерения исходных матриц. Кроме того, для выполнения объединения требуется указать имя результирующего файла и выбрать размеры создаваемой матрицы в группе Область. По умолчанию размеры матрицы устанавливаются по размерам района и могут быть изменены путем выбора соответствующего фрагмента карты. В элементы выходной матрицы заносятся высоты, вычисленные по исходным матрицам. Если в документе открыта одна исходная матрица, то результирующая высота вычисляется методом линейной интерполяции функцией
h = mapGetPrecisionHeightTriangle(HMap, x, y), где x, y – координаты центра результирующего элемента.
Если в документе открыты несколько исходных матриц, то результирующая высота вычисляется как средневзвешенное значение высот из матриц документа, при этом вес высоты обратно пропорционален размеру элемента исходной матрицы. Высоты из матрицы с меньшим размером элемента (более точной) считаются более приоритетными. Средневзвешенное значение будет получено только в области перекрытия матриц, вне области перекрытия будет выполняться простой запрос высоты по координатам функцией mapGetHeightValue(HMap, x, y). Если задан режим Сглаживание высот, то в выходную матрицу заносится усреднённая высота. Значение усреднённой высоты вычисляется с использованием исходных высот, запрашиваемых в пределах квадратной области размером 4 на 4 элемента результирующей матрицы. Режим Сглаживание высот позволяет устранить резкие перепады высот результирующей поверхности, но увеличивает время выполнения задачи.
|