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>