Обновление данных SRTM или ASTER детальными данными
- geodesist.ru
- Активный участник
- Сообщения: 117
- Зарегистрирован: 27 янв 2012, 23:29
- Репутация: 14
- Откуда: Ижевск
Обновление данных SRTM или ASTER детальными данными
Здравствуйте!
По результатам АФС получена ЦМР - возможно ли "впечатать" (уточнить) в существующие данные SRTM и/или ASTER GDEM и после это использовать для работы?
Если это возможно - то как это сделать средствами QGIS?
Мой ход мыслей таков - создать полигон по границам новой ЦМР - вырезать по нему данные SRTM - потом объединить модели - экспорт в HGT.
По результатам АФС получена ЦМР - возможно ли "впечатать" (уточнить) в существующие данные SRTM и/или ASTER GDEM и после это использовать для работы?
Если это возможно - то как это сделать средствами QGIS?
Мой ход мыслей таков - создать полигон по границам новой ЦМР - вырезать по нему данные SRTM - потом объединить модели - экспорт в HGT.
- Игорь Белов
- Гуру
- Сообщения: 2231
- Зарегистрирован: 04 янв 2011, 22:00
- Репутация: 1504
- Откуда: Казань
Re: Обновление данных SRTM или ASTER детальными данными
Сделать можно, только лучше средствами GDAL (входит в QGIS).
Геометрия грида, как я понял, будет SRTM HGT. Что значит "объединить модели"? За границами полигона оставить в узлах грида значения SRTM, а внутри заменить округлёнными до метра значениями АФС ЦМР?geodesist.ru писал(а): ↑19 фев 2018, 16:07Мой ход мыслей таков - создать полигон по границам новой ЦМР - вырезать по нему данные SRTM - потом объединить модели - экспорт в HGT.
The purpose of computing is insight, not numbers
-
- Гуру
- Сообщения: 4056
- Зарегистрирован: 15 окт 2010, 08:33
- Репутация: 1054
- Ваше звание: программист
- Откуда: Казань
Re: Обновление данных SRTM или ASTER детальными данными
QGIS тут никак, нужно руками в чем-нибудь растровом (лучше затащить в R или Питон): нужно сначала понять, можно ли это сделать в принципе, для этого построить регрессию "точного" рельефа на SRTM. Если они "бьются", то нужно убрать систематическую погрешность SRTM (учитывая, что SRTM - не рельеф, а поверхность), и "впечатать" точный фрагмент, гладко сшивая по краям (внутрь точного сегмента). Для сшивки нужно построить дистанционное преобразование от границы, отбить буфер, и использовать это расстояние в пределах буфера для линейной интерполяции.
P.S. Мы это делали, впечатывая рельеф городов, результат удовлетворительный.
- Игорь Белов
- Гуру
- Сообщения: 2231
- Зарегистрирован: 04 янв 2011, 22:00
- Репутация: 1504
- Откуда: Казань
Re: Обновление данных SRTM или ASTER детальными данными
Верно.
Использование нелинейной весовой функции типа гауссианы проще технически (не надо париться с буфером) и в теории симпатичнее по результатам (отсутствует разрыв производных на границах буфера). Мы так сшиваем рельеф в точках полевых измерений с окружающим, а также локальные геофизические поля с региональными.
The purpose of computing is insight, not numbers
-
- Гуру
- Сообщения: 4056
- Зарегистрирован: 15 окт 2010, 08:33
- Репутация: 1054
- Ваше звание: программист
- Откуда: Казань
Re: Обновление данных SRTM или ASTER детальными данными
Линейная интерполяция - это alpha*f1 + (1-alpha)*f2. Сама alpha есть функция от расстояния от границы, и там не гауссиан, а что-то сигмоидоподобное, сам сигмоид, любая функция распределения, и т.д., alpha равна нулю на границе, и единице на расстоянии буфера. Мы и кусок косинуса пробовали, и не симметричные, типа транзитивной вариограммы - лишь бы клиент был доволен
- Игорь Белов
- Гуру
- Сообщения: 2231
- Зарегистрирован: 04 янв 2011, 22:00
- Репутация: 1504
- Откуда: Казань
Re: Обновление данных SRTM или ASTER детальными данными
Ясное дело, f = f₁ * w + f₂ * (1 - w), где w — весовая функция. Я использую w = exp(-0.5*(d/σ)²), где σ — характерное расстояние. Это идеально для f₁ из детальных точных измерений и менее детальным гладким полем f₂ вокруг.
Кстати, в GRASS есть готовый модуль r.patch.smooth с кучей опций.
В QGIS реализация того, о чём мы с gamm говорим, несложная:
Кстати, в GRASS есть готовый модуль r.patch.smooth с кучей опций.
В QGIS реализация того, о чём мы с gamm говорим, несложная:
- [Raster] → [Conversion] → [Rasterize (Vector to Raster)…] при необходимости
- [Raster] → [Analysis] → [Proximity (Raster Distance)…]
- [Raster] → [Raster Calculator…] пару раз
Последний раз редактировалось Игорь Белов 20 фев 2018, 13:40, всего редактировалось 1 раз.
The purpose of computing is insight, not numbers
-
- Гуру
- Сообщения: 4056
- Зарегистрирован: 15 окт 2010, 08:33
- Репутация: 1054
- Ваше звание: программист
- Откуда: Казань
Re: Обновление данных SRTM или ASTER детальными данными
но не идеально в данном случае, поскольку в SRTM почти наверняка есть систематическое смещение, и ладно, если просто сдвиг по высоте. Есть печальный опытИгорь Белов писал(а): ↑20 фев 2018, 12:14Это идеально для f₁ из детальных точных измерений и менее детальным гладким полем f₂ вокруг.
- Игорь Белов
- Гуру
- Сообщения: 2231
- Зарегистрирован: 04 янв 2011, 22:00
- Репутация: 1504
- Откуда: Казань
Re: Обновление данных SRTM или ASTER детальными данными
Так очевидно же, что предварительно растры должны быть проанализированы, и один из них как минимум смещён! И не в SRTM дело, — таких задач без систематических и случайных расхождений между гридами просто не бывает. А дистанционное преобразование нужно для разглаживания юбки, оставшейся после предварительной подгонки.
The purpose of computing is insight, not numbers
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 28 гостей