Assuming you do not have features between n & f that overlap at discontiguous points:
Sum(area2d(ST_Intersection(STGeometryN(ST_Intersection(n.the_geom, f.the_geom),1), c.the_geom)))*0.000247105381 > -----Original Message----- > From: Marcus C. England [mailto:[EMAIL PROTECTED] > Sent: Thursday, June 05, 2008 7:15 PM > To: Sufficool, Stanley > Cc: PostGIS Users Discussion > Subject: Re: [postgis-users] Intersection - three tables > > > Hi Stanley, > > I tried that several times and it never worked. Nonetheless, I copied > your text and placed it into my query (replacing the original sum > function) and it still did not work. I get this: > > NOTICE: IllegalArgumentException: This method does not support > GeometryCollection arguments > > > ERROR: GEOS Intersection() threw an error! > > ********** Error ********** > > ERROR: GEOS Intersection() threw an error! > SQL state: XX000 > > -Marcus > > Sufficool, Stanley wrote: > > The sum of the intersecting area of all 3 polygons. > > > > Sum(area2d(ST_Intersection(ST_Intersection(n.the_geom, f.the_geom), > > c.the_geom)))*0.000247105381 > > > > > > > >> Hello all, > >> > >> Well, I'm learning fast but I have come across a problem that > >> perplexes > >> me. I have three polygon tables. "new_vegetation" represents > >> vegetation > >> on a site. "grading_phases" represents the grading area for a > >> project, > >> and this is entirely within the limits of > "new_vegetation". The third > >> layer is "basin_grading", which represents five proposed > >> basins (as well > >> as polygons for 100' and 200' buffers around those > basins), some of > >> which are within "grading_phases" and some of which are outside of > >> "grading_phases". Some are even split between being and out of > >> grading_phases. > >> > >> What I am trying to get is the acreage of vegetation communities > >> (new_vegetation) within the each polygon type of > >> basin_grading, but only > >> those portions that are within grading_phases. The query > below is my > >> attempt at this, but it returns the acreage of > new_vegetation within > >> each entire basin, not just the portion that is also within > >> grading_phases. I thought the ST_Intersects part would > take care of > >> that, but apparently not. > >> > >> > >> SELECT > >> f.use, > >> n.cat_2008, > >> Sum(area2d(ST_Intersection(n.the_geom, > >> f.the_geom)))*0.000247105381 > >> > > > > > >> AS inside_project > >> FROM > >> basin_grading f, > >> grading_phases c, > >> new_vegetation n > >> WHERE > >> ST_Intersects(c.the_geom, f.the_geom) > >> GROUP BY f.use, n.cat_2008 > >> ORDER BY f.use, n.cat_2008 > >> > >> thanks in advance, > >> > >> Marcus > >> _______________________________________________ > >> postgis-users mailing list [email protected] > >> http://postgis.refractions.net/mailman/listinfo/postgis-users > >> > >> > > > > > > > > _______________________________________________ postgis-users mailing list [email protected] http://postgis.refractions.net/mailman/listinfo/postgis-users
