Bezdepbonusu7Программирование: статьи и ответы

Вопрос

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

Автор вопроса: user2611761Ответов: 1

У меня есть большой шейп-файл 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

работаета>

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

linear-interpolationshapefilerastergdalgeotiff

Ответы

Ответ 1 · Simone Mariottini

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

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

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

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

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

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы