<?xml version="1.0" encoding="UTF-8" standalone="yes"?><oembed><version><![CDATA[1.0]]></version><provider_name><![CDATA[rapidlasso GmbH]]></provider_name><provider_url><![CDATA[http://rapidlasso.com]]></provider_url><author_name><![CDATA[martin isenburg]]></author_name><author_url><![CDATA[https://rapidlasso.com/author/downtownfarm/]]></author_url><title><![CDATA[Surprise Release of Airborne LiDAR in Germany&#8217;s &#8220;Closed Data State&#8221;&nbsp;Bavaria]]></title><type><![CDATA[link]]></type><html><![CDATA[<p>You have guessed correctly. This is mostly fake news as our &#8220;<a href="https://en.wikipedia.org/wiki/Bavaria">Freistaat</a>&#8221; (read &#8220;<a href="https://en.wikipedia.org/wiki/Bavaria">Free State</a>&#8220;) of <a href="https://en.wikipedia.org/wiki/Bavaria">Bavaria</a> continues to tightly guard all of its tax-payer funded geospatial basis data for no good reason. Our other &#8220;<a href="https://en.wikipedia.org/wiki/Thuringia">Free State</a>&#8221; &#8211; that of <a href="https://en.wikipedia.org/wiki/Thuringia">Thuringia</a> &#8211; has become <a href="https://rapidlasso.com/2017/01/09/second-german-state-goes-open-lidar/">one poster child of open data</a> in Germany with <a href="https://rapidlasso.com/2017/01/03/first-open-lidar-in-germany/">North Rhine-Westphalia being the original one</a>. But there is &#8220;some&#8221; open LiDAR in Bavaria now.</p>
<p>The authors of a recent paper on change detection in urban areas have published two interesting airborne LiDAR data sets from 2008 and 2009 for the town of <a href="https://en.wikipedia.org/wiki/Abenberg">Abenberg</a> in [Hebel, Arens, Stilla, 2013]. What is interesting about these data sets is that they (a) were flown with a forward looking laser scanner with flight trajectories from 4 different directions (as illustrated in the image below) and (b) were surveyed again the same way in the following year for temporal change detection.</p>
<div data-shortcode="caption" id="attachment_3698" style="width: 1050px" class="wp-caption alignnone"><img loading="lazy" aria-describedby="caption-attachment-3698" data-attachment-id="3698" data-permalink="https://rapidlasso.com/2020/02/17/surprise-release-of-airborne-lidar-in-germanys-closed-data-state-bavaria/abenberg_open_data_eye_candy/" data-orig-file="https://rapidlasso.files.wordpress.com/2020/02/abenberg_open_data_eye_candy.jpg" data-orig-size="1040,807" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="abenberg_open_data_eye_candy" data-image-description="" data-medium-file="https://rapidlasso.files.wordpress.com/2020/02/abenberg_open_data_eye_candy.jpg?w=300" data-large-file="https://rapidlasso.files.wordpress.com/2020/02/abenberg_open_data_eye_candy.jpg?w=1024" class="alignnone size-full wp-image-3698" src="https://rapidlasso.files.wordpress.com/2020/02/abenberg_open_data_eye_candy.jpg?w=1040&#038;h=807" alt="abenberg_open_data_eye_candy" width="1040" height="807" srcset="https://rapidlasso.files.wordpress.com/2020/02/abenberg_open_data_eye_candy.jpg 1040w, https://rapidlasso.files.wordpress.com/2020/02/abenberg_open_data_eye_candy.jpg?w=150&amp;h=116 150w, https://rapidlasso.files.wordpress.com/2020/02/abenberg_open_data_eye_candy.jpg?w=300&amp;h=233 300w, https://rapidlasso.files.wordpress.com/2020/02/abenberg_open_data_eye_candy.jpg?w=768&amp;h=596 768w, https://rapidlasso.files.wordpress.com/2020/02/abenberg_open_data_eye_candy.jpg?w=1024&amp;h=795 1024w" sizes="(max-width: 1040px) 100vw, 1040px" /><p id="caption-attachment-3698" class="wp-caption-text">Our lasview is able to visualize how the four different flight lines scan this house from four different directions, once we have reconstructed a properly populated LAZ file with flight line information, return numbers, and unique GPS time stamps.</p></div>
<p>The data is <a href="https://www.iosb.fraunhofer.de/servlet/is/54968/">provided for download here</a> as zipped ASCII files that have one line per returns containing 11 comma-separated values. Below is a sample of the first 10 lines of the 2008 data:</p>
<pre>1, <span style="color:#ff0000;">290.243, 28.663, -11.787</span>, <span style="color:#339966;">0.060, -0.052, 0.997</span>, <span style="color:#0000ff;">517.3170, -58.6934, 313.0817</span>, 52
1, <span style="color:#ff0000;">290.208, 28.203, -11.825</span>, <span style="color:#339966;">0.062, -0.056, 0.996</span>, <span style="color:#0000ff;">517.3167, -58.6934, 313.0817</span>, 49
1, <span style="color:#ff0000;">290.182, 27.739, -11.852</span>, <span style="color:#339966;">0.063, -0.055, 0.997</span>, <span style="color:#0000ff;">517.3164, -58.6935, 313.0817</span>, 53
1, <span style="color:#ff0000;">290.165, 27.272, -11.866</span>, <span style="color:#339966;">0.061, -0.058, 0.996</span>, <span style="color:#0000ff;">517.3161, -58.6935, 313.0817</span>, 53
1, <span style="color:#ff0000;">290.163, 26.800, -11.858</span>, <span style="color:#339966;">0.061, -0.053, 0.997</span>, <span style="color:#0000ff;">517.3157, -58.6935, 313.0817</span>, 68
1, <span style="color:#ff0000;">290.152, 26.334, -11.864</span>, <span style="color:#339966;">0.059, -0.054, 0.997</span>, <span style="color:#0000ff;">517.3154, -58.6936, 313.0817</span>, 57
1, <span style="color:#ff0000;">290.092, 25.882, -11.938</span>, <span style="color:#339966;">0.050, -0.057, 0.997</span>, <span style="color:#0000ff;">517.3151, -58.6936, 313.0817</span>, 57
1, <span style="color:#ff0000;">290.103, 25.406, -11.911</span>, <span style="color:#339966;">0.043, -0.058, 0.997</span>, <span style="color:#0000ff;">517.3147, -58.6937, 313.0817</span>, 63
1, <span style="color:#ff0000;">290.067, 24.947, -11.952</span>, <span style="color:#339966;">0.043, -0.061, 0.997</span>, <span style="color:#0000ff;">517.3144, -58.6937, 313.0817</span>, 63
1, <span style="color:#ff0000;">290.034, 24.488, -11.989</span>, <span style="color:#339966;">0.044, -0.063, 0.997</span>,<span style="color:#0000ff;"> 517.3141, -58.6937, 313.0817</span>, 56</pre>
<p>The first number is either a classification into ground, vegetation, or other surface, or represents an identifier for a planar shape that the return is part of. The next three numbers <span style="color:#ff0000;">in red</span> are the x, y, and z coordinate of the LiDAR point in a local coordinate system. The next three numbers <span style="color:#339966;">in green</span> are the x, y, and z coordinates of an estimated surface normal. The next three numbers <span style="color:#339966;"><span style="color:#0000ff;">in blue</span> </span>are the x, y, and z coordinates of the sensor position. The last number is the intensity of the LiDAR return.</p>
<p>This textual representation makes it difficult to efficiently load the data into most LiDAR processing software. Also several attributes such as return number, number of returns, flight line ID, and GPS time stamps are missing.</p>
<p>We use this as an opportunity for a little exercise in converting ASCII to LAZ while preserving any &#8220;additional attributes&#8221; using the &#8220;extra bytes&#8221; functionality available since the <a href="https://github.com/ASPRSorg/LAS">LAS 1.4 specification</a>. This is a timely experiment as the <a href="https://github.com/orgs/ASPRSorg/people">LAS Working Group of the ASPRS</a> is currently contemplating <a href="https://github.com/ASPRSorg/LAS/issues/37">how to standardize some useful &#8220;additional attributes&#8221;</a>. Here you can download the resulting files:</p>
<ul>
<li><a href="https://mega.nz/#!WFlSTQwS!k6448e3aMTMU6Ti9ssFy12w_UqPFxezNnJbhuhEetVE">abenberg_data_2008.laz</a></li>
<li><a href="https://mega.nz/#!yAt0TQYS!6DyXq6w6-CIMCI4qTR_8ryMjjg5hxxnOCyD7KE0B16Y">abenberg_data_2009.laz</a></li>
</ul>
<p>In order to replicate these steps, please get your hands of the very latest version of <a href="http://rapidlasso.com/LAStools">LAStools</a>. First we use <a href="http://rapidlasso.com/txt2las">txt2las</a> to convert the TXT file to LAZ format as follows:</p>
<pre>txt2las -i abenberg_data_2008.txt ^
        -set_point_type 1 ^
        -parse 0xyz123456i ^
        -set_scale 0.001 0.001 0.001 ^
        -add_attribute 3 "planar shape ID" "preliminary classification" ^
        -add_attribute 4 "normal x coord" "local normal direction estimate" 0.001 ^
        -add_attribute 4 "normal y coord" "local normal direction estimate" 0.001 ^
        -add_attribute 4 "normal z coord" "local normal direction estimate" 0.001 ^
        -add_attribute 6 "sensor x coord" "sensor position" 0.0001 ^
        -add_attribute 6 "sensor y coord" "sensor position" 0.0001 ^
        -add_attribute 6 "sensor z coord" "sensor position" 0.0001 ^
        -odix _temp1 -olaz</pre>
<p>We use a back and forth of <a href="http://rapidlasso.com/lasview">lasview</a> and <a href="http://rapidlasso.com/las2las">las2las</a> with option &#8216;-subseq 12345 67890&#8217; to interactively find the exact index of the return where each flightline is ending and the next one is starting. The command below allows you to visualize the the trajectories.</p>
<pre>lasview -i abenberg_data_2008_temp1.laz ^
        -copy_attribute_into_x 4 ^
        -copy_attribute_into_y 5 ^
        -copy_attribute_into_z 6 ^
        -points 10000000 ^
        -point_size 5</pre>
<p><img loading="lazy" data-attachment-id="3682" data-permalink="https://rapidlasso.com/2020/02/17/surprise-release-of-airborne-lidar-in-germanys-closed-data-state-bavaria/abenberg_open_data_lasview_trajectory/" data-orig-file="https://rapidlasso.files.wordpress.com/2020/02/abenberg_open_data_lasview_trajectory.jpg" data-orig-size="1040,807" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="abenberg_open_data_lasview_trajectory" data-image-description="" data-medium-file="https://rapidlasso.files.wordpress.com/2020/02/abenberg_open_data_lasview_trajectory.jpg?w=300" data-large-file="https://rapidlasso.files.wordpress.com/2020/02/abenberg_open_data_lasview_trajectory.jpg?w=1024" class="alignnone size-full wp-image-3682" src="https://rapidlasso.files.wordpress.com/2020/02/abenberg_open_data_lasview_trajectory.jpg?w=1040&#038;h=807" alt="abenberg_open_data_lasview_trajectory" width="1040" height="807" srcset="https://rapidlasso.files.wordpress.com/2020/02/abenberg_open_data_lasview_trajectory.jpg 1040w, https://rapidlasso.files.wordpress.com/2020/02/abenberg_open_data_lasview_trajectory.jpg?w=150&amp;h=116 150w, https://rapidlasso.files.wordpress.com/2020/02/abenberg_open_data_lasview_trajectory.jpg?w=300&amp;h=233 300w, https://rapidlasso.files.wordpress.com/2020/02/abenberg_open_data_lasview_trajectory.jpg?w=768&amp;h=596 768w, https://rapidlasso.files.wordpress.com/2020/02/abenberg_open_data_lasview_trajectory.jpg?w=1024&amp;h=795 1024w" sizes="(max-width: 1040px) 100vw, 1040px" /></p>
<p>By hovering with the mouse over a point where the trajectory end and pressing &#8216;i&#8217; like info we can query the coordinates and attributes of a point. The console output also lists the index of the point in the file. We use this index as the start index for the manual search of the exact index where the flight lines really ends by piping the coordinates as text to stdout and looking for a &#8220;jump&#8221; in coordinates that indicates the start of a new flightline as shown below.</p>
<pre>las2las -i abenberg_data_2008_temp1.laz ^
        -subseq 1213485 1213505 ^
        -oparse xyz -otxt -stdout

-279.846 -98.442 -11.973
-279.984 -98.900 -12.123
-280.150 -99.357 -12.311
-280.195 -99.825 -12.332
-280.229 -100.294 -12.340
-280.275 -100.763 -12.363
-280.302 -101.233 -12.361
-280.344 -101.700 -12.379
-280.371 -102.171 -12.376
<span style="color:#ff0000;">-280.156 -102.661 -12.042</span>
<span style="color:#ff0000;">110.259 304.077 3.873</span>
110.646 304.118 3.925
111.036 304.154 3.970
111.424 304.167 3.982
111.811 304.211 4.037
112.201 304.252 4.088
112.588 304.278 4.118
112.976 304.315 4.164
113.364 304.336 4.186
113.752 304.344 4.192</pre>
<p>Then we use the found index to seperate the first flight line form the rest with with two more runs of <a href="http://rapidlasso.com/las2las">las2las</a>:</p>
<pre>las2las -i abenberg_data_2008_temp1.laz ^
         -subseq 0 1213495 ^
         -odix _strip1 -olaz

las2las -i abenberg_data_2008_temp1.laz ^
        -subseq 1213495 100000000 ^
        -odix _rest234 -olaz</pre>
<p>We then repeat this procedure for the rest until we have four individual strips. Next we use <a href="http://rapidlasso.com/las2las">las2las</a> to change the point type from 0 to 1 to have a GPS time attribute that we will then populate with &#8220;fake&#8221; but useful GPS time stamps:</p>
<pre>las2las -i abenberg_data_2008_temp1_strip*.laz ^
        -set_point_type 1 ^
        -odix _pt1 -olaz</pre>
<p>We noticed in the original text file that subsequent groups of points often have the exact same value for the three numbers <span style="color:#339966;"><span style="color:#0000ff;">in blue</span> </span>that are the x, y, and z coordinates of the sensor position. This suggests that those points are multiple returns from the same laser shot. We wrote <a href="https://github.com/LAStools/LAStools/blob/master/LASlib/example/lasexample_recover_returns_from_trajectory_in_extra_bytes.cpp">a small tool using LASlib</a> <span style="color:var(--color-text);">that exploits this observed pattern to recover the &#8220;return number&#8221; and the &#8220;number of returns&#8221; attribute for each point and to set a &#8220;fake&#8221; but unique GPS time for each such group of returns. You can download <a href="https://github.com/LAStools/LAStools/blob/master/LASlib/example/lasexample_recover_returns_from_trajectory_in_extra_bytes.cpp">the source code for this tool here</a>. We run this tool for each strip with a different start GPS time:</span></p>
<pre>lasrecover -i abenberg_data_2008_temp1_strip1_pt1.laz ^
           -gpstime_start 1000000 ^
           -odix _rec -olaz

lasrecover -i abenberg_data_2008_temp1_strip2_pt1.laz ^
           -gpstime_start 2000000 ^
           -odix _rec -olaz

lasrecover -i abenberg_data_2008_temp1_strip3_pt1.laz ^
           -gpstime_start 3000000 ^
           -odix _rec -olaz

lasrecover -i abenberg_data_2008_temp1_strip4_pt1.laz ^
           -gpstime_start 4000000 ^
           -odix _rec -olaz</pre>
<p><span style="color:var(--color-text);">Finally we merged the four strips back into one file using <a href="http://rapidlasso.com/lasmerge">lasmerge</a>:</span></p>
<pre>lasmerge -i abenberg_data_2008_temp1_strip1_pt1_rec.laz ^
         -i abenberg_data_2008_temp1_strip2_pt1_rec.laz ^
         -i abenberg_data_2008_temp1_strip3_pt1_rec.laz ^
         -i abenberg_data_2008_temp1_strip4_pt1_rec.laz ^
         -faf ^
         -o abenberg_data_2008_temp2.laz</pre>
<p>With <a href="http://rapidlasso.com/lasview">lasview</a> we are now able to visualize not only the multiple returns per shot but also the different angles from which the laser scanner has observed the scene.</p>
<div class="tiled-gallery type-rectangular tiled-gallery-unresized" data-original-width="500" data-carousel-extra='{&quot;blog_id&quot;:41123003,&quot;permalink&quot;:&quot;https:\/\/rapidlasso.com\/2020\/02\/17\/surprise-release-of-airborne-lidar-in-germanys-closed-data-state-bavaria\/&quot;,&quot;likes_blog_id&quot;:41123003}' itemscope itemtype="http://schema.org/ImageGallery" > <div class="gallery-row" style="width: 500px; height: 260px;" data-original-width="500" data-original-height="260" > <div class="gallery-group images-1" style="width: 334px; height: 260px;" data-original-width="334" data-original-height="260" > <div class="tiled-gallery-item tiled-gallery-item-large" itemprop="associatedMedia" itemscope itemtype="http://schema.org/ImageObject"> <a href="https://rapidlasso.com/2020/02/17/surprise-release-of-airborne-lidar-in-germanys-closed-data-state-bavaria/abenberg_open_data_scanning_direction_flightline3/" border="0" itemprop="url"> <meta itemprop="width" content="330"> <meta itemprop="height" content="256"> <img data-attachment-id="3687" data-orig-file="https://rapidlasso.files.wordpress.com/2020/02/abenberg_open_data_scanning_direction_flightline3.jpg" data-orig-size="1040,807" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="abenberg_open_data_scanning_direction_flightline3" data-image-description="" data-medium-file="https://rapidlasso.files.wordpress.com/2020/02/abenberg_open_data_scanning_direction_flightline3.jpg?w=300" data-large-file="https://rapidlasso.files.wordpress.com/2020/02/abenberg_open_data_scanning_direction_flightline3.jpg?w=1024" src="https://rapidlasso.files.wordpress.com/2020/02/abenberg_open_data_scanning_direction_flightline3.jpg?w=330&#038;h=256" width="330" height="256" data-original-width="330" data-original-height="256" itemprop="http://schema.org/image" title="abenberg_open_data_scanning_direction_flightline3" alt="flight line 4 scan direction" style="width: 330px; height: 256px;" /> </a> <div class="tiled-gallery-caption" itemprop="caption description"> flight line 4 scan direction </div> </div> </div> <!-- close group --> <div class="gallery-group images-2" style="width: 166px; height: 260px;" data-original-width="166" data-original-height="260" > <div class="tiled-gallery-item tiled-gallery-item-small" itemprop="associatedMedia" itemscope itemtype="http://schema.org/ImageObject"> <a href="https://rapidlasso.com/2020/02/17/surprise-release-of-airborne-lidar-in-germanys-closed-data-state-bavaria/abenberg_open_data_scanning_direction_flightline2/" border="0" itemprop="url"> <meta itemprop="width" content="162"> <meta itemprop="height" content="126"> <img data-attachment-id="3685" data-orig-file="https://rapidlasso.files.wordpress.com/2020/02/abenberg_open_data_scanning_direction_flightline2.jpg" data-orig-size="1040,807" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="abenberg_open_data_scanning_direction_flightline2" data-image-description="" data-medium-file="https://rapidlasso.files.wordpress.com/2020/02/abenberg_open_data_scanning_direction_flightline2.jpg?w=300" data-large-file="https://rapidlasso.files.wordpress.com/2020/02/abenberg_open_data_scanning_direction_flightline2.jpg?w=1024" src="https://rapidlasso.files.wordpress.com/2020/02/abenberg_open_data_scanning_direction_flightline2.jpg?w=162&#038;h=126" width="162" height="126" data-original-width="162" data-original-height="126" itemprop="http://schema.org/image" title="abenberg_open_data_scanning_direction_flightline2" alt="flight line 2 scan direction" style="width: 162px; height: 126px;" /> </a> <div class="tiled-gallery-caption" itemprop="caption description"> flight line 2 scan direction </div> </div> <div class="tiled-gallery-item tiled-gallery-item-small" itemprop="associatedMedia" itemscope itemtype="http://schema.org/ImageObject"> <a href="https://rapidlasso.com/2020/02/17/surprise-release-of-airborne-lidar-in-germanys-closed-data-state-bavaria/abenberg_open_data_scanning_direction_flightline4/" border="0" itemprop="url"> <meta itemprop="width" content="162"> <meta itemprop="height" content="126"> <img data-attachment-id="3686" data-orig-file="https://rapidlasso.files.wordpress.com/2020/02/abenberg_open_data_scanning_direction_flightline4.jpg" data-orig-size="1040,807" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="abenberg_open_data_scanning_direction_flightline4" data-image-description="" data-medium-file="https://rapidlasso.files.wordpress.com/2020/02/abenberg_open_data_scanning_direction_flightline4.jpg?w=300" data-large-file="https://rapidlasso.files.wordpress.com/2020/02/abenberg_open_data_scanning_direction_flightline4.jpg?w=1024" src="https://rapidlasso.files.wordpress.com/2020/02/abenberg_open_data_scanning_direction_flightline4.jpg?w=162&#038;h=126" width="162" height="126" data-original-width="162" data-original-height="126" itemprop="http://schema.org/image" title="abenberg_open_data_scanning_direction_flightline4" alt="flight line 3 scan direction" style="width: 162px; height: 126px;" /> </a> <div class="tiled-gallery-caption" itemprop="caption description"> flight line 3 scan direction </div> </div> </div> <!-- close group --> </div> <!-- close row --> </div>
<p>Finally we use <a href="http://rapidlasso.com/las2las">las2las</a> and a &#8220;filtered transform&#8221; with the custom classfication code provided in the first &#8220;additional attribute&#8221; to populate the official LAS classification codes as ratified by the ASPRS. First we turn code 1 (&#8220;Ground level&#8221;) into ground points.</p>
<pre>las2las -i abenberg_data_2008_temp2.laz ^
        -keep_attribute_between 0 1 1 ^
        -filtered_transform ^
        -set_classification 2 ^
        -o abenberg_data_2008_temp3.laz</pre>
<h4><img loading="lazy" data-attachment-id="3688" data-permalink="https://rapidlasso.com/2020/02/17/surprise-release-of-airborne-lidar-in-germanys-closed-data-state-bavaria/abenberg_open_data_populated_2_ground_points/" data-orig-file="https://rapidlasso.files.wordpress.com/2020/02/abenberg_open_data_populated_2_ground_points.jpg" data-orig-size="1040,807" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="abenberg_open_data_populated_2_ground_points" data-image-description="" data-medium-file="https://rapidlasso.files.wordpress.com/2020/02/abenberg_open_data_populated_2_ground_points.jpg?w=300" data-large-file="https://rapidlasso.files.wordpress.com/2020/02/abenberg_open_data_populated_2_ground_points.jpg?w=1024" class="alignnone size-full wp-image-3688" src="https://rapidlasso.files.wordpress.com/2020/02/abenberg_open_data_populated_2_ground_points.jpg?w=1040&#038;h=807" alt="abenberg_open_data_populated_2_ground_points" width="1040" height="807" srcset="https://rapidlasso.files.wordpress.com/2020/02/abenberg_open_data_populated_2_ground_points.jpg 1040w, https://rapidlasso.files.wordpress.com/2020/02/abenberg_open_data_populated_2_ground_points.jpg?w=150&amp;h=116 150w, https://rapidlasso.files.wordpress.com/2020/02/abenberg_open_data_populated_2_ground_points.jpg?w=300&amp;h=233 300w, https://rapidlasso.files.wordpress.com/2020/02/abenberg_open_data_populated_2_ground_points.jpg?w=768&amp;h=596 768w, https://rapidlasso.files.wordpress.com/2020/02/abenberg_open_data_populated_2_ground_points.jpg?w=1024&amp;h=795 1024w" sizes="(max-width: 1040px) 100vw, 1040px" /></h4>
<p>Then we turn code 5 (&#8220;Vegetation&#8221;) into high vegetation points, code 6 (&#8220;Other Surface&#8221;) into keypoints, and code 9 or higher (&#8220;Planar shape #&#8221;) into building points.</p>
<pre>las2las -i abenberg_data_2008_temp3.laz ^
        -keep_attribute_between 0 5 5 ^
        -filtered_transform ^
        -set_classification 5 ^
        -o abenberg_data_2008_temp4.laz

las2las -i abenberg_data_2008_temp4.laz ^
        -keep_attribute_between 0 6 6 ^
        -filtered_transform ^
        -set_classification 8 ^
        -o abenberg_data_2008_temp5.laz

las2las -i abenberg_data_2008_temp5.laz ^
         -keep_attribute_above 0 8 ^
         -filtered_transform ^
         -set_classification 6 ^
         -o abenberg_data_2008.laz</pre>
<p>Then we are done. Here you can download the resulting files:</p>
<ul>
<li><a href="https://mega.nz/#!WFlSTQwS!k6448e3aMTMU6Ti9ssFy12w_UqPFxezNnJbhuhEetVE">abenberg_data_2008.laz</a></li>
<li><a href="https://mega.nz/#!yAt0TQYS!6DyXq6w6-CIMCI4qTR_8ryMjjg5hxxnOCyD7KE0B16Y">abenberg_data_2009.laz</a></li>
</ul>
<div class="tiled-gallery type-rectangular tiled-gallery-unresized" data-original-width="500" data-carousel-extra='{&quot;blog_id&quot;:41123003,&quot;permalink&quot;:&quot;https:\/\/rapidlasso.com\/2020\/02\/17\/surprise-release-of-airborne-lidar-in-germanys-closed-data-state-bavaria\/&quot;,&quot;likes_blog_id&quot;:41123003}' itemscope itemtype="http://schema.org/ImageGallery" > <div class="gallery-row" style="width: 500px; height: 260px;" data-original-width="500" data-original-height="260" > <div class="gallery-group images-1" style="width: 334px; height: 260px;" data-original-width="334" data-original-height="260" > <div class="tiled-gallery-item tiled-gallery-item-large" itemprop="associatedMedia" itemscope itemtype="http://schema.org/ImageObject"> <a href="https://rapidlasso.com/2020/02/17/surprise-release-of-airborne-lidar-in-germanys-closed-data-state-bavaria/abenberg_open_data_classification_coloring/" border="0" itemprop="url"> <meta itemprop="width" content="330"> <meta itemprop="height" content="256"> <img data-attachment-id="3693" data-orig-file="https://rapidlasso.files.wordpress.com/2020/02/abenberg_open_data_classification_coloring.jpg" data-orig-size="1040,807" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="abenberg_open_data_classification_coloring" data-image-description="" data-medium-file="https://rapidlasso.files.wordpress.com/2020/02/abenberg_open_data_classification_coloring.jpg?w=300" data-large-file="https://rapidlasso.files.wordpress.com/2020/02/abenberg_open_data_classification_coloring.jpg?w=1024" src="https://rapidlasso.files.wordpress.com/2020/02/abenberg_open_data_classification_coloring.jpg?w=330&#038;h=256" width="330" height="256" data-original-width="330" data-original-height="256" itemprop="http://schema.org/image" title="abenberg_open_data_classification_coloring" alt="colored by classification" style="width: 330px; height: 256px;" /> </a> <div class="tiled-gallery-caption" itemprop="caption description"> colored by classification </div> </div> </div> <!-- close group --> <div class="gallery-group images-2" style="width: 166px; height: 260px;" data-original-width="166" data-original-height="260" > <div class="tiled-gallery-item tiled-gallery-item-small" itemprop="associatedMedia" itemscope itemtype="http://schema.org/ImageObject"> <a href="https://rapidlasso.com/2020/02/17/surprise-release-of-airborne-lidar-in-germanys-closed-data-state-bavaria/abenberg_open_data_return_coloring/" border="0" itemprop="url"> <meta itemprop="width" content="162"> <meta itemprop="height" content="126"> <img data-attachment-id="3692" data-orig-file="https://rapidlasso.files.wordpress.com/2020/02/abenberg_open_data_return_coloring.jpg" data-orig-size="1040,807" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="abenberg_open_data_return_coloring" data-image-description="" data-medium-file="https://rapidlasso.files.wordpress.com/2020/02/abenberg_open_data_return_coloring.jpg?w=300" data-large-file="https://rapidlasso.files.wordpress.com/2020/02/abenberg_open_data_return_coloring.jpg?w=1024" src="https://rapidlasso.files.wordpress.com/2020/02/abenberg_open_data_return_coloring.jpg?w=162&#038;h=126" width="162" height="126" data-original-width="162" data-original-height="126" itemprop="http://schema.org/image" title="abenberg_open_data_return_coloring" alt="colored by return type" style="width: 162px; height: 126px;" /> </a> <div class="tiled-gallery-caption" itemprop="caption description"> colored by return type </div> </div> <div class="tiled-gallery-item tiled-gallery-item-small" itemprop="associatedMedia" itemscope itemtype="http://schema.org/ImageObject"> <a href="https://rapidlasso.com/2020/02/17/surprise-release-of-airborne-lidar-in-germanys-closed-data-state-bavaria/abenberg_open_data_flightline_coloring/" border="0" itemprop="url"> <meta itemprop="width" content="162"> <meta itemprop="height" content="126"> <img data-attachment-id="3691" data-orig-file="https://rapidlasso.files.wordpress.com/2020/02/abenberg_open_data_flightline_coloring.jpg" data-orig-size="1040,807" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="abenberg_open_data_flightline_coloring" data-image-description="" data-medium-file="https://rapidlasso.files.wordpress.com/2020/02/abenberg_open_data_flightline_coloring.jpg?w=300" data-large-file="https://rapidlasso.files.wordpress.com/2020/02/abenberg_open_data_flightline_coloring.jpg?w=1024" src="https://rapidlasso.files.wordpress.com/2020/02/abenberg_open_data_flightline_coloring.jpg?w=162&#038;h=126" width="162" height="126" data-original-width="162" data-original-height="126" itemprop="http://schema.org/image" title="abenberg_open_data_flightline_coloring" alt="colored by flight line" style="width: 162px; height: 126px;" /> </a> <div class="tiled-gallery-caption" itemprop="caption description"> colored by flight line </div> </div> </div> <!-- close group --> </div> <!-- close row --> </div>
<h4>References</h4>
<p>Hebel, M., Arens, M., Stilla, U., 2013. <em>Change detection in urban areas by object-based analysis and on-the-fly comparison of multi-view ALS data.</em> ISPRS Journal of Photogrammetry and Remote Sensing 86, pp. 52-64. [DOI: <a class="noarrow" href="http://dx.doi.org/10.1016/j.isprsjprs.2013.09.005" target="_top">10.1016/j.isprsjprs.2013.09.005</a>] [<a class="noarrow" href="http://publica.fraunhofer.de/documents/N-259798.html" target="_top">PDF</a>]</p>
]]></html><thumbnail_url><![CDATA[https://rapidlasso.files.wordpress.com/2020/02/abenberg_open_data_scanning_direction_flightline3.jpg?fit=440%2C330]]></thumbnail_url><thumbnail_width><![CDATA[425]]></thumbnail_width><thumbnail_height><![CDATA[330]]></thumbnail_height></oembed>