Changes between Version 16 and Version 17 of OriaEda


Ignore:
Timestamp:
Nov 23, 2010 3:18:58 PM (14 years ago)
Author:
cedric
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • OriaEda

    v16 v17  
    148148}}} 
    149149 
    150  
     150= CLC = 
     151{{{ 
     152-------------------------------------------- 
     153--------------------------------------------- 
     154-- Corinne Landcover 
     155--------------------------------------------- 
     156--------------------------------------------- 
     157-------------------------------------- 
     158-------------------------------------- 
     159--SURFACE CUT 
     160-------------------------------------- 
     161-------------------------------------- 
     162DROP TABLE IF EXISTS clc.clipped_spain; 
     163CREATE TABLE clc.clipped_spain AS 
     164SELECT intersected.clcgid, intersected.gid, code_00,the_geom 
     165FROM (SELECT clc.gid as clcgid, c.gid,code_00, ST_Multi(ST_Intersection(clc.the_geom, c.the_geom)) the_geom 
     166        FROM  clc.clc00_v2_europe clc INNER JOIN  
     167        (select * from ccm21.catchments c WHERE c.wso_id IN (SELECT wso_id FROM europe.wso WHERE area='Spain_Atl')) as c 
     168        ON  ST_Intersects (c.the_geom,clc.the_geom) 
     169         
     170       -- AND substring(code_00 from 1 for 1)='1' 
     171       )  AS intersected; --2h30 min 
     172ALTER TABLE clc.clipped_spain ADD column id serial PRIMARY KEY; 
     173alter table clc.clipped_spain add CONSTRAINT enforce_dims_the_geom CHECK (ndims(the_geom) = 2); 
     174alter table clc.clipped_spain add  CONSTRAINT enforce_geotype_the_geom CHECK (geometrytype(the_geom) = 'MULTIPOLYGON'::text OR the_geom IS NULL); 
     175alter table clc.clipped_spain add  CONSTRAINT enforce_srid_the_geom CHECK (srid(the_geom) = 3035); 
     176CREATE INDEX indexclc00clipped_spain ON clc.clipped_spain 
     177  USING GIST ( the_geom GIST_GEOMETRY_OPS );  
     178-------------------------------------- 
     179-------------------------------------- 
     180--MERGING 
     181-------------------------------------- 
     182-------------------------------------- 
     183DROP TABLE IF EXISTS clc.clipped_spain1; 
     184CREATE TABLE clc.clipped_spain1 AS ( 
     185SELECT gid,code_00, 
     186           ST_Multi(ST_Collect(f.the_geom)) as the_geom 
     187         FROM (SELECT gid, code_00,(ST_Dump(the_geom)).geom As the_geom 
     188                                FROM 
     189                                 clc.clipped_spain 
     190                                ) As f  
     191GROUP BY gid,code_00);--171 s 
     192ALTER TABLE clc.clipped_spain1 add column id serial PRIMARY KEY; 
     193alter table clc.clipped_spain1 add CONSTRAINT enforce_dims_the_geom CHECK (ndims(the_geom) = 2); 
     194alter table clc.clipped_spain1 add  CONSTRAINT enforce_geotype_the_geom CHECK (geometrytype(the_geom) = 'MULTIPOLYGON'::text OR the_geom IS NULL); 
     195alter table clc.clipped_spain1 add  CONSTRAINT enforce_srid_the_geom CHECK (srid(the_geom) = 3035); 
     196CREATE INDEX indexclc00clipped_spain1 ON clc.clipped_spain1 
     197  USING GIST ( the_geom GIST_GEOMETRY_OPS ); 
     198ALTER TABLE clc.clipped_spain1 add constraint c_ck_uk_spain  UNIQUE(gid,code_00); -- contrainte d'unicité 
     199-------------------------------------- 
     200-------------------------------------- 
     201--AREA 
     202-------------------------------------- 
     203-------------------------------------- 
     204ALTER TABLE clc.clipped_spain1 add column area numeric; 
     205UPDATE clc.clipped_spain1 set area=ST_Area(the_geom);  
     206-------------------------------------- 
     207-------------------------------------- 
     208--AREA PER COLUMN FOR CLC TYPE (agregation) 
     209-------------------------------------- 
     210-------------------------------------- 
     211SELECT gid,code_00, id,round(area) as area FROM clc.clipped_spain1 order by gid, code_00 limit 10; 
     212DROP TABLE IF EXISTS clc.surf_area; 
     213CREATE TABLE clc.surf_area AS ( 
     214SELECT DISTINCT ON (init.gid) init.gid, 
     215        artificial_surfaces_11_13, 
     216        artificial_vegetated_14, 
     217         arable_land_21, 
     218         permanent_crops_22, 
     219         pastures_23, 
     220         heterogeneous_agricultural_24, 
     221         forest_31, 
     222         natural_32_33, 
     223         wetlands_4, 
     224         inland_waterbodies_51 , 
     225         marine_water_52 
     226        -- SELECT *  
     227         FROM ( 
     228        SELECT  gid from clc.clipped_spain1    ) as init         
     229        FULL OUTER JOIN (SELECT gid,sum(area) AS artificial_surfaces_11_13 FROM clc.clipped_spain1 WHERE  
     230                        substring(code_00 from 1 for 2)='11'  
     231                        OR  substring(code_00 from 1 for 2)='12' 
     232                        OR substring(code_00 from 1 for 2)='13'  
     233                        GROUP BY gid) AS artificial_surfaces 
     234                       on (init.gid) =(artificial_surfaces.gid)          
     235        FULL OUTER JOIN (SELECT gid,sum(area) AS artificial_vegetated_14 FROM clc.clipped_spain1 WHERE  
     236                        substring(code_00 from 1 for 2)='14' 
     237                        GROUP BY gid) AS artificial_vegetated 
     238                        on artificial_vegetated.gid =init.gid 
     239        FULL OUTER JOIN (SELECT gid,sum(area) AS arable_land_21 FROM clc.clipped_spain1 WHERE  
     240                        substring(code_00 from 1 for 2)='21' 
     241                        GROUP BY gid) AS arable_land 
     242                        on arable_land.gid =init.gid 
     243        FULL OUTER JOIN (SELECT gid, sum(area) AS permanent_crops_22 FROM clc.clipped_spain1 WHERE  
     244                        substring(code_00 from 1 for 2)='22' 
     245                        GROUP BY gid) AS permanent_crops 
     246                        on permanent_crops.gid =init.gid 
     247        FULL OUTER JOIN (SELECT gid,sum(area) AS pastures_23 FROM clc.clipped_spain1 WHERE  
     248                        substring(code_00 from 1 for 2)='23' 
     249                        GROUP BY gid) AS pastures 
     250                        on pastures.gid =init.gid 
     251        FULL OUTER JOIN (SELECT gid, sum(area) AS heterogeneous_agricultural_24 FROM clc.clipped_spain1 WHERE  
     252                        substring(code_00 from 1 for 2)='24' 
     253                        GROUP BY gid) AS heterogeneous_agricultural 
     254                        on heterogeneous_agricultural.gid =init.gid 
     255        FULL OUTER JOIN (SELECT gid,sum(area) AS forest_31 FROM clc.clipped_spain1 WHERE  
     256                        substring(code_00 from 1 for 2)='31' 
     257                        GROUP BY gid) AS forest 
     258                        ON forest.gid =init.gid 
     259        FULL OUTER JOIN (SELECT gid,sum(area) AS natural_32_33 FROM clc.clipped_spain1 WHERE  
     260                        substring(code_00 from 1 for 2)='32' 
     261                        OR  substring(code_00 from 1 for 2)='33' 
     262                        GROUP BY gid) AS nature 
     263                        ON nature.gid =init.gid 
     264        FULL OUTER JOIN (SELECT gid, sum(area) AS wetlands_4  FROM clc.clipped_spain1 WHERE  
     265                        substring(code_00 from 1 for 1)='4' 
     266                        GROUP BY gid) AS wetlands 
     267                        on wetlands.gid =init.gid 
     268        FULL OUTER JOIN (SELECT gid,sum(area) AS inland_waterbodies_51 FROM clc.clipped_spain1 WHERE  
     269                        substring(code_00 from 1 for 2)='51' 
     270                        GROUP BY gid) AS waterbodies 
     271                        on waterbodies.gid =init.gid 
     272        FULL OUTER JOIN (SELECT gid,sum(area) AS marine_water_52 FROM clc.clipped_spain1 WHERE  
     273                        substring(code_00 from 1 for 2)='52' 
     274                        GROUP BY gid) AS marine_water 
     275                        on marine_water.gid =init.gid); --375 ms 
     276ALTER TABLE clc.surf_area ADD CONSTRAINT c_pk_gid_surf_area_spain PRIMARY KEY (gid); 
     277SELECT * FROM clc.surf_area; 
     278-------------------------------------- 
     279-------------------------------------- 
     280--REMOVING ZEROS AND JOINING RIVERSEGMENTS AND CATCHMENTS TABLES 
     281-------------------------------------- 
     282-------------------------------------- 
     283DROP TABLE IF EXISTS clc.surf_area1; 
     284CREATE TABLE clc.surf_area1 AS(  
     285SELECT  
     286        r.gid, 
     287        C.area/1e6 as catchment_area, 
     288        CASE WHEN p.artificial_surfaces_11_13 IS NOT NULL THEN p.artificial_surfaces_11_13/1e6 
     289        ELSE 0 
     290        END AS artificial_surfaces_11_13, 
     291        CASE WHEN p.artificial_vegetated_14 IS NOT NULL THEN p.artificial_vegetated_14/1e6  
     292        ELSE 0 
     293        END AS artificial_vegetated_14, 
     294        CASE WHEN p.arable_land_21 IS NOT NULL THEN p.arable_land_21/1e6  
     295        ELSE 0 
     296        END AS arable_land_21, 
     297        CASE WHEN p.permanent_crops_22 IS NOT NULL THEN p.permanent_crops_22/1e6  
     298        ELSE 0 
     299        END AS permanent_crops_22, 
     300        CASE WHEN p.pastures_23 IS NOT NULL THEN p.pastures_23/1e6  
     301        ELSE 0 
     302        END AS pastures_23, 
     303        CASE WHEN p.heterogeneous_agricultural_24 IS NOT NULL THEN p.heterogeneous_agricultural_24/1e6 
     304        ELSE 0 
     305        END AS heterogeneous_agricultural_24, 
     306        CASE WHEN p.forest_31 IS NOT NULL THEN p.forest_31/1e6  
     307        ELSE 0 
     308        END AS forest_31, 
     309        CASE WHEN p.natural_32_33 IS NOT NULL THEN p.natural_32_33/1e6  
     310        ELSE 0 
     311        END AS natural_32_33, 
     312        CASE WHEN p.wetlands_4 IS NOT NULL THEN p.wetlands_4/1e6  
     313        ELSE 0 
     314        END AS wetlands_4, 
     315        CASE WHEN p.inland_waterbodies_51 IS NOT NULL THEN p.inland_waterbodies_51 /1e6  
     316        ELSE 0 
     317        END AS inland_waterbodies_51, 
     318        CASE WHEN  p.marine_water_52 IS NOT NULL THEN p.marine_water_52/1e6  
     319        ELSE 0 
     320        END AS marine_water_52, 
     321        c.wso1_id, 
     322        c.the_geom       
     323FROM clc.surf_area p 
     324JOIN ccm21.catchments c ON c.gid=p.gid 
     325JOIN ccm21.riversegments r on r.wso1_id=c.wso1_id 
     326); 
     327}}} 
    151328= saving and restore scripts = 
    152329{{{