NOTICE: This version of the NSF Unidata web site (archive.unidata.ucar.edu) is no longer being updated.
Current content can be found at unidata.ucar.edu.

To learn about what's going on, see About the Archive Site.

[netcdfgroup] Modeling LiDAR in NetCDF?

NetCDF,

How can (or should) LiDAR be modeled in NetCDF-4?

I’m a NetCDF novice, and it seems to me that the format assumes uniformly 
spaced samples (e.g. [1]).

I see from the archives that LiDAR isn’t a very popular topic on this list [2], 
but I figured I’d give it a shot and ask for any suggestion you may have.
Below is a table of sample points that I’d like to encode in NetCDF. It 
originates from a USGS LAS file about Disneyland.

lat lon alt intensity category(Ground=2;Low-Vegetation=3;Unclassified=1;Water=9)
414783.24 3741669.72 40.32 26 9
414782.09 3741669.31 40.44 3 9
414782.73 3741670.04 40.40 10 9
414782.03 3741670.63 40.28 26 9
414781.51 3741671.03 40.34 22 9

My latest attempt is at [3] and included below, but it isn’t satisfactory 
because I’m forced to round my points to suit a grid.
I was thinking that I should just assert a series of 1x1 dimensional records, 
but I’m not sure how I could group them in a sensible way.
Also, I get the sense that I’m losing the point of using NetCDF in the first 
place.

Any thoughts?

Thanks for your consideration.
Regards,
Tim Lebo


[1] 
http://www.unidata.ucar.edu/software/netcdf/workshops/2010/apis_examples/ExampleDataset2D.html
[2] http://bit.ly/1gGjsgs
[3] 
https://github.com/tetherless-world/opendap/blob/c566b40a97c6ce062a9a54f45607583eca34ad56/data/source/usgs-gov/earthexplorer/version/disneyland-2014-Jan-31/manual/CA_OrangeCo_2011_000402.sample.cdl



netcdf disneyland_lidar {

dimensions:
   latitude  = 5 ;
   longitude = 1 ;

variables:
   float latitude(latitude) ;
      latitude:units = "?" ;
   float longitude(longitude) ;
      longitude:units = "?" ;
   float altitude(latitude, longitude) ;
      altitude:units = "?" ;
   float intensity(latitude, longitude) ;
      intensity:units = "?" ;
   int category(latitude, longitude) ;

data:
   // This sets up the grid that we don't actually want to assume.
   // ERROR: We're rounding to get to a grid.
   latitude  = 414781.5, 414782, 414782.5, 414783, 414783.5 ; 
   // ERROR: We're squashing to get to a grid.
   longitude = 3741670 ; 

   altitude =
      40.32,
      40.44,
      40.40,
      40.28,
      40.34 ;

   intensity =
      26,
      3,
      10,
      26,
      22 ;

   category =
      9,
      9,
      9,
      9,
      9 ;
}


  • 2014 messages navigation, sorted by:
    1. Thread
    2. Subject
    3. Author
    4. Date
    5. ↑ Table Of Contents
  • Search the netcdfgroup archives: