<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=Content-Type content="text/html; charset=us-ascii">
<meta name=Generator content="Microsoft Word 12 (filtered medium)">
<!--[if !mso]>
<style>
v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style>
<![endif]-->
<style>
<!--
 /* Font Definitions */
 @font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";
        color:black;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
pre
        {mso-style-priority:99;
        mso-style-link:"HTML Preformatted Char";
        margin:0cm;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";
        color:black;}
span.HTMLPreformattedChar
        {mso-style-name:"HTML Preformatted Char";
        mso-style-priority:99;
        mso-style-link:"HTML Preformatted";
        font-family:Consolas;
        color:black;}
span.EmailStyle19
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:70.85pt 70.85pt 70.85pt 70.85pt;}
div.WordSection1
        {page:WordSection1;}
-->
</style>
<!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext="edit">
  <o:idmap v:ext="edit" data="1" />
 </o:shapelayout></xml><![endif]-->
</head>

<body bgcolor=white lang=EN-US link=blue vlink=purple>

<div class=WordSection1>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>Regina, <o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p> </o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>there is no real limits on the number of bands but I tend to
agree with Paul: you can convert a lidar coverage to a grid but this is a lossy
operation like converting a vector coverage to raster. The amount of
information you lose is dependent on the resolution of the target raster and
there is no perfect resolution (only 0 which is impossible).<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p> </o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>Pierre<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p> </o:p></span></p>

<div style='border:none;border-left:solid blue 1.5pt;padding:0cm 0cm 0cm 4.0pt'>

<div>

<div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm'>

<p class=MsoNormal><b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif";
color:windowtext'>From:</span></b><span style='font-size:10.0pt;font-family:
"Tahoma","sans-serif";color:windowtext'>
postgis-users-bounces@postgis.refractions.net [mailto:postgis-users-bounces@postgis.refractions.net]
<b>On Behalf Of </b>Paragon Corporation<br>
<b>Sent:</b> 8 juillet 2010 12:23<br>
<b>To:</b> 'PostGIS Users Discussion'<br>
<b>Subject:</b> Re: [postgis-users] lidar: what is the recommended wayof
storing/indexing<o:p></o:p></span></p>

</div>

</div>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Arial","sans-serif";
color:blue'>Okay since everyone is providing their suggestions, let me provide
my less than educated suggestion based on my fuzzy assumption of how Lidar is
structured.</span><o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Arial","sans-serif";
color:blue'>Why don't you just use the new WKT Raster (PostGIS raster
storage)?  It allows you to store multiple bands per pixel.  I think
you might even be able to use GDAL to load the Lidar data right in ot the
PostGIS raster storage format given this bug fix.</span><o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Arial","sans-serif";
color:blue'><a href="http://trac.osgeo.org/gdal/ticket/3523">http://trac.osgeo.org/gdal/ticket/3523</a></span><o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Arial","sans-serif";
color:blue'>So I'm  imaging your z, range, target number, reflectance you
would store as separate raster bands.</span><o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Arial","sans-serif";
color:blue'>Pierre and Jorge can correct me, but I don't think there is a limit
on the number of raster bands you can store per raster tile</span><o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Arial","sans-serif";
color:blue'><a
href="http://www.postgis.org/documentation/manual-svn/RT_reference.html">http://www.postgis.org/documentation/manual-svn/RT_reference.html</a></span><o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Arial","sans-serif";
color:blue'>With that you can do spatial intersects queries to pull out the
different band values with </span><o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Arial","sans-serif";
color:blue'><a
href="http://www.postgis.org/documentation/manual-svn/RT_ST_Intersection.html">http://www.postgis.org/documentation/manual-svn/RT_ST_Intersection.html</a></span><o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Arial","sans-serif";
color:blue'>or </span><o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<div>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Arial","sans-serif";
color:blue'><a
href="http://www.postgis.org/documentation/manual-svn/RT_ST_Value.html">http://www.postgis.org/documentation/manual-svn/RT_ST_Value.html</a></span><o:p></o:p></p>

</div>

<div>

<p class=MsoNormal> <o:p></o:p></p>

</div>

<div>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Arial","sans-serif";
color:blue'>The meta data function would be useful for letting you know how
many bands you have etc.</span><o:p></o:p></p>

</div>

<div>

<p class=MsoNormal> <o:p></o:p></p>

</div>

<div>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Arial","sans-serif";
color:blue'><a
href="http://www.postgis.org/documentation/manual-svn/RT_ST_MetaData.html">http://www.postgis.org/documentation/manual-svn/RT_ST_MetaData.html</a></span><o:p></o:p></p>

</div>

<div>

<p class=MsoNormal> <o:p></o:p></p>

</div>

<div>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Arial","sans-serif";
color:blue'>Hope that helps,</span><o:p></o:p></p>

</div>

<div>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Arial","sans-serif";
color:blue'>Regina</span><o:p></o:p></p>

</div>

<div>

<p class=MsoNormal><o:p> </o:p></p>

</div>

<div class=MsoNormal align=center style='text-align:center'>

<hr size=2 width="100%" align=center>

</div>

<p class=MsoNormal style='margin-bottom:12.0pt'><b><span style='font-size:10.0pt;
font-family:"Tahoma","sans-serif"'>From:</span></b><span style='font-size:10.0pt;
font-family:"Tahoma","sans-serif"'>
postgis-users-bounces@postgis.refractions.net
[mailto:postgis-users-bounces@postgis.refractions.net] <b>On Behalf Of </b>Peter
Baumann<br>
<b>Sent:</b> Thursday, July 08, 2010 9:32 AM<br>
<b>To:</b> PostGIS Users Discussion<br>
<b>Subject:</b> Re: [postgis-users] lidar: what is the recommended wayof
storing/indexing</span><o:p></o:p></p>

<p class=MsoNormal>Indeed, a column store for arrays is usually quite ;-)
inefficient.<br>
Let me point you to the rasdaman array DBMS which plugs into PostgreSQL and
offers an optimized array query language on top. See <a
href="http://www.rasdaman.org">www.rasdaman.org</a>.<br>
<br>
-Peter<br>
<br>
<br>
<br>
<br>
Paul Ramsey wrote: <o:p></o:p></p>

<pre>Oh, actually one-row-per-point is a bad idea, because the size of<o:p></o:p></pre><pre>lidar sets mitigates against that. Putting them into multipoint<o:p></o:p></pre><pre>collections of 50 or 100 points is better. But that implies<o:p></o:p></pre><pre>preprocessing things a bit to find good patches. In generally, there's<o:p></o:p></pre><pre>a lot of tooling needed to do this well, I fear.<o:p></o:p></pre><pre><o:p> </o:p></pre><pre>P<o:p></o:p></pre><pre><o:p> </o:p></pre><pre>On Thu, Jul 8, 2010 at 6:27 AM, Paul Ramsey <a
href="mailto:pramsey@opengeo.org"><pramsey@opengeo.org></a> wrote:<o:p></o:p></pre><pre>  <o:p></o:p></pre>

<blockquote style='margin-top:5.0pt;margin-bottom:5.0pt'><pre>There is no recommended way right now. It's a core development<o:p></o:p></pre><pre>activity I'd love to have funded... :)<o:p></o:p></pre><pre><o:p> </o:p></pre><pre><a
href="http://opengeo.org/products/coredevelopment/postgis/pointclouds/">http://opengeo.org/products/coredevelopment/postgis/pointclouds/</a><o:p></o:p></pre><pre><o:p> </o:p></pre><pre>In the meanwhile a approach might be to put the x/y/z into a postgis<o:p></o:p></pre><pre>geometry and stuff the rest of the data into an array of doubles in<o:p></o:p></pre><pre>another column. Your app would need to know which array element was<o:p></o:p></pre><pre>which kind of data, but you'd still have it all available.<o:p></o:p></pre><pre><o:p> </o:p></pre><pre>P.<o:p></o:p></pre><pre><o:p> </o:p></pre><pre>On Thu, Jul 8, 2010 at 2:53 AM, Biddy <a
href="mailto:newskatze@riomhphost.net"><newskatze@riomhphost.net></a> wrote:<o:p></o:p></pre><pre>    <o:p></o:p></pre>

<blockquote style='margin-top:5.0pt;margin-bottom:5.0pt'><pre>Hi everyone,<o:p></o:p></pre><pre><o:p> </o:p></pre><pre>is there a recommended way of storing lidar data in postgis?<o:p></o:p></pre><pre><o:p> </o:p></pre><pre>In particular, I am interested in not just storing long, lat, alt but also<o:p></o:p></pre><pre>keeping all the raw data (for example range, target number, reflectance,<o:p></o:p></pre><pre>etc.)<o:p></o:p></pre><pre><o:p> </o:p></pre><pre>Regards,<o:p></o:p></pre><pre>B.<o:p></o:p></pre><pre><o:p> </o:p></pre><pre><o:p> </o:p></pre><pre>_______________________________________________<o:p></o:p></pre><pre>postgis-users mailing list<o:p></o:p></pre><pre><a
href="mailto:postgis-users@postgis.refractions.net">postgis-users@postgis.refractions.net</a><o:p></o:p></pre><pre><a
href="http://postgis.refractions.net/mailman/listinfo/postgis-users">http://postgis.refractions.net/mailman/listinfo/postgis-users</a><o:p></o:p></pre><pre><o:p> </o:p></pre><pre>      <o:p></o:p></pre></blockquote>

</blockquote>

<pre>_______________________________________________<o:p></o:p></pre><pre>postgis-users mailing list<o:p></o:p></pre><pre><a
href="mailto:postgis-users@postgis.refractions.net">postgis-users@postgis.refractions.net</a><o:p></o:p></pre><pre><a
href="http://postgis.refractions.net/mailman/listinfo/postgis-users">http://postgis.refractions.net/mailman/listinfo/postgis-users</a><o:p></o:p></pre><pre>  <o:p></o:p></pre>

<p class=MsoNormal><br>
<br>
<o:p></o:p></p>

<pre>-- <o:p></o:p></pre><pre>Dr. Peter Baumann<o:p></o:p></pre><pre> - Professor of Computer Science, Jacobs University Bremen<o:p></o:p></pre><pre>   <a
href="http://www.faculty.jacobs-university.de/pbaumann">www.faculty.jacobs-university.de/pbaumann</a><o:p></o:p></pre><pre>   mail: <a
href="mailto:p.baumann@jacobs-university.de">p.baumann@jacobs-university.de</a><o:p></o:p></pre><pre>   tel: +49-421-200-3178, fax: +49-421-200-493178<o:p></o:p></pre><pre> - Executive Director, rasdaman GmbH Bremen (HRB 147737)<o:p></o:p></pre><pre>   <a
href="http://www.rasdaman.com">www.rasdaman.com</a>, mail: <a
href="mailto:baumann@rasdaman.com">baumann@rasdaman.com</a><o:p></o:p></pre><pre>   tel: 0800-rasdaman, fax: 0800-rasdafax, mobile: +49-173-5837882<o:p></o:p></pre><pre>"Si forte in alienas manus oberraverit hec peregrina epistola incertis ventis dimissa, sed Deo commendata, precamur ut ei reddatur cui soli destinata, nec preripiat quisquam non sibi parata." (mail disclaimer, AD 10xx)<o:p></o:p></pre><pre><o:p> </o:p></pre><pre><o:p> </o:p></pre></div>

</div>

</body>

</html>