Explorar o código

r.in.lidar: support for intensity values added (trunk, https://trac.osgeo.org/grass/changeset/61480)

git-svn-id: https://svn.osgeo.org/grass/grass/branches/releasebranch_7_0@61798 15284696-431f-4ddb-bdfa-cd5b030d7da7
Markus Neteler %!s(int64=10) %!d(string=hai) anos
pai
achega
ce8fcfd79b
Modificáronse 1 ficheiros con 11 adicións e 2 borrados
  1. 11 2
      raster/r.in.lidar/main.c

+ 11 - 2
raster/r.in.lidar/main.c

@@ -146,7 +146,7 @@ int main(int argc, char *argv[])
     struct Option *input_opt, *output_opt, *percent_opt, *type_opt, *filter_opt;
     struct Option *method_opt, *zrange_opt, *zscale_opt;
     struct Option *trim_opt, *pth_opt, *res_opt;
-    struct Flag *print_flag, *scan_flag, *shell_style, *over_flag, *extents_flag;
+    struct Flag *print_flag, *scan_flag, *shell_style, *over_flag, *extents_flag, *intens_flag;
 
     /* LAS */
     LASReaderH LAS_reader;
@@ -277,6 +277,11 @@ int main(int argc, char *argv[])
     shell_style->description =
 	_("In scan mode, print using shell script style");
 
+    intens_flag = G_define_flag();
+    intens_flag->key = 'i';
+    intens_flag->description =
+        _("Import intensity values rather than z values");
+
     if (G_parser(argc, argv))
 	exit(EXIT_FAILURE);
 
@@ -761,7 +766,11 @@ int main(int argc, char *argv[])
 
 	    x = LASPoint_GetX(LAS_point);
 	    y = LASPoint_GetY(LAS_point);
-	    z = LASPoint_GetZ(LAS_point);
+	    if (intens_flag->answer)
+		/* use z variable here to allow for scaling of intensity below */
+		z = LASPoint_GetIntensity(LAS_point);
+	    else
+		z = LASPoint_GetZ(LAS_point);
 
 	if (return_filter != LAS_ALL) {
 	    int return_no = LASPoint_GetReturnNumber(LAS_point);