[postgis-users] area resulting from ST_Within

surya storma-ipb at indo.net.id
Sun Sep 21 20:35:19 PDT 2008


Dear PC,

After summing up  percentage of all districts in one watershed, it does not add up to 100%. Moreover, after multiplication with 100, the total percentage of all districts in one watershed  is far below 100%.
 
In the first watershed, I have 9 different districts. The first district calculated with the term: sum(ST_area(ST_intersection(ws.the_geom,dt.the_geom))) gives 25 sq. km, meanwhile the watershed area itself is 646 sq. km. Therefore, the percentage of this district should be (25/646)* 100 = 3.9 %. 

Using the proposed term tocalculate percentage:  (sum(ST_area(ST_intersection(ws.the_geom,dt.the_geom)))/sum(st_area(ws.the_geom)))*100 gives only 0.18 % instead. I do not know what is wrong.

best regards,

surya 


 ----- Original Message ----- 
  From: Paragon Corporation 
  To: 'PostGIS Users Discussion' 
  Sent: Monday, September 22, 2008 4:44 AM
  Subject: RE: [postgis-users] area resulting from ST_Within


  Try


  SELECT ws.name,dt.name, sum(ST_area(ST_intersection(ws.the_geom,dt.the_geom)))/sum(st_area(ws.the_geom)) As pct
  FROM  watersheds as ws, districts as dt
  WHERE ST_intersects(ws.the_geom,dt.the_geom)
  GROUP BY ws.name,dt.name
  ORDER BY dt.name



------------------------------------------------------------------------------
  From: postgis-users-bounces at postgis.refractions.net [mailto:postgis-users-bounces at postgis.refractions.net] On Behalf Of surya
  Sent: Sunday, September 21, 2008 12:42 PM
  To: PostGIS Users Discussion
  Subject: Re: [postgis-users] area resulting from ST_Within


  Dear Fred,

  Thank you very much. It works correctly !!. I try to further convert the area of  each district in a watershed as percentage to the watershed area in question. Please give me more help.

  best regards,

  surya
    ----- Original Message ----- 
    From: Fred Lehodey 
    To: PostGIS Users Discussion 
    Sent: Sunday, September 21, 2008 4:35 PM
    Subject: Re: [postgis-users] area resulting from ST_Within


    Hi Surya,
    you can try something like that:

    SELECT ws.name,dt.name, sum(ST_area(ST_intersection(ws.the_geom,dt.the_geom)))
    FROM  watersheds as ws, districts as dt
    WHERE ST_intersects(ws.the_geom,dt.the_geom)
    GROUP BY ws.name,dt.name
    ORDER BY dt.name

    Fred.



     
    On Sun, Sep 21, 2008 at 3:37 AM, surya <storma-ipb at indo.net.id> wrote:

      Dear List,

      I have two  tables, one table contains   5 polygons depicting 5 watersheds or river basin boundaries. Another table contain district bondaries. Using ST-contain function below, I have obtained districts belong to a certain watershed . My qestion is how to calculate area of each district contained in a certain watershed using sum(area)(), taking into consideration that one district might be splitted in two or more different watershed

      SELECT watersheds.name, districts.name
      FROM watersheds, districts
      WHERE ST_contains (watersheds.the_geom, districts.the_geom)
      GROUP BY watersheds.name, districts.name ;

      best regards,

      surya

      _______________________________________________
      postgis-users mailing list
      postgis-users at postgis.refractions.net
      http://postgis.refractions.net/mailman/listinfo/postgis-users





----------------------------------------------------------------------------


    _______________________________________________
    postgis-users mailing list
    postgis-users at postgis.refractions.net
    http://postgis.refractions.net/mailman/listinfo/postgis-users



------------------------------------------------------------------------------


  _______________________________________________
  postgis-users mailing list
  postgis-users at postgis.refractions.net
  http://postgis.refractions.net/mailman/listinfo/postgis-users
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/postgis-users/attachments/20080922/7a35339b/attachment.html>


More information about the postgis-users mailing list