[prev in list] [next in list] [prev in thread] [next in thread]
List: postgis-users
Subject: [postgis-users] FW: Old question resurfacing
From: "Basques, Bob (CI-StPaul)" <bob.basques () ci ! stpaul ! mn ! us>
Date: 2013-12-18 17:06:02
Message-ID: C9CEA89772DA74488B5A5B6EB17DC4810673EF84 () 055-CH1MPN1-003 ! 055d ! mgd ! msft ! net
[Download RAW message or body]
[Attachment #2 (text/plain)]
From: Basques, Bob (CI-StPaul)
Sent: Wednesday, December 18, 2013 11:04 AM
To: 'PostGIS Users Discussion'
Subject: RE: [postgis-users] Old question resurfacing
Rémi,
I've already played around with Cloud Compare, found it a few weeks ago during \
another research cycle.
I think the first step is to get a chunk of data into Postgres to test live queries \
with. I'll focus on this in the near term, not going to happen immediately though, \
lot's of other paid work in the way I'm afraid. :c)
I know there are methods out there for draping "a" image on a surface, but when you \
try more than one image, then it becomes a problem. We have all our data sources \
separated into separate overlays for display, being able to re-use these services for \
end user control of layer visibility will be an important need moving forward for us.
Bobb
From: postgis-users-bounces@lists.osgeo.org<mailto:postgis-users-bounces@lists.osgeo.org> \
[mailto:postgis-users-bounces@lists.osgeo.org] On Behalf Of Rémi \
Cura
Sent: Wednesday, December 18, 2013 10:48 AM
To: PostGIS Users Discussion
Subject: Re: [postgis-users] Old question resurfacing
Hey,
getting something similar to a surface visualization out of points without computing \
explicit surface is actively researched.
Usually it's very easy for a graphic card (GC) to drape a texture over a geometry. It \
is its main purpose. I wouldn't worry too much about that (already done in WebGL). Of \
course it would be cool to get some color out of raster, maybe with postgis raster (I \
just began to test it, actually trying to do the inverse : create DEM from points).
What you call average vector is the estimated normal vector of the point.
It can be estimated with various methods and is required for almost everything \
(including display to get shadows or lighting effects very useful to better \
"understand" the surface for an human eye).
If it's just for visualization, you can let the GC do the work. It is incredibly \
fast. (various "shaders" do it).
If you need normal for other computing (most algorithm use it), you may want to \
pre-compute. This can become tricky for 3 reasons :
_it is in fact a local surface interpolation. So, what surface do you choose, and how \
local is it (plan, sphere, polynom , fixed distance, fixed number of neighbors ...) \
_the computing always involve nearest neighbors. Needless to say you *have* to use a \
LOD (for example, compute per patch, on small patch, or use an octree). _How to store \
it? You can do it in pointcloud of course but is is a little boring. A dirty \
workaround would be to store it as float[3][]. Usually in point cloud software it is \
stored like X,Y,Z and other attributes, something like n_x,n_y ...
If you want to play with point cloud and see various option to visualize with normal \
based lighting, and to compute normal with various parameters, a very good open \
source software is CloudCompare<http://www.danielgm.net/cc/>. It is easy (like drag \
and drop point cloud file) and powerful.
Cheers,
Rémi-C
[Attachment #3 (text/html)]
<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=utf-8">
<meta name="Generator" content="Microsoft Word 14 (filtered medium)">
<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:"Comic Sans MS";
panose-1:3 15 7 2 3 3 2 2 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
margin-bottom:.0001pt;
font-size:12.0pt;
font-family:"Times New Roman","serif";}
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;}
p
{mso-style-priority:99;
mso-margin-top-alt:auto;
margin-right:0in;
mso-margin-bottom-alt:auto;
margin-left:0in;
font-size:12.0pt;
font-family:"Times New Roman","serif";}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
{mso-style-priority:99;
mso-style-link:"Balloon Text Char";
margin:0in;
margin-bottom:.0001pt;
font-size:8.0pt;
font-family:"Tahoma","sans-serif";}
span.BalloonTextChar
{mso-style-name:"Balloon Text Char";
mso-style-priority:99;
mso-style-link:"Balloon Text";
font-family:"Tahoma","sans-serif";}
span.EmailStyle20
{mso-style-type:personal;
font-family:"Comic Sans MS";
color:windowtext;
font-weight:normal;
font-style:normal;}
span.EmailStyle21
{mso-style-type:personal-reply;
font-family:"Comic Sans MS";
color:windowtext;
font-weight:normal;
font-style:normal;}
.MsoChpDefault
{mso-style-type:export-only;
font-size:10.0pt;}
@page WordSection1
{size:8.5in 11.0in;
margin:1.0in 1.0in 1.0in 1.0in;}
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 lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span style="font-size:8.0pt;font-family:"Comic Sans \
MS""><o:p> </o:p></span></p> <p class="MsoNormal"><span \
style="font-size:8.0pt;font-family:"Comic Sans \
MS""><o:p> </o:p></span></p> <div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal" style="margin-left:.5in"><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""> \
Basques, Bob (CI-StPaul) <br>
<b>Sent:</b> Wednesday, December 18, 2013 11:04 AM<br>
<b>To:</b> 'PostGIS Users Discussion'<br>
<b>Subject:</b> RE: [postgis-users] Old question resurfacing<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal" style="margin-left:.5in"><o:p> </o:p></p>
<p class="MsoNormal" style="margin-left:.5in">Rémi,<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in"><o:p> </o:p></p>
<p class="MsoNormal" style="margin-left:.5in">I've already played around with Cloud \
Compare, found it a few weeks ago during another research cycle.<o:p></o:p></p> <p \
class="MsoNormal" style="margin-left:.5in"><o:p> </o:p></p> <p class="MsoNormal" \
style="margin-left:.5in">I think the first step is to get a chunk of data into \
Postgres to test live queries with. I'll focus on this in the near term, not \
going to happen immediately though, lot's of other paid work in the way I'm \
afraid. :c)<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in"><o:p> </o:p></p>
<p class="MsoNormal" style="margin-left:.5in">I know there are methods out there for \
draping "a" image on a surface, but when you try more than one image, then it becomes \
a problem. We have all our data sources separated into separate overlays for \
display, being able to re-use these services for end user control of layer \
visibility will be an important need moving forward for us.<o:p></o:p></p> <p \
class="MsoNormal" style="margin-left:.5in"><o:p> </o:p></p> <p class="MsoNormal" \
style="margin-left:.5in">Bobb<o:p></o:p></p> <p class="MsoNormal" \
style="margin-left:.5in"><o:p> </o:p></p> <p class="MsoNormal" \
style="margin-left:.5in"><span style="font-size:8.0pt;font-family:"Comic Sans \
MS""><o:p> </o:p></span></p> <p class="MsoNormal" \
style="margin-left:.5in"><span style="font-size:8.0pt;font-family:"Comic Sans \
MS""><o:p> </o:p></span></p> <p class="MsoNormal" \
style="margin-left:1.0in"><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""> <a \
href="mailto:postgis-users-bounces@lists.osgeo.org">postgis-users-bounces@lists.osgeo.org</a> \
[<a href="mailto:postgis-users-bounces@lists.osgeo.org">mailto:postgis-users-bounces@lists.osgeo.org</a>]
<b>On Behalf Of </b>Rémi Cura<br>
<b>Sent:</b> Wednesday, December 18, 2013 10:48 AM<br>
<b>To:</b> PostGIS Users Discussion<br>
<b>Subject:</b> Re: [postgis-users] Old question resurfacing<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:1.0in"><o:p> </o:p></p>
<div>
<p class="MsoNormal" style="margin-left:1.0in">Hey,<o:p></o:p></p>
<div>
<p class="MsoNormal" style="margin-left:1.0in">getting something similar to a surface \
visualization out of points without computing explicit surface is actively \
researched.<o:p></o:p></p> </div>
<div>
<p class="MsoNormal" style="margin-left:1.0in"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:1.0in">Usually it's very easy for a graphic \
card (GC) to drape a texture over a geometry. It is its main purpose. I wouldn't \
worry too much about that (already done in WebGL). Of course it would be cool to get \
some color out of raster, maybe with postgis raster (I just began to test it, \
actually trying to do the inverse : create DEM from points).<o:p></o:p></p> </div>
<div>
<p class="MsoNormal" style="margin-left:1.0in"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:1.0in">What you call average vector is the \
estimated normal vector of the point.<o:p></o:p></p> </div>
<div>
<p class="MsoNormal" style="margin-left:1.0in">It can be estimated with various \
methods and is required for almost everything (including display to get shadows or \
lighting effects very useful to better "understand" the surface for an \
human eye).<o:p></o:p></p> </div>
<div>
<p class="MsoNormal" style="margin-left:1.0in"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:1.0in">If it's just for visualization, you \
can let the GC do the work. It is incredibly fast. (various "shaders" do \
it).<o:p></o:p></p> </div>
<div>
<p class="MsoNormal" style="margin-left:1.0in"><br>
If you need normal for other computing (most algorithm use it), you may want to \
pre-compute.<o:p></o:p></p> </div>
<div>
<p class="MsoNormal" style="margin-left:1.0in">This can become tricky for 3 reasons \
: <o:p></o:p></p> </div>
<div>
<p class="MsoNormal" style="margin-left:1.0in">_it is in fact a local surface \
interpolation. So, what surface do you choose, and how local is it (plan, sphere, \
polynom , fixed distance, fixed number of neighbors ...)<o:p></o:p></p> </div>
<div>
<p class="MsoNormal" style="margin-left:1.0in">_the computing always involve nearest \
neighbors. Needless to say you <b>*have*</b> to use a LOD (for example, compute per \
patch, on small patch, or use an octree).<o:p></o:p></p> </div>
<div>
<p class="MsoNormal" style="margin-left:1.0in">_How to store it? You can do it in \
pointcloud of course but is is a little boring. A dirty workaround would be to store \
it as float[3][]. Usually in point cloud software it is stored like X,Y,Z and other \
attributes, something like n_x,n_y ... <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:1.0in"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:1.0in">If you want to play with point cloud \
and see various option to visualize with normal based lighting, and to compute normal \
with various parameters, a very good open source software is <a \
href="http://www.danielgm.net/cc/">CloudCompare</a>. It is easy (like drag and drop \
point cloud file) and powerful.<o:p></o:p></p> </div>
<div>
<p class="MsoNormal" style="margin-left:1.0in"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:1.0in">Cheers,<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:1.0in">Rémi-C<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:1.0in"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:1.0in"><o:p> </o:p></p>
</div>
</div>
<div>
<p class="MsoNormal" style="margin-left:1.0in"><o:p> </o:p></p>
</div>
</div>
</body>
</html>
_______________________________________________
postgis-users mailing list
postgis-users@lists.osgeo.org
http://lists.osgeo.org/cgi-bin/mailman/listinfo/postgis-users
--===============0735805733070675319==--
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic