<div dir="ltr">It was suggested on IRC that I ask this question to this mailing list.<div><br></div><div>I have a set of 1000 (or many more) polygons, most of which intersect with each other. I want to produce a polygon (or set of polygons, or an empty set) describing the area covered by N-or-more of those polygons. For N=1, the answer is the union of all of the polygons. For N=1000, the answer is their intersection. The naive way to calculate N=2 through N=999 is to make a list of combinations of polygons, intersect those, and then union the results, but this will require a prohibitively large number of union and intersection operations in some cases.<div>

<br></div><div>To illustrate the problem, here is an example with a smaller set of data (422 polygons right now):</div><div><br></div><div><a href="http://regionaldifferences.com/results.html?region=New%20England&lat=42&lon=-73&zoom=6">http://regionaldifferences.com/results.html?region=New%20England&lat=42&lon=-73&zoom=6</a><br>

</div><div><br></div><div>If you hover your mouse over the center of Massachusetts you'll see that 98% of the polygons (415/422 currently) intersect there. Syracuse NY is about 25%.</div><div><br></div><div>What I want is the outline of specific percentiles on this map. I want a single polygon representing the 50%-or-more area, and a single polygon representing the 90%-or-more area, etc.</div>

</div><div><br></div><div>Can PostGIS do this without my needing to assemble a string of union and intersection operations for the query? I would prefer not to rasterize the data unless it proves infeasible to do this with the full precision vector data.</div>

</div>