Jessica,<br><br>That's definitely an interesting algorithm.<br><br>Unfortunately I believe that for a given alpha there wouldn't be a way to assert that exactly 80% of the points fell within the final shape. In essence, the scoop might be too large to create the detail needed to keep those 20% of points outside of the polygon.
<br><br>Will<br><br><br><br><div><span class="gmail_quote">On 7/5/06, <b class="gmail_sendername">Jessica M Salmon</b> <<a href="mailto:jmsalmon@fs.fed.us">jmsalmon@fs.fed.us</a>> wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
William,<br><br>We group points into polygons to generate fire perimeters from discrete<br>active fire detections (from satellites images). To do this, we use an<br>algorithm known as Alpha Shapes.<br><a href="http://n.ethz.ch/student/fischerk/alphashapes/as/">
http://n.ethz.ch/student/fischerk/alphashapes/as/</a><br><br>The picture you reference below looks similar to these Alpha Shapes.<br><br>I have not yet implemented this processing in our postgis database. If I<br>do, I will post the function to the mailing list, but honestly it's not
<br>very high priority ATM.<br><br>Cheers,<br>Meghan<br><br><br><br>             "William<br>             Andersen"<br>             <wkandersen@gmail                                          To<br>             .com>                     "PostGIS Users Discussion"
<br>             Sent by:                  <<a href="mailto:postgis-users@postgis.refractions">postgis-users@postgis.refractions</a>.<br>             postgis-users-bou         net><br>             <a href="mailto:nces@postgis.refr">
nces@postgis.refr</a>                                          cc<br>             <a href="http://actions.net">actions.net</a><br>                                                                   Subject<br>                                       Re: [postgis-users] Amoeba Hulls
<br>             07/05/2006 01:40<br>             PM<br><br><br>             Please respond to<br>               PostGIS Users<br>                Discussion<br>             <postgis-users@po<br>             stgis.refractions
<br>                   .net><br><br><br><br><br><br><br>Thanks for all the suggestions, they are giving me a lot to think about.<br><br>Unfortunately it's not always a convex hull. More complex patterns appear<br>to have wedges taken out of them, like you can see in this image
<br><br><a href="http://www.esri.com/software/arcgis/extensions/businessanalyst/graphics/market-boundaries-lg.jpg">http://www.esri.com/software/arcgis/extensions/businessanalyst/graphics/market-boundaries-lg.jpg</a><br><br>
<br>It appears that, in our case, the hulls contain the 80% of closest members<br>as the crow flies (although some of the examples i've seen online seem to<br>use drivetimes). Then they somehow construct a polygon that contains
<br>exactly those 80% and none of the remaining 20% - are there any standard<br>routines for that? Presumably once they've got that polygon they replace<br>the line segments with curves.<br><br>If i can create something that meets the same rules and has a similar
<br>"look" then i'm sure it would suffice.<br><br>Graham<br><br>On 7/5/06, Mike Leahy <<a href="mailto:mgleahy@alumni.uwaterloo.ca">mgleahy@alumni.uwaterloo.ca</a>> wrote:<br>  Hey there,<br><br>  If you can determine the closest 80% of points by whatever criteria,
<br>  wouldn't you be able to use the convexhull() function?  I just tried<br>  this, and it looks okay to me:<br><br>  testdb=# select astext(convexhull('MULTIPOINT((0 1),(0 0),(1 0),(1<br>  1))'::geometry));<br>                astext
<br>  --------------------------------<br>    POLYGON((0 0,0 1,1 1,1 0,0 0))<br>  (1 row)<br><br>  I did the same thing after creating a points table with the separate in<br>  individual records with the same overall coordinates in the multipoint
<br>  example above, and it worked okay too:<br><br>  testdb=# select astext(convexhull(collect(p))) from testpoint;<br>                astext<br>  --------------------------------<br>    POLYGON((0 0,0 1,1 1,1 0,0 0))<br>
  (1 row)<br><br>  It wouldn't be too hard to modify this to work using where condition<br>  that filters out the records of interest...or maybe on a saved view.<br><br>  The only problem is that it wouldn't produce a nice curvy polygon
<br>  outline like in the sample William provided.<br><br>  Regards,<br>  Mike<br><br>  Paul Ramsey wrote:<br>  > So my guess is that you use drive-time to segment your population of<br>  > customers relative to the store into the "nearest X%" and then draw a
<br>  > "shape" around that cloud of points.  And drawing the shape is the<br>  "fun"<br>  > part.<br>  ><br>  > William Andersen wrote:<br>  >> It appears to be the same as this functionality in Business Analyst
<br>  >><br>  >><br>  <a href="http://www.esri.com/software/arcgis/extensions/businessanalyst/about/customer-market.html">http://www.esri.com/software/arcgis/extensions/businessanalyst/about/customer-market.html
</a><br><br>  >> <<br>  <a href="http://www.esri.com/software/arcgis/extensions/businessanalyst/about/customer-market.html">http://www.esri.com/software/arcgis/extensions/businessanalyst/about/customer-market.html
</a><br>  ><br>  >><br>  >><br>  >> I thought this was done using some older version of Arcview, but i'm<br>  >> not very familiar with esri's offerings.<br>  >><br>  >> Will<br>  >>
<br>  >> On 7/5/06, *Paul Ramsey * < <a href="mailto:pramsey@refractions.net">pramsey@refractions.net</a><br>  >> <mailto:<a href="mailto:pramsey@refractions.net">pramsey@refractions.net</a>>> wrote:
<br>  >><br>  >>     This wouldn't be in vanilla arcview, was it in Network Analyst?<br>  >> The top<br>  >>     80% of points by drive distance might yield this shape.  Finding<br>  the<br>  >>     points would be straightforward, and then the hull building would
<br>  >> be the<br>  >>     hand-waving part.<br>  >><br>  >>     P<br>  >><br>  >>     William Andersen wrote:<br>  >>      > Paul, Steve,<br>  >>      ><br>  >>      > Thanks for the quick replies, unfortunately it's pretty hard to
<br><br>  >> tell<br>  >>      > from those images if they match.<br>  >>      ><br>  >>      > I've done some more digging and it turns out that these shapes<br>  >> were<br>  >>      > created in Arcview 
3.x. The notes I have say...<br>  >>      ><br>  >>      >  > This approach selects a number of the outliers and joins the<br>  >>     extreme<br>  >>      > points using elliptical arcs.
<br>  >>      >  > The arcs are all created in a direction moving out from the<br>  >>     store.<br>  >>      ><br>  >>      > However, I dont see customer points at the discontinuities in
<br>  the<br>  >>     hulls,<br>  >>      > so it appears that the "extreme points" are perhaps<br>  interpolated.<br>  >>      ><br>  >>      ><br>  >>      > Will<br>  >>      >
<br>  >>      > On 7/5/06, *Paul Ramsey* < <a href="mailto:pramsey@refractions.net">pramsey@refractions.net</a><br>  >>     <mailto: <a href="mailto:pramsey@refractions.net">pramsey@refractions.net</a>
><br>  >>      > <mailto:<a href="mailto:pramsey@refractions.net">pramsey@refractions.net</a><br>  >>     <mailto: <a href="mailto:pramsey@refractions.net">pramsey@refractions.net</a>>>> wrote:
<br>  >>      ><br>  >>      >     William,<br>  >>      ><br>  >>      >     It doesn't look like this is a standard algorithm, but more<br>  >>     likely a<br>  >>      >     particular empirical technique provided by the particular
<br>  >>     software you<br>  >>      >     were using.  So substituting some other technique might<br>  >> yield a<br>  >>      >     different shape entirely... do any of the techniques<br>
  >>     mentioned here<br>  >>      ><br>  >> <<br>  <a href="http://www.geospatial-online.com/geospatialsolutions/article/articleDetail.jsp?id=1348">http://www.geospatial-online.com/geospatialsolutions/article/articleDetail.jsp?id=1348
</a><br><br>  >><br>  >>      >     <<br>  >><br>  >><br>  <a href="http://www.geospatial-online.com/geospatialsolutions/article/articleDetail.jsp?id=1348">http://www.geospatial-online.com/geospatialsolutions/article/articleDetail.jsp?id=1348
</a><br>   >><br>  >><br>  >>      >     sound like what was done to your data?<br>  >>      ><br>  >>      >     Paul<br>  >>      ><br>  >>      >     William Andersen wrote:
<br>  >>      >      ><br>  >>      >      > I'm fairly new to postgis, and working to automate a<br>  >> number of<br>  >>      >      > processes.<br>  >>      >      >
<br>  >>      >      > We are trying to compute market area polygons that look<br>  >>     like the<br>  >>      >      > attached image. These were created by some older<br>  software.<br>  >>      >      >
<br>  >>      >      ><br>  >>      >      > They are referred to as Amoeba Hulls, and they contain<br>  80%<br>  >>     of a<br>  >>      >      > store's customers. However I can't find any solid
<br>  >>     documentation that<br>  >>      >      > would allow me to reproduce them.<br>  >>      >      ><br>  >>      >      > Does anyone have any ideas how these shapes are created
<br>  >> or an<br>  >>      >      > alternate name that I might be able to google?<br>  >>     Additionally, we may<br>  >>      >      > be in a position to finance the development of this
<br>  >> feature.<br>  >>      >      ><br>  >>      >     _______________________________________________<br>  >>      >     postgis-users mailing list<br>  >>      >     <a href="mailto:postgis-users@postgis.refractions.net">
postgis-users@postgis.refractions.net</a><br>  >>     <mailto:<a href="mailto:postgis-users@postgis.refractions.net">postgis-users@postgis.refractions.net</a> ><br>  >>      >     <mailto:<a href="mailto:postgis-users@postgis.refractions.net">
postgis-users@postgis.refractions.net</a><br>  >>     <mailto: <a href="mailto:postgis-users@postgis.refractions.net">postgis-users@postgis.refractions.net</a>>><br>  >>      ><br>  <a href="http://postgis.refractions.net/mailman/listinfo/postgis-users">
http://postgis.refractions.net/mailman/listinfo/postgis-users</a><br>  >>      ><br>  >>      ><br>  >>      ><br>  >>      ><br>  >><br>  >><br>  ------------------------------------------------------------------------
<br>  >>      ><br>  >>      > _______________________________________________<br>  >>      > postgis-users mailing list<br>  >>      > <a href="mailto:postgis-users@postgis.refractions.net">
postgis-users@postgis.refractions.net</a><br>  >>     <mailto: <a href="mailto:postgis-users@postgis.refractions.net">postgis-users@postgis.refractions.net</a>><br>  >>      > <a href="http://postgis.refractions.net/mailman/listinfo/postgis-users">
http://postgis.refractions.net/mailman/listinfo/postgis-users</a><br>  >><br>  >>     _______________________________________________<br>  >>     postgis-users mailing list<br>  >>     <a href="mailto:postgis-users@postgis.refractions.net">
postgis-users@postgis.refractions.net</a><br>  >>     <mailto: <a href="mailto:postgis-users@postgis.refractions.net">postgis-users@postgis.refractions.net</a>><br>  >>     <a href="http://postgis.refractions.net/mailman/listinfo/postgis-users">
http://postgis.refractions.net/mailman/listinfo/postgis-users</a><br>  >><br>  >><br>  >><br>  >><br>  ------------------------------------------------------------------------<br>  >><br>  >> _______________________________________________
<br>  >> postgis-users mailing list<br>  >> <a href="mailto:postgis-users@postgis.refractions.net">postgis-users@postgis.refractions.net</a><br>  >> <a href="http://postgis.refractions.net/mailman/listinfo/postgis-users">
http://postgis.refractions.net/mailman/listinfo/postgis-users</a><br>  ><br>  > _______________________________________________<br>  > postgis-users mailing list<br>  > <a href="mailto:postgis-users@postgis.refractions.net">
postgis-users@postgis.refractions.net</a><br>  > <a href="http://postgis.refractions.net/mailman/listinfo/postgis-users">http://postgis.refractions.net/mailman/listinfo/postgis-users</a><br>  ><br>  _______________________________________________
<br>  postgis-users mailing list<br>  <a href="mailto:postgis-users@postgis.refractions.net">postgis-users@postgis.refractions.net</a><br>  <a href="http://postgis.refractions.net/mailman/listinfo/postgis-users">http://postgis.refractions.net/mailman/listinfo/postgis-users
</a><br>_______________________________________________<br>postgis-users mailing list<br><a href="mailto:postgis-users@postgis.refractions.net">postgis-users@postgis.refractions.net</a><br><a href="http://postgis.refractions.net/mailman/listinfo/postgis-users">
http://postgis.refractions.net/mailman/listinfo/postgis-users</a><br><br><br>_______________________________________________<br>postgis-users mailing list<br><a href="mailto:postgis-users@postgis.refractions.net">postgis-users@postgis.refractions.net
</a><br><a href="http://postgis.refractions.net/mailman/listinfo/postgis-users">http://postgis.refractions.net/mailman/listinfo/postgis-users</a><br></blockquote></div><br>