На главную... Продукты | Технологии | Классификаторы | Проекты | Скачать | Цены| Форум | Статьи | Обучение | Контакты
АРХИВ ФОРУМА...
здесь вы можете ознакомиться с материалами форума до 08.06.2008

Александр Горбунов (Все сообщения пользователя)

Поиск  Пользователи  Правила  Войти
Форум » Пользователи » Александр Горбунов
Выбрать дату в календареВыбрать дату в календаре

Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 37 След.
Комплекс гидрологических задач версия 5 + Комплекс 3D анализа версия 4.1, Ошибки и пожелания (Инциденты)
 

Задача построения зоны затопления по набору отметок делает следующее.

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

Поверхность воды строится методом триангуляции по заданным
отметкам (в нашем случае - 3 отметки). Если задано увеличение габаритов зоны,
то в триангуляции участвуют ещё четыре дополнительные (габаритные) точки.
Высоты этих дополнительных точек вычисляются по высотам отметок.

Если не задавать увеличение габаритов зоны, то получается зона  - длинный треугольник, построенный по трём отметкам (1.png).

Если задать увеличение габаритов на 20 метров, то зона уже имеет вид прямоугольника (2.png).

Присланная зона (3.png) была видимо построена в режиме "Габариты зоны по матрице". При этом четыре дополнительные точки определяются  габаритами матрицы высот.

Вывод - для построения зоны по набору отметок
мало данных (всего три отметки), поэтому задача сформировала матрицу глубин с
"эффектами", которые получились из-за триангуляции по трём отметкам и точкам расширения зоны.

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

Изменено: Александр Горбунов - 22.07.2019 09:11:19
Влияние характера береговой линии на матрицу
 

Открыл тестовую карту. В диалоге построения матрицы задан параметр"Дополнительная обработка высотных точек" = "Построение сетки треугольников".
Читаю в помощи про этот параметр:
---------------------------------------
Если задано Построение сетки треугольников, то по набору высотных точек создаётся
триангуляция, рёбра триангуляции (или части рёбер) заносятся в матрицу в виде 3D-отрезков.
Если ребро не пересекает объекты с абсолютной высотой, то оно выводится целиком,
если пересекает, то выводится часть ребра, ограниченная его вершиной и точкой пересечения с объектом.
Этот способ обработки позволяет улучшить вид создаваемой поверхности в местах, где между
горизонталями имеются группы точечных объектов с абсолютной высотой.
---------------------------------------

В нашем случае по четырём "высотным точкам" (3 уреза + пикет) построилась триангуляция (2 треугольника).
Затем в матрицу занеслись соответствующие 3D-отрезки - на картинке. Пикет (146.10) замкнулся на горизонталь (145)
и на понижающееся русло реки (примерно 143.6). После заполнения элементов матрицы из карты других высот
рядом с пикетом нет. Остальные (незаполненные) элементы - вычисляются интерполяцией.

Предлагаю задать параметр "Дополнительная обработка высотных точек" = "Построение лучей влияния высоты"
или "Отсутствует".
Изменено: Александр Горбунов - 06.06.2019 16:48:55
Влияние характера береговой линии на матрицу
 
Если в одни и те же элементы матрицы попадают высоты из разных объектов карты (например, из двух горизонталей разной высоты, что характерно для обрывов), то управлять занесением высот в элементы можно параметром построения "Высота при наложении" (например, задать - "Максимальная").
Возможно "дырка" рядом с обрывом образовалась из-за того, что осреднились высоты двух горизонталей в соответствии с параметром"Высота при наложении" - Средняя.
Изменено: Александр Горбунов - 06.06.2019 11:12:31
Функции mapGetTotalBorder и mapCalcAbsoluteHeightBySectors, Учет высот объектового состава
 
Функция mapCalcAbsoluteHeightBySectors (Вычисление значения абсолютной высоты в заданной
точке по данным векторной карты) определяет высоту поверхности рельефа (АБСОЛЮТНУЮ высоту).
Функция обрабатывает объекты векторной карты, имеющие семантику "абсолютная высота" или координату "H"
в метрике. Полученная высота соответствует типу рельефа "абсолютный" матрицы высот.
Функция при вычислении высоты не учитывает относительные высоты объектов карты.
Построение матрицы видимости
 
Может быть такой вариант. Пункты наблюдения создать на отдельной пользовательской карте *.sit.
Добавить эту пользовательскую карту к основной (map) , запросить HSITE добавленного sit-а по номеру = 1
и подать HSITE вторым параметром mtrBuildVisibleMtq (чтобы не удалять пункты с основной карты, а просто закрыть HSITE).
Изменено: Александр Горбунов - 30.05.2019 11:15:18
Граница зоны видимости
 
Совершенно верно, цвет растра установленный в TBUILDZONEVISIBILITY ColorRst никак не влияет на преобразование растра в вектор. Потому что мы задаём - выполнить оконтуривание (преобразование в вектор) , используя цвет палитры с индексом = 2. Какой по индексу 2 в палитре будет цвет - неважно.
Граница зоны видимости
 
Зона видимости строится в виде растра с палитрой из 16-ти цветов.
Граница зоны наносится цветом с индексом = 12 (красный), собственно зона - цветом
с индексом = 2 (зелёный). Чтобы не выполнялось оконтуривание границы зоны ("кольцо") для функции mtrRstToVector
нужно задать в структуре MTRCLASS: Min = 2, Max = 2
( в соответствии с комментарием для "Min, Max":   для палитрового растра Min,Max - это диапазон индексов ).
Тогда граница зоны не будет обрабатываться при оконтуривании.
Изменено: Александр Горбунов - 27.05.2019 09:55:32
Граница зоны видимости
 
Функция mapVisibilityZone строит растровое изображение, то есть "Растр зоны видимости".
Зона видимости строится в виде растра, в котором невидимые области имеют заданный пользователем цвет.
Невидимая  (или видимая) область - это совокупность пикселей растра. Невидимая (или видимая) область может состоять из большого количества
рядом расположенных пикселей, а может представлять собой совсем небольшие фрагменты - из нескольких пикселей
или даже из одного. Поэтому "Линий, отделяющих видимую и невидимую область" - может быть много.
Изменено: Александр Горбунов - 22.05.2019 17:35:29
Повернутый MTW
 
Можно с помощью функций
Border = mapCreateObject(HMAP hMap, ...
mapAppendPointPlane(HOBJ info, double x, double y) - вызвать 4 раза для 4-х точек прямоугольника
Изменено: Александр Горбунов - 24.04.2019 12:48:37
Повернутый MTW
 
Здравствуйте, Ольга

В структуре параметров создания матрицы BUILDMTW имеется поле

HOBJ Border;  // Идентификатор замкнутого объекта при создании
             // матрицы высот MTW по векторной карте функцией mapBuildMtw.
             // По данному объекту устанавливается рамка создаваемой матрицы

Повёрнутый прямоугольник нужно оформить в виде объекта HOBJ и поместить его
в структуру параметров создания.

Минимальный набор параметров для создания матрицы по данным карты:
StructSize, BeginX, BeginY, Width, Height, ElemSizeMeters, ElemSizeBytes = 4
Unit, ReliefType, Method, Border = объект (повёрнутый прямоугольник).
Изменено: Александр Горбунов - 24.04.2019 12:17:08
Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 37 След.



© КБ Панорама, 1991-2019