Don&#39;t think I can actually put up these examples, but I do have other examples that are in the public sector. Additionally, I believe I can toss the corresponding image up on my server, no problem. I&#39;ll hunt it down and throw it up there tonight!<div>

<br></div><div>aaron<br><br><div class="gmail_quote">On Fri, Jul 23, 2010 at 7:13 AM, Howard Butler <span dir="ltr">&lt;<a href="mailto:hobu.inc@gmail.com">hobu.inc@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

Aaron,<br>
<br>
Is there any chance I could download both of the files from somewhere and do a test with the latest development version?  Additionally, is there any opportunity to add both of these files to the libLAS sample library &lt;<a href="http://liblas.org/samples" target="_blank">http://liblas.org/samples</a>&gt;?  We don&#39;t have any examples with coincident lidar and imagery data, and this would be a great addition for things like documentation, etc.<br>


<br>
Howard<br>
<div><div></div><div class="h5"><br>
On Jul 22, 2010, at 8:01 PM, Aaron Reyna wrote:<br>
<br>
&gt; Hi all,<br>
&gt;<br>
&gt; I put together this python script to extract color from a NAIP and apply it to the las file. I can pull out color values from the NAIP, and I scaled them up to 16 bit, but I seem to be having a problem writing that color value to file. Actually, everything will come through except the color, which seems weird. I thought I&#39;d toss it up to the list to see if anyone had any idea&#39;s. Thanks in advance for any suggestions.<br>


&gt;<br>
&gt; Also, keep in mind I have only been writing code about a year. I know, it&#39;s sloppy and slow... but that never stopped me before.<br>
&gt;<br>
&gt; Warmly,<br>
&gt;<br>
&gt; aaron<br>
&gt;<br>
&gt;<br>
&gt; #############################################<br>
&gt; import os, sys<br>
&gt; from liblas import file<br>
&gt; from liblas import header<br>
&gt; from liblas import color<br>
&gt; from liblas import *<br>
&gt;<br>
&gt; try:<br>
&gt;   from osgeo import ogr, gdal<br>
&gt;   from osgeo.gdalconst import *<br>
&gt;   os.chdir(&#39;C:\\crap\\county\\Crook&#39;)<br>
&gt; except ImportError:<br>
&gt;   import ogr, gdal<br>
&gt;   from gdalconst import *<br>
&gt;   os.chdir(r&#39;C:\\crap\\county\\Crook&#39;)<br>
&gt; print &quot;loaded&quot;<br>
&gt;<br>
&gt; lassy = &#39;D:\\aaron_working\\DESCHUTTES\\Decluttered_no_birds\\DES_04593.las&#39;<br>
&gt;<br>
&gt; # register all of the GDAL drivers<br>
&gt; gdal.AllRegister()<br>
&gt;<br>
&gt; # open the image<br>
&gt; img = gdal.Open(&#39;naip_1_1_1n_s_or013_2005_1_C4593.img&#39;, GA_ReadOnly)<br>
&gt; if img is None:<br>
&gt;   print &#39;Could not open aster.img&#39;<br>
&gt;   sys.exit(1)<br>
&gt; print &quot;loaded img&quot;<br>
&gt; # get image size<br>
&gt; rows = img.RasterYSize<br>
&gt; cols = img.RasterXSize<br>
&gt; bands = img.RasterCount<br>
&gt;<br>
&gt; # get georeference info<br>
&gt; transform = img.GetGeoTransform()<br>
&gt; xOrigin = transform[0]<br>
&gt; yOrigin = transform[3]<br>
&gt; pixelWidth = transform[1]<br>
&gt; pixelHeight = transform[5]<br>
&gt;<br>
&gt; data=file.File(lassy, mode=&#39;r&#39;)<br>
&gt;<br>
&gt; print &quot;creating .LAS file&quot;<br>
&gt; h = header.Header()<br>
&gt;<br>
&gt; h.dataformat_id = 1<br>
&gt;<br>
&gt; h.minor_version = 2<br>
&gt; newdata=file.File(&#39;D:\\aaron_working\\DESCHUTTES\\Decluttered_no_birds\\DES_04593aaaab.las&#39;, mode=&#39;w&#39;, header=h)<br>
&gt;<br>
&gt; for p in data:<br>
&gt;     pt = point.Point()<br>
&gt;     xL = p.x<br>
&gt;     yL = p.y<br>
&gt;     pt.x = p.x<br>
&gt;     pt.y = p.y<br>
&gt;     pt.z = p.z<br>
&gt;     pt.intensity = p.intensity<br>
&gt;     pt.flightline_edge = p.flightline_edge<br>
&gt;     pt.scan_flags = p.scan_flags<br>
&gt;     pt.number_of_returns = p.number_of_returns<br>
&gt;     pt.classification = p.classification<br>
&gt;     pt.scan_angle = p.scan_angle<br>
&gt;     pt.user_data = p.user_data<br>
&gt;<br>
&gt;     # compute pixel offset<br>
&gt;     xOffset = int((xL - xOrigin) / pixelWidth)<br>
&gt;     yOffset = int((yL - yOrigin) / pixelHeight)<br>
&gt;     # loop through the bands<br>
&gt;     for j in range(bands):<br>
&gt;         band1 = img.GetRasterBand(1) # 1-based index<br>
&gt;         # read data and add the value to the string<br>
&gt;         RED = band1.ReadAsArray(xOffset, yOffset, 1, 1)<br>
&gt;<br>
&gt;         band2 = img.GetRasterBand(2)<br>
&gt;         GREEN = band1.ReadAsArray(xOffset, yOffset, 1, 1)<br>
&gt;<br>
&gt;         band3 = img.GetRasterBand(3)<br>
&gt;         BLUE = band1.ReadAsArray(xOffset, yOffset, 1, 1)<br>
&gt;         r16RED = int(RED)* 256<br>
&gt;         r16GREEN = int(GREEN) * 256<br>
&gt;         r16BLUE = int(BLUE) * 256<br>
&gt;<br>
&gt;         #print r16RED, r16GREEN, r16BLUE<br>
&gt;<br>
&gt;     pt.color = color.Color(r16RED, r16GREEN, r16BLUE)<br>
&gt;     newdata.write(pt)<br>
&gt;<br>
&gt; newdata.close()<br>
&gt; data.close()<br>
</div></div>&gt; _______________________________________________<br>
&gt; Liblas-devel mailing list<br>
&gt; <a href="mailto:Liblas-devel@lists.osgeo.org">Liblas-devel@lists.osgeo.org</a><br>
&gt; <a href="http://lists.osgeo.org/mailman/listinfo/liblas-devel" target="_blank">http://lists.osgeo.org/mailman/listinfo/liblas-devel</a><br>
<br>
</blockquote></div><br></div>