gdal_grid linear дает странные результаты

У меня есть большой шейп-файл Point (xyz, около 65 000 точек) из файла LiDAR las, и я пытаюсь интерполировать его в сетку, используя gdal_grid:

gdal_grid -ot Float64 
          -txe  422306.5970  422343.9970 
          -tye 4037022.9899 4036967.3399 
          -outsize 747 1112
          -a linear:radius=0:nodata=0
          in.shp out.tif

Это работает без ошибок и создает карту, похожую на первое изображение ниже. Вы заметите треугольный узор, как будто большинство точек игнорируется. Значения на этом забавном изображении находятся в пределах ‹1 от того, чем они должны быть, поэтому gdal_grid, похоже, правильно считывает поле z, просто кажется, что он пропускает большинство точек. Если я попробую invdist или medium, оставив все остальное без изменений, проблема исчезнет, ​​и сетка будет выглядеть так, как должна (см. второе изображение с той же цветовой шкалой). В этом примере изменение находится между 1091 и 1093. Я попытался масштабировать Z, чтобы увеличить изменение в шейп-файле, и все же обнаружил ту же проблему. Я также пробовал -z_multiply и -z_increase безрезультатно. К сожалению, мне нужна билинейная интерполяция, поэтому я в тупике. Есть идеи?

не работает

Я получаю вывод ниже, только изменив метод интерполяции на invdist:

gdal_grid -ot Float64 
          -txe  422306.5970  422343.9970 
          -tye 4037022.9899 4036967.3399 
          -outsize 747 1112
          -a invdist:radius1=1:radius2=1
          in.shp out.tif

работает


person user2611761    schedule 01.02.2018    source источник
comment
как должен выглядеть вывод? Не могли бы вы включить изображение с таким выводом?   -  person DarkCygnus    schedule 03.02.2018
comment
Привет, DarkCygnus, я нашел лучший пример той же проблемы и обновил текст на изображении выше.   -  person user2611761    schedule 03.02.2018


Ответы (1)


Извините за опоздание, но я столкнулся с той же проблемой и не нашел объяснения. Затем я заметил, что параметры происхождения как OP, так и моего набора данных были довольно высокими.

Я ничего не знаю об этой конкретной реализации алгоритма Делоне, но я предполагаю, что небольшие изменения X, Y (небольшие по сравнению с абсолютным пространственным положением каждой точки, не знаю, каково отношение) игнорируются и представлены под большего треугольника, что приводит к потере деталей и точности.

Вы можете четко оценить разницу между интерполяцией, сделанной с облаком точек абсолютных значений, и интерполяцией с относительными значениями:

результат gdal_grid с исходными параметрами:

результат gdal_grid с (0,0) в качестве источника

Я решил, удалив фиксированное смещение из исходных точек, интерполируя, а затем добавив такое же смещение.

Я надеюсь, что это может помочь.

person Simone Mariottini    schedule 18.08.2020