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 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>It appears that, in our case, the hulls contain the 80% of closest members as the crow flies (although some of the examples i've seen online seem to use drivetimes). Then they somehow construct a polygon that contains exactly those 80% and none of the remaining 20% - are there any standard routines for that? Presumably once they've got that polygon they replace the line segments with curves.
<br><br>If i can create something that meets the same rules and has a similar "look" then i'm sure it would suffice.<br><br>Graham<br><br><div><span class="gmail_quote">On 7/5/06, <b class="gmail_sendername">Mike Leahy
</b> <<a href="mailto:mgleahy@alumni.uwaterloo.ca">mgleahy@alumni.uwaterloo.ca</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;">
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 "fun"<br>> part.<br>><br>> William Andersen wrote:<br>>> It appears to be the same as this functionality in Business Analyst
<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>
>> <<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>>> 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 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>>> 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 the<br>>>     hulls,<br>>>      > so it appears that the "extreme points" are perhaps 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>>> <<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>>> <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>>>      >     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 software.<br>>>      >      ><br>>>      >      ><br>>>      >      > They are referred to as Amoeba Hulls, and they contain 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>>>      >     <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>>>      > 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>>> 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></blockquote></div><br>