Having issues to generate DTM with pc2dem...(WebODM - Docker)

Hi,

I’ve been able to use this code via Docker and CMD from Lidar cloud points for the défault DSM but not for the DTM :

No error returned but de values par pixel aren’t correct :

Any idea of what’s causing this issue?

(Using Windows 10 with Docker and libraries correctly installed)

Thanks in advance

1 Like

Welcome!

Perhaps the raster statistics aren’t being written to the file.

Can you adjust the symbology in QGIS to use Calculated instead of Estimated values, and/or possibly run the Raster Information tool from GDAL within QGIS to force update/computation of the proper values:

It doesn’t work. Value not valid…

:frowning:

1 Like

What are the exact parameters you’re passing to pc2dem?

In CMD (administrator) :

Here the results :

[INFO] running pdal info --summary “/input/*********************************.laz” > “/tmp/tmpeskycu6v.json”

[INFO] Point cloud bounds are [minx: 464000, maxx: 464999.999] [miny: 6408000, maxy: 6408999.999]

[INFO] DEM resolution is (20000, 20000), max tile size is 4096, will split DEM generation into 25 tiles

[INFO] Generating /input/dtm_r0.1_x0_y0.tif (idw, radius: 0.1, resolution: 0.05)

[INFO] Generating /input/dtm_r0.1_x0_y1.tif (idw, radius: 0.1, resolution: 0.05)

[INFO] Generating /input/dtm_r0.1_x0_y2.tif (idw, radius: 0.1, resolution: 0.05)

[INFO] Generating /input/dtm_r0.1_x0_y3.tif (idw, radius: 0.1, resolution: 0.05)

[INFO] Generating /input/dtm_r0.1_x0_y4.tif (idw, radius: 0.1, resolution: 0.05)

[INFO] Generating /input/dtm_r0.1_x1_y0.tif (idw, radius: 0.1, resolution: 0.05)

[INFO] Generating /input/dtm_r0.1_x1_y1.tif (idw, radius: 0.1, resolution: 0.05)

[INFO] Generating /input/dtm_r0.1_x1_y2.tif (idw, radius: 0.1, resolution: 0.05)

[INFO] Pipeline file: /tmp/tmpw9yx7ajs.json

[INFO] Pipeline file: /tmp/tmpz28ig1kf.json

[INFO] Pipeline file: /tmp/tmp1srr2z1l.json

[INFO] Pipeline file: /tmp/tmp8q39f3pr.json

[INFO] Pipeline file: /tmp/tmp3_8aufaq.json

[INFO] Pipeline file: /tmp/tmp79voglza.json

[INFO] Pipeline file: /tmp/tmpk_bwbxcx.json

[INFO] Pipeline file: /tmp/tmpop26ubj2.json

[INFO] running pdal pipeline -i /tmp/tmpw9yx7ajs.json

[INFO] running pdal pipeline -i /tmp/tmpz28ig1kf.json

[INFO] running pdal pipeline -i /tmp/tmp1srr2z1l.json

[INFO] running pdal pipeline -i /tmp/tmp8q39f3pr.json

[INFO] running pdal pipeline -i /tmp/tmp3_8aufaq.json

[INFO] running pdal pipeline -i /tmp/tmp79voglza.json

[INFO] running pdal pipeline -i /tmp/tmpk_bwbxcx.json

[INFO] running pdal pipeline -i /tmp/tmpop26ubj2.json

[INFO] Generating /input/dtm_r0.1_x1_y3.tif (idw, radius: 0.1, resolution: 0.05)

[INFO] Pipeline file: /tmp/tmp1ww0f5y6.json

[INFO] running pdal pipeline -i /tmp/tmp1ww0f5y6.json

[INFO] Generating /input/dtm_r0.1_x1_y4.tif (idw, radius: 0.1, resolution: 0.05)

[INFO] Pipeline file: /tmp/tmp_75i5k_d.json

[INFO] running pdal pipeline -i /tmp/tmp_75i5k_d.json

[INFO] Generating /input/dtm_r0.1_x2_y0.tif (idw, radius: 0.1, resolution: 0.05)

[INFO] Pipeline file: /tmp/tmp0qr3hyfb.json

[INFO] running pdal pipeline -i /tmp/tmp0qr3hyfb.json

[INFO] Generating /input/dtm_r0.1_x2_y1.tif (idw, radius: 0.1, resolution: 0.05)

[INFO] Pipeline file: /tmp/tmp6r9toclu.json

[INFO] running pdal pipeline -i /tmp/tmp6r9toclu.json

[INFO] Generating /input/dtm_r0.1_x2_y2.tif (idw, radius: 0.1, resolution: 0.05)

[INFO] Pipeline file: /tmp/tmpzin46ow3.json

[INFO] running pdal pipeline -i /tmp/tmpzin46ow3.json

[INFO] Generating /input/dtm_r0.1_x2_y3.tif (idw, radius: 0.1, resolution: 0.05)

[INFO] Pipeline file: /tmp/tmpbzdp2v_r.json

[INFO] running pdal pipeline -i /tmp/tmpbzdp2v_r.json

[INFO] Generating /input/dtm_r0.1_x2_y4.tif (idw, radius: 0.1, resolution: 0.05)

[INFO] Pipeline file: /tmp/tmpnm7fkbf9.json

[INFO] running pdal pipeline -i /tmp/tmpnm7fkbf9.json

[INFO] Generating /input/dtm_r0.1_x3_y0.tif (idw, radius: 0.1, resolution: 0.05)

[INFO] Pipeline file: /tmp/tmpo95abpw3.json

[INFO] running pdal pipeline -i /tmp/tmpo95abpw3.json

[INFO] Generating /input/dtm_r0.1_x3_y1.tif (idw, radius: 0.1, resolution: 0.05)

[INFO] Pipeline file: /tmp/tmp9wkt5viw.json

[INFO] running pdal pipeline -i /tmp/tmp9wkt5viw.json

[INFO] Generating /input/dtm_r0.1_x3_y2.tif (idw, radius: 0.1, resolution: 0.05)

[INFO] Pipeline file: /tmp/tmpk65wy8k_.json

[INFO] running pdal pipeline -i /tmp/tmpk65wy8k_.json

[INFO] Generating /input/dtm_r0.1_x3_y3.tif (idw, radius: 0.1, resolution: 0.05)

[INFO] Pipeline file: /tmp/tmphqfwjn1m.json

[INFO] running pdal pipeline -i /tmp/tmphqfwjn1m.json

[INFO] Generating /input/dtm_r0.1_x3_y4.tif (idw, radius: 0.1, resolution: 0.05)

[INFO] Pipeline file: /tmp/tmp3l_m5q5a.json

[INFO] running pdal pipeline -i /tmp/tmp3l_m5q5a.json

[INFO] Generating /input/dtm_r0.1_x4_y0.tif (idw, radius: 0.1, resolution: 0.05)

[INFO] Pipeline file: /tmp/tmp8eu4_n_n.json

[INFO] running pdal pipeline -i /tmp/tmp8eu4_n_n.json

[INFO] Generating /input/dtm_r0.1_x4_y1.tif (idw, radius: 0.1, resolution: 0.05)

[INFO] Pipeline file: /tmp/tmp0x4avvkt.json

[INFO] running pdal pipeline -i /tmp/tmp0x4avvkt.json

[INFO] Generating /input/dtm_r0.1_x4_y2.tif (idw, radius: 0.1, resolution: 0.05)

[INFO] Pipeline file: /tmp/tmpohrt88nl.json

[INFO] running pdal pipeline -i /tmp/tmpohrt88nl.json

[INFO] Generating /input/dtm_r0.1_x4_y3.tif (idw, radius: 0.1, resolution: 0.05)

[INFO] Pipeline file: /tmp/tmpslbjb39u.json

[INFO] running pdal pipeline -i /tmp/tmpslbjb39u.json

[INFO] Generating /input/dtm_r0.1_x4_y4.tif (idw, radius: 0.1, resolution: 0.05)

[INFO] Pipeline file: /tmp/tmpodynau8z.json

[INFO] running pdal pipeline -i /tmp/tmpodynau8z.json

[INFO] Generating /input/dtm_r0.05_x0_y0.tif (idw, radius: 0.05, resolution: 0.05)

[INFO] Pipeline file: /tmp/tmpbdkcdy9f.json

[INFO] running pdal pipeline -i /tmp/tmpbdkcdy9f.json

[INFO] Generating /input/dtm_r0.05_x0_y1.tif (idw, radius: 0.05, resolution: 0.05)

[INFO] Pipeline file: /tmp/tmp9792qduk.json

[INFO] running pdal pipeline -i /tmp/tmp9792qduk.json

[INFO] Generating /input/dtm_r0.05_x0_y2.tif (idw, radius: 0.05, resolution: 0.05)

[INFO] Pipeline file: /tmp/tmp8d9fbwa5.json

[INFO] running pdal pipeline -i /tmp/tmp8d9fbwa5.json

[INFO] Generating /input/dtm_r0.05_x0_y3.tif (idw, radius: 0.05, resolution: 0.05)

[INFO] Pipeline file: /tmp/tmp4t33g6dk.json

[INFO] running pdal pipeline -i /tmp/tmp4t33g6dk.json

[INFO] Generating /input/dtm_r0.05_x0_y4.tif (idw, radius: 0.05, resolution: 0.05)

[INFO] Pipeline file: /tmp/tmpylmh3gh5.json

[INFO] running pdal pipeline -i /tmp/tmpylmh3gh5.json

[INFO] Generating /input/dtm_r0.05_x1_y0.tif (idw, radius: 0.05, resolution: 0.05)

[INFO] Pipeline file: /tmp/tmp4lo6j9v7.json

[INFO] running pdal pipeline -i /tmp/tmp4lo6j9v7.json

[INFO] Generating /input/dtm_r0.05_x1_y1.tif (idw, radius: 0.05, resolution: 0.05)

[INFO] Pipeline file: /tmp/tmpa75z7050.json

[INFO] running pdal pipeline -i /tmp/tmpa75z7050.json

[INFO] Generating /input/dtm_r0.05_x1_y2.tif (idw, radius: 0.05, resolution: 0.05)

[INFO] Pipeline file: /tmp/tmpri7yd4m5.json

[INFO] running pdal pipeline -i /tmp/tmpri7yd4m5.json

[INFO] Generating /input/dtm_r0.05_x1_y3.tif (idw, radius: 0.05, resolution: 0.05)

[INFO] Pipeline file: /tmp/tmpxjriatmx.json

[INFO] running pdal pipeline -i /tmp/tmpxjriatmx.json

[INFO] Generating /input/dtm_r0.05_x1_y4.tif (idw, radius: 0.05, resolution: 0.05)

[INFO] Pipeline file: /tmp/tmpfn444fa4.json

[INFO] running pdal pipeline -i /tmp/tmpfn444fa4.json

[INFO] Generating /input/dtm_r0.05_x2_y0.tif (idw, radius: 0.05, resolution: 0.05)

[INFO] Pipeline file: /tmp/tmpjce17si_.json

[INFO] running pdal pipeline -i /tmp/tmpjce17si_.json

[INFO] Generating /input/dtm_r0.05_x2_y1.tif (idw, radius: 0.05, resolution: 0.05)

[INFO] Pipeline file: /tmp/tmpw00p8ebv.json

[INFO] running pdal pipeline -i /tmp/tmpw00p8ebv.json

[INFO] Generating /input/dtm_r0.05_x2_y2.tif (idw, radius: 0.05, resolution: 0.05)

[INFO] Pipeline file: /tmp/tmpqz7g2_pi.json

[INFO] running pdal pipeline -i /tmp/tmpqz7g2_pi.json

[INFO] Generating /input/dtm_r0.05_x2_y3.tif (idw, radius: 0.05, resolution: 0.05)

[INFO] Pipeline file: /tmp/tmpawqplveu.json

[INFO] running pdal pipeline -i /tmp/tmpawqplveu.json

[INFO] Generating /input/dtm_r0.05_x2_y4.tif (idw, radius: 0.05, resolution: 0.05)

[INFO] Pipeline file: /tmp/tmp3266lmxn.json

[INFO] running pdal pipeline -i /tmp/tmp3266lmxn.json

[INFO] Generating /input/dtm_r0.05_x3_y0.tif (idw, radius: 0.05, resolution: 0.05)

[INFO] Pipeline file: /tmp/tmpm9wzak7a.json

[INFO] running pdal pipeline -i /tmp/tmpm9wzak7a.json

[INFO] Generating /input/dtm_r0.05_x3_y1.tif (idw, radius: 0.05, resolution: 0.05)

[INFO] Pipeline file: /tmp/tmpq1r37sz8.json

[INFO] running pdal pipeline -i /tmp/tmpq1r37sz8.json

[INFO] Generating /input/dtm_r0.05_x3_y2.tif (idw, radius: 0.05, resolution: 0.05)

[INFO] Pipeline file: /tmp/tmpqwnv4ior.json

[INFO] running pdal pipeline -i /tmp/tmpqwnv4ior.json

[INFO] Generating /input/dtm_r0.05_x3_y3.tif (idw, radius: 0.05, resolution: 0.05)

[INFO] Pipeline file: /tmp/tmpk7u9xgz7.json

[INFO] running pdal pipeline -i /tmp/tmpk7u9xgz7.json

[INFO] Generating /input/dtm_r0.05_x3_y4.tif (idw, radius: 0.05, resolution: 0.05)

[INFO] Pipeline file: /tmp/tmphfqpqj3f.json

[INFO] running pdal pipeline -i /tmp/tmphfqpqj3f.json

[INFO] Generating /input/dtm_r0.05_x4_y0.tif (idw, radius: 0.05, resolution: 0.05)

[INFO] Pipeline file: /tmp/tmph5k4gadj.json

[INFO] running pdal pipeline -i /tmp/tmph5k4gadj.json

[INFO] Generating /input/dtm_r0.05_x4_y1.tif (idw, radius: 0.05, resolution: 0.05)

[INFO] Pipeline file: /tmp/tmpdzg7azm7.json

[INFO] running pdal pipeline -i /tmp/tmpdzg7azm7.json

[INFO] Generating /input/dtm_r0.05_x4_y2.tif (idw, radius: 0.05, resolution: 0.05)

[INFO] Pipeline file: /tmp/tmp7u225al8.json

[INFO] running pdal pipeline -i /tmp/tmp7u225al8.json

[INFO] Generating /input/dtm_r0.05_x4_y3.tif (idw, radius: 0.05, resolution: 0.05)

[INFO] Pipeline file: /tmp/tmpwtwky5bk.json

[INFO] running pdal pipeline -i /tmp/tmpwtwky5bk.json

[INFO] Generating /input/dtm_r0.05_x4_y4.tif (idw, radius: 0.05, resolution: 0.05)

[INFO] Pipeline file: /tmp/tmpla_6n6ei.json

[INFO] running pdal pipeline -i /tmp/tmpla_6n6ei.json

[INFO] Generating /input/dtm_r0.025_x0_y0.tif (idw, radius: 0.025, resolution: 0.05)

[INFO] Pipeline file: /tmp/tmptsxwpb4c.json

[INFO] running pdal pipeline -i /tmp/tmptsxwpb4c.json

[INFO] Generating /input/dtm_r0.025_x0_y1.tif (idw, radius: 0.025, resolution: 0.05)

[INFO] Pipeline file: /tmp/tmpxc46mb16.json

[INFO] running pdal pipeline -i /tmp/tmpxc46mb16.json

[INFO] Generating /input/dtm_r0.025_x0_y2.tif (idw, radius: 0.025, resolution: 0.05)

[INFO] Pipeline file: /tmp/tmp7m095ky5.json

[INFO] running pdal pipeline -i /tmp/tmp7m095ky5.json

[INFO] Generating /input/dtm_r0.025_x0_y3.tif (idw, radius: 0.025, resolution: 0.05)

[INFO] Pipeline file: /tmp/tmpyenjljow.json

[INFO] running pdal pipeline -i /tmp/tmpyenjljow.json

[INFO] Generating /input/dtm_r0.025_x0_y4.tif (idw, radius: 0.025, resolution: 0.05)

[INFO] Pipeline file: /tmp/tmpvu0vll1o.json

[INFO] running pdal pipeline -i /tmp/tmpvu0vll1o.json

[INFO] Generating /input/dtm_r0.025_x1_y0.tif (idw, radius: 0.025, resolution: 0.05)

[INFO] Pipeline file: /tmp/tmpi8z_f01t.json

[INFO] running pdal pipeline -i /tmp/tmpi8z_f01t.json

[INFO] Generating /input/dtm_r0.025_x1_y1.tif (idw, radius: 0.025, resolution: 0.05)

[INFO] Pipeline file: /tmp/tmpiufkiujp.json

[INFO] running pdal pipeline -i /tmp/tmpiufkiujp.json

[INFO] Generating /input/dtm_r0.025_x1_y2.tif (idw, radius: 0.025, resolution: 0.05)

[INFO] Pipeline file: /tmp/tmpfdstbftd.json

[INFO] running pdal pipeline -i /tmp/tmpfdstbftd.json

[INFO] Generating /input/dtm_r0.025_x1_y3.tif (idw, radius: 0.025, resolution: 0.05)

[INFO] Pipeline file: /tmp/tmpn1vx1cu6.json

[INFO] running pdal pipeline -i /tmp/tmpn1vx1cu6.json

[INFO] Generating /input/dtm_r0.025_x1_y4.tif (idw, radius: 0.025, resolution: 0.05)

[INFO] Pipeline file: /tmp/tmpeyi1abxk.json

[INFO] running pdal pipeline -i /tmp/tmpeyi1abxk.json

[INFO] Generating /input/dtm_r0.025_x2_y0.tif (idw, radius: 0.025, resolution: 0.05)

[INFO] Pipeline file: /tmp/tmp9d0m9fjn.json

[INFO] running pdal pipeline -i /tmp/tmp9d0m9fjn.json

[INFO] Generating /input/dtm_r0.025_x2_y1.tif (idw, radius: 0.025, resolution: 0.05)

[INFO] Pipeline file: /tmp/tmp5edakp27.json

[INFO] running pdal pipeline -i /tmp/tmp5edakp27.json

[INFO] Generating /input/dtm_r0.025_x2_y2.tif (idw, radius: 0.025, resolution: 0.05)

[INFO] Pipeline file: /tmp/tmpzeyonmf3.json

[INFO] running pdal pipeline -i /tmp/tmpzeyonmf3.json

[INFO] Generating /input/dtm_r0.025_x2_y3.tif (idw, radius: 0.025, resolution: 0.05)

[INFO] Pipeline file: /tmp/tmp152ef70s.json

[INFO] running pdal pipeline -i /tmp/tmp152ef70s.json

[INFO] Generating /input/dtm_r0.025_x2_y4.tif (idw, radius: 0.025, resolution: 0.05)

[INFO] Pipeline file: /tmp/tmpmpms4zhw.json

[INFO] running pdal pipeline -i /tmp/tmpmpms4zhw.json

[INFO] Generating /input/dtm_r0.025_x3_y0.tif (idw, radius: 0.025, resolution: 0.05)

[INFO] Pipeline file: /tmp/tmponb2omaz.json

[INFO] running pdal pipeline -i /tmp/tmponb2omaz.json

[INFO] Generating /input/dtm_r0.025_x3_y1.tif (idw, radius: 0.025, resolution: 0.05)

[INFO] Pipeline file: /tmp/tmpz5w2h_me.json

[INFO] running pdal pipeline -i /tmp/tmpz5w2h_me.json

[INFO] Generating /input/dtm_r0.025_x3_y2.tif (idw, radius: 0.025, resolution: 0.05)

[INFO] Pipeline file: /tmp/tmpp52iag1k.json

[INFO] running pdal pipeline -i /tmp/tmpp52iag1k.json

[INFO] Generating /input/dtm_r0.025_x3_y3.tif (idw, radius: 0.025, resolution: 0.05)

[INFO] Pipeline file: /tmp/tmpq7inbv3q.json

[INFO] running pdal pipeline -i /tmp/tmpq7inbv3q.json

[INFO] Generating /input/dtm_r0.025_x3_y4.tif (idw, radius: 0.025, resolution: 0.05)

[INFO] Generating /input/dtm_r0.025_x4_y0.tif (idw, radius: 0.025, resolution: 0.05)

[INFO] Pipeline file: /tmp/tmpzd7rw50l.json

[INFO] running pdal pipeline -i /tmp/tmpzd7rw50l.json

[INFO] Pipeline file: /tmp/tmpkii3pgac.json

[INFO] running pdal pipeline -i /tmp/tmpkii3pgac.json

[INFO] Generating /input/dtm_r0.025_x4_y1.tif (idw, radius: 0.025, resolution: 0.05)

[INFO] Pipeline file: /tmp/tmpc7vl5t1_.json

[INFO] running pdal pipeline -i /tmp/tmpc7vl5t1_.json

[INFO] Generating /input/dtm_r0.025_x4_y2.tif (idw, radius: 0.025, resolution: 0.05)

[INFO] Pipeline file: /tmp/tmpferx08xe.json

[INFO] running pdal pipeline -i /tmp/tmpferx08xe.json

[INFO] Generating /input/dtm_r0.025_x4_y3.tif (idw, radius: 0.025, resolution: 0.05)

[INFO] Pipeline file: /tmp/tmptt8_0dca.json

[INFO] running pdal pipeline -i /tmp/tmptt8_0dca.json

[INFO] Generating /input/dtm_r0.025_x4_y4.tif (idw, radius: 0.025, resolution: 0.05)

[INFO] Pipeline file: /tmp/tmpccwmeor_.json

[INFO] running pdal pipeline -i /tmp/tmpccwmeor_.json

[INFO] running gdalbuildvrt -input_file_list “/input/tiles_list.txt” “/input/tiles.vrt”

0…10…20…30…40…50…60…70…80…90…100 - done.

[INFO] running gdal_translate -co NUM_THREADS=8 -co BIGTIFF=IF_SAFER --config GDAL_CACHEMAX 47.15% “/input/tiles.vrt” “/input/tiles.tmp.tif”

Input file size is 20000, 20000

0…10…20…30…40…50…60…70…80…90…100 - done.

[INFO] running gdal_translate -co NUM_THREADS=8 -co BIGTIFF=IF_SAFER --config GDAL_CACHEMAX 47.15% -outsize 10% 0 “/input/tiles.tmp.tif” “/input/tiles.small.tif”

Input file size is 20000, 20000

0…10…20…30…40…50…60…70…80…90…100 - done.

0…10…20…30…40…50…60…70…80…90…100 - done.

[INFO] running gdalbuildvrt -resolution highest -r bilinear “/input/merged.vrt” “/input/tiles.small_filled.tif” “/input/tiles.tmp.tif”

0…10…20…30…40…50…60…70…80…90…100 - done.

[INFO] running gdal_translate -co NUM_THREADS=8 -co TILED=YES -co BIGTIFF=IF_SAFER -co COMPRESS=DEFLATE --config GDAL_CACHEMAX 47.15% “/input/merged.vrt” “/input/tiles.tif”

Input file size is 20000, 20000

0…10…20…30…40…50…60…70…80…90…100 - done.

[INFO] Starting smoothing…

[INFO] Smoothing iteration 1

[INFO] Completed smoothing to create /input/dtm.tif in 0:01:27.234627

[INFO] Completed dtm.tif in 0:10:03.427016

:wink:

1 Like

up

:slight_smile: