Страница 1 из 1

Анализ данных для создание рельефа

Добавлено: 04 окт 2014, 21:47
ANAT01
Доброго времени суток!

Есть набор данных (точки с координатами x,y,h). Таких точек порядка 500 тыс. на территории в 500 Га.
Спойлер
Один квадрат толстой линией 50х50 метров
Изображение
Проблемы:
1) Ложные данные о высотной отметке (например, у двух точек на расстоянии метра друг от друга перепад в высоте бывает очень большой и это не из-за рельефа)
2) Не равномерный разброс данных (где-то густо, где-то пусто)
3) Большое количество данных

Вопросы:
1) Как сгладить значения высотных отметок (исключить ложные)?
2) и 3) Как проинтерполировать значение высотных отметок?

Интересуют алгоритмы и инструменты. Пните в нужном направлении!
ЗЫ: Задача носит академический интерес в целях самообразования.

Re: Анализ данных для создание рельефа

Добавлено: 04 окт 2014, 22:48
Ariki
Похоже на отметки высот с топосъёмки застроенной территории. В этом случае "вылетающие" отметки - это отметки инженерных сооружений: всяких крылечек, первых этажей зданий, подземных коммуникаций в колодцах, подпорных стенок, бордюров, канав и прочего. Эти отметки надо выкинуть из исходных данных, а не сглаживать. Для лучшего результата неплохо бы знать, были ли подземные коммуникации на исходном материале.
Как отфильтровать ненужные точки? Можно попробовать сначала построить растр по всем точкам, сгладить его, убрав грубые неровности, а потом прописать отметку сглаженной матрицы высот обратно в атрибут исходного векторного слоя. После этого по разности оригинальной и сглаженной высот можно отсеять лишнее и дальше работать уже с очищенными данными.
Изолинии можно строить как непосредственно по точкам, так и по матрице высот - я не знаю, какой программный инструмент имеется в вашем распоряжении. ArcGIS, GDAL, QGIS и многие другие пакеты имеют для этого всё необходимое.

Re: Анализ данных для создание рельефа

Добавлено: 05 окт 2014, 12:34
ANAT01
Ariki писал(а):Похоже на отметки высот с топосъёмки застроенной территории. В этом случае "вылетающие" отметки - это отметки инженерных сооружений: всяких крылечек, первых этажей зданий, подземных коммуникаций в колодцах, подпорных стенок, бордюров, канав и прочего. Эти отметки надо выкинуть из исходных данных, а не сглаживать. Для лучшего результата неплохо бы знать, были ли подземные коммуникации на исходном материале.
Выкинуть не получится так как не известно что есть что. Точки даны сплошным массивом данных x,y,z.
Ariki писал(а):Как отфильтровать ненужные точки? Можно попробовать сначала построить растр по всем точкам, сгладить его, убрав грубые неровности, а потом прописать отметку сглаженной матрицы высот обратно в атрибут исходного векторного слоя. После этого по разности оригинальной и сглаженной высот можно отсеять лишнее и дальше работать уже с очищенными данными.
Изолинии можно строить как непосредственно по точкам, так и по матрице высот - я не знаю, какой программный инструмент имеется в вашем распоряжении. ArcGIS, GDAL, QGIS и многие другие пакеты имеют для этого всё необходимое.
Нашел описание метода на гистуториал. Принцип понятен. Хотелось бы тоже самое, но аналитическим методом (не графическим).
Допустим, при поквадратной разбивке (к примеру, со сторонами 5х5м, - те же самые пикселы растра) плоскости в каждом квадрате получаем N-ное кол-во точек с отметками.
Например: 55.10, 55.30, 55.40, 55.30, 56.80 где 56.80 нужно выкинуть, т.к. сильно отличается, а от остальных найти среднеарифметическое.
По какой формуле вычислить сильно отклонившийся?

Re: Анализ данных для создание рельефа

Добавлено: 05 окт 2014, 20:01
gamm
ANAT01 писал(а):По какой формуле вычислить сильно отклонившийся?
это определяется природой данных. Если вы незнакомы с математикой методов фильтрации, то используйте медианный фильтр, будет более-менее прилично. Большего без сведений о природе данных сказать нельзя.