Comparando un archivo de una nube de puntos proveniente de DJI Terra y otro archivo luego de hacerle un filtro en pdal (filters.outlier) veo que hay una diferencia entre el factor de escal y el offset.
El filtro en un archivo “outlier_statistical.json” sería este:
[ “cloud_78c2634818850f1.las”, { “type”:“filters.outlier”, “method”:“statistical”, “mean_k”:12, “multiplier”:2.2 }, “cloud_78c2634818850f1_noised.las” ]
La ejeución seria:
$ pdal pipeline .\outlier_statistical.json
Entonces lasinfo con -histo intensity 16 -histo z 5:
| cloud_78c2634818850f1.las | loud_78c2634818850f1_noised.las | Duda | 
|---|---|---|
| lasinfo -i f:\nubes\tren\cloud_78c2634818850f1.las -otxt -odix _con_histo -odir f:\nubes\tren\info\ -histo intensity 16 -histo z 5 | lasinfo.exe \nubes\tren_maya\cloud_78c2634818850f1_noised.las -otxt -odix _con_histo -odir f:\nubes\tren\info\ -histo intensity 16 -histo z 5 | |
| scale factor x y z: 0.0001 0.0001 0.0001 | scale factor x y z: 0.01 0.01 0.01 | 1 | 
| offset x y z: 483415.6290059014 2278015.6279708305 46.799277914468881 | offset x y z: 0 0 0 | 2 | 
| min x y z: 482956.0910 2277610.7170 14.5594 | min x y z: 482956.09 2277610.72 14.56 | |
| max x y z: 483875.1670 2278420.5389 79.0391 | max x y z: 483875.17 2278420.54 79.04 | |
| variable length header record 1 of 3: | variable length header record 2 of 2: | |
| reserved 43707 | reserved 0 | |
| reporting minimum and maximum for all LAS point record entries .. | reporting minimum and maximum for all LAS point record entries .. | |
| X -4595380 4595380 | X 48295609 48387517 | 3 | 
| Y -4049110 4049110 | Y 227761072 227842054 | 4 | 
| Z -322399 322399 | Z 1456 7904 | 5 | 
| gps_time 325359530.048202 325360725.767503 | gps_time 325359530.048202 325360725.767503 | |
| - | WARNING: range violates GPS week time specified by global encoding bit 0 | 6 | 
| histogram of classification of points: | histogram of classification of points: | |
| 229136701 never classified (0) | 221520924 never classified (0) | |
| - | 7615777 noise (7) | |
| WARNING: real max y larger than header max y by 0.000032 | WARNING: real max x larger than header max x by 0.002994 | 7 | 
| WARNING: real min y smaller than header min y by 0.000032 | ||
| WARNING: real max z larger than header max z by 0.000031 | ||
| WARNING: real min z smaller than header min z by 0.000031 | 
En ambos casos ocurre algo como esto:
WARNING: stored resolution of min_x not compatible with x_offset and x_scale_factor: 482956.09102576884 WARNING: stored resolution of min_y not compatible with y_offset and y_scale_factor: 2277610.7170027224 WARNING: stored resolution of min_z not compatible with z_offset and z_scale_factor: 14.559409263034066 WARNING: stored resolution of max_x not compatible with x_offset and x_scale_factor: 483875.1669860339 WARNING: stored resolution of max_y not compatible with y_offset and y_scale_factor: 2278420.5389389391 WARNING: stored resolution of max_z not compatible with z_offset and z_scale_factor: 79.039146565903692
Duda 1.- ¿Porqué el scale factor disminuye? ¿Habría que indicarle la precisión de una décima de milímietro para que se conserve?
Duda 2.- ¿Porqué igualmente se disminuye el offset al grado de hacerse cero?
Duda 3.- ¿Qué pas+o aquí?
Duda 4.- ¿Qué es esto de “WARNING: range violates GPS week time specified by global encoding bit 0”?
Duda 5.- ¿Qué significa esto de real max x larger than header max v by 0.002994, y los demás valores?
Lo iré resolviendo.