Changes between Version 67 and Version 68 of CLC Join


Ignore:
Timestamp:
Jun 2, 2010 2:24:53 PM (15 years ago)
Author:
cedric
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • CLC Join

    v67 v68  
    533533  USING GIST ( the_geom GIST_GEOMETRY_OPS ); 
    534534}}} 
     535= France = 
    535536{{{ 
    536537#!html 
     
    538539}}} 
    539540{{{ 
     541-- Pour modif rechercher et remplacer 1 (code_reg) et 'Corse' 
     542/* 
     543La requète a tourné pour 
     54494 Corse 
     545 
     546*/ 
     547-------------------------------------- 
     548-------------------------------------- 
     549--CREATION DE LA TABLE france.wso 
     550-------------------------------------- 
     551-------------------------------------- 
     552/* 
     553"CORSE";1 
     554"LORRAINE";2 
     555"PICARDIE";3 
     556"MIDI-PYRENEES";4 
     557"POITOU-CHARENTES";5 
     558"ALSACE";6 
     559"ILE-DE-FRANCE";7 
     560"NORD-PAS-DE-CALAIS";8 
     561"HAUTE-NORMANDIE";9 
     562"LIMOUSIN";10 
     563"BOURGOGNE";11 
     564"AUVERGNE";12 
     565"RHONE-ALPES";13 
     566"PROVENCE-ALPES-COTE-D'AZUR";14 
     567"FRANCHE-COMTE";15 
     568"BASSE-NORMANDIE";16 
     569"PAYS-DE-LA-LOIRE";17 
     570"AQUITAINE";18 
     571"CENTRE";19 
     572"CHAMPAGNE-ARDENNE";20 
     573"LANGUEDOC-ROUSSILLON";21 
     574"BRETAGNE";22 
     575*/ 
     576 
     577BEGIN; 
     578DROP TABLE IF EXISTS clc.clipped; 
     579CREATE TABLE clc.clipped AS 
     580SELECT intersected.clcgid, intersected.gid, code_00,the_geom 
     581FROM (SELECT clc.gid as clcgid, sub1.gid,code_00, ST_Multi(ST_Intersection(clc.the_geom, sub1.the_geom)) the_geom 
     582        FROM  clc.clc00_v2_europe clc  
     583        INNER JOIN ( 
     584                SELECT gid, c.the_geom FROM ccm21.catchments c where wso1_id IN ( 
     585                        SELECT wso1_id FROM ccm21.catchments c  
     586                        INNER JOIN (SELECT the_geom 
     587                                FROM france.region where reg_id=1) as sub 
     588                        ON ST_Contains(sub.the_geom,c.the_geom)) 
     589        )AS sub1 
     590        ON  ST_Intersects (sub1.the_geom,clc.the_geom) 
     591       )  AS intersected;      
     592ALTER TABLE clc.clipped ADD column id serial PRIMARY KEY; 
     593alter table clc.clipped add CONSTRAINT enforce_dims_the_geom CHECK (ndims(the_geom) = 2); 
     594alter table clc.clipped add  CONSTRAINT enforce_geotype_the_geom CHECK (geometrytype(the_geom) = 'MULTIPOLYGON'::text OR the_geom IS NULL); 
     595alter table clc.clipped add  CONSTRAINT enforce_srid_the_geom CHECK (srid(the_geom) = 3035); 
     596CREATE INDEX indexclc00clipped ON clc.clipped 
     597  USING GIST ( the_geom GIST_GEOMETRY_OPS );  
     598COMMIT; 
     599 
     600CREATE INDEX indexclipped 
     601  ON clc.clipped 
     602  USING btree 
     603  (gid); 
     604 
     605BEGIN; 
     606INSERT INTO clc.clipped  
     607        SELECT clc.gid as clcgid, sub1.gid,code_00, ST_Multi(ST_Intersection(clc.the_geom, sub1.the_geom)) the_geom 
     608                FROM  clc.clc00_v2_europe clc  
     609                INNER JOIN ( 
     610                        SELECT gid, c.the_geom FROM ccm21.catchments c where wso1_id IN ( 
     611                                SELECT wso1_id FROM ccm21.catchments c  
     612                                INNER JOIN (SELECT the_geom 
     613                                        FROM france.region where reg_id=2) as sub 
     614                                ON ST_Contains(sub.the_geom,c.the_geom)) 
     615                )AS sub1 
     616                ON  ST_Intersects (sub1.the_geom,clc.the_geom); 
     617COMMIT;          
     618 
     619BEGIN; 
     620INSERT INTO clc.clipped  
     621        SELECT clc.gid as clcgid, sub1.gid,code_00, ST_Multi(ST_Intersection(clc.the_geom, sub1.the_geom)) the_geom 
     622                FROM  clc.clc00_v2_europe clc  
     623                INNER JOIN ( 
     624                        SELECT gid, c.the_geom FROM ccm21.catchments c where wso1_id IN ( 
     625                                SELECT wso1_id FROM ccm21.catchments c  
     626                                INNER JOIN (SELECT the_geom 
     627                                        FROM france.region where reg_id=3) as sub 
     628                                ON ST_Contains(sub.the_geom,c.the_geom) 
     629                                --where c.gid not in (SELECT gid from clc.clipped) -- ralonge trop (on fera le tri à la fin) 
     630                                ) 
     631                )AS sub1 
     632                ON  ST_Intersects (sub1.the_geom,clc.the_geom); 
     633COMMIT;      -- 50 min 
     634 
     635-- MIDI-PYRENNEES 
     636BEGIN; 
     637INSERT INTO clc.clipped  
     638        SELECT clc.gid as clcgid, sub1.gid,code_00, ST_Multi(ST_Intersection(clc.the_geom, sub1.the_geom)) the_geom 
     639                FROM  clc.clc00_v2_europe clc  
     640                INNER JOIN ( 
     641                        SELECT gid, c.the_geom FROM ccm21.catchments c where wso1_id IN ( 
     642                                SELECT wso1_id FROM ccm21.catchments c  
     643                                INNER JOIN (SELECT the_geom 
     644                                        FROM france.region where reg_id=4) as sub 
     645                                ON ST_Contains(sub.the_geom,c.the_geom) 
     646                                --where c.gid not in (SELECT gid from clc.clipped) -- ralonge trop (on fera le tri à la fin) 
     647                                ) 
     648                )AS sub1 
     649                ON  ST_Intersects (sub1.the_geom,clc.the_geom); 
     650COMMIT;       
     651 
     652-- "POITOU-CHARENTES" 
     653BEGIN; 
     654INSERT INTO clc.clipped  
     655        SELECT clc.gid as clcgid, sub1.gid,code_00, ST_Multi(ST_Intersection(clc.the_geom, sub1.the_geom)) the_geom 
     656                FROM  clc.clc00_v2_europe clc  
     657                INNER JOIN ( 
     658                        SELECT gid, c.the_geom FROM ccm21.catchments c where wso1_id IN ( 
     659                                SELECT wso1_id FROM ccm21.catchments c  
     660                                INNER JOIN (SELECT the_geom 
     661                                        FROM france.region where reg_id=5) as sub 
     662                                ON ST_Contains(sub.the_geom,c.the_geom) 
     663                                ) 
     664                )AS sub1 
     665                ON  ST_Intersects (sub1.the_geom,clc.the_geom); 
     666COMMIT;    
     667 
     668 
     669-- "ALSACE";6 
     670BEGIN; 
     671INSERT INTO clc.clipped  
     672        SELECT clc.gid as clcgid, sub1.gid,code_00, ST_Multi(ST_Intersection(clc.the_geom, sub1.the_geom)) the_geom 
     673                FROM  clc.clc00_v2_europe clc  
     674                INNER JOIN ( 
     675                        SELECT gid, c.the_geom FROM ccm21.catchments c where wso1_id IN ( 
     676                                SELECT wso1_id FROM ccm21.catchments c  
     677                                INNER JOIN (SELECT the_geom 
     678                                        FROM france.region where reg_id=6) as sub 
     679                                ON ST_Contains(sub.the_geom,c.the_geom) 
     680                                ) 
     681                )AS sub1 
     682                ON  ST_Intersects (sub1.the_geom,clc.the_geom); 
     683COMMIT;    
     684 
     685-- "ILE-DE-FRANCE";7 
     686BEGIN; 
     687INSERT INTO clc.clipped  
     688        SELECT clc.gid as clcgid, sub1.gid,code_00, ST_Multi(ST_Intersection(clc.the_geom, sub1.the_geom)) the_geom 
     689                FROM  clc.clc00_v2_europe clc  
     690                INNER JOIN ( 
     691                        SELECT gid, c.the_geom FROM ccm21.catchments c where wso1_id IN ( 
     692                                SELECT wso1_id FROM ccm21.catchments c  
     693                                INNER JOIN (SELECT the_geom 
     694                                        FROM france.region where reg_id=7) as sub 
     695                                ON ST_Contains(sub.the_geom,c.the_geom) 
     696                                ) 
     697                )AS sub1 
     698                ON  ST_Intersects (sub1.the_geom,clc.the_geom); 
     699COMMIT;   
     700 
     701-- "NORD-PAS-DE-CALAIS";8 
     702 
     703BEGIN; 
     704INSERT INTO clc.clipped  
     705        SELECT clc.gid as clcgid, sub1.gid,code_00, ST_Multi(ST_Intersection(clc.the_geom, sub1.the_geom)) the_geom 
     706                FROM  clc.clc00_v2_europe clc  
     707                INNER JOIN ( 
     708                        SELECT gid, c.the_geom FROM ccm21.catchments c where wso1_id IN ( 
     709                                SELECT wso1_id FROM ccm21.catchments c  
     710                                INNER JOIN (SELECT the_geom 
     711                                        FROM france.region where reg_id=8) as sub 
     712                                ON ST_Contains(sub.the_geom,c.the_geom) 
     713                                ) 
     714                )AS sub1 
     715                ON  ST_Intersects (sub1.the_geom,clc.the_geom); 
     716COMMIT;   
     717 
     718--"HAUTE-NORMANDIE";9 
     719 
     720BEGIN; 
     721INSERT INTO clc.clipped  
     722        SELECT clc.gid as clcgid, sub1.gid,code_00, ST_Multi(ST_Intersection(clc.the_geom, sub1.the_geom)) the_geom 
     723                FROM  clc.clc00_v2_europe clc  
     724                INNER JOIN ( 
     725                        SELECT gid, c.the_geom FROM ccm21.catchments c where wso1_id IN ( 
     726                                SELECT wso1_id FROM ccm21.catchments c  
     727                                INNER JOIN (SELECT the_geom 
     728                                        FROM france.region where reg_id=9) as sub 
     729                                ON ST_Contains(sub.the_geom,c.the_geom) 
     730                                ) 
     731                )AS sub1 
     732                ON  ST_Intersects (sub1.the_geom,clc.the_geom); 
     733COMMIT;   
     734 
     735--"LIMOUSIN";10 
     736 
     737BEGIN; 
     738INSERT INTO clc.clipped  
     739        SELECT clc.gid as clcgid, sub1.gid,code_00, ST_Multi(ST_Intersection(clc.the_geom, sub1.the_geom)) the_geom 
     740                FROM  clc.clc00_v2_europe clc  
     741                INNER JOIN ( 
     742                        SELECT gid, c.the_geom FROM ccm21.catchments c where wso1_id IN ( 
     743                                SELECT wso1_id FROM ccm21.catchments c  
     744                                INNER JOIN (SELECT the_geom 
     745                                        FROM france.region where reg_id=10) as sub 
     746                                ON ST_Contains(sub.the_geom,c.the_geom) 
     747                                ) 
     748                )AS sub1 
     749                ON  ST_Intersects (sub1.the_geom,clc.the_geom); 
     750COMMIT;   
     751--"BOURGOGNE";11 
     752BEGIN; 
     753INSERT INTO clc.clipped  
     754        SELECT clc.gid as clcgid, sub1.gid,code_00, ST_Multi(ST_Intersection(clc.the_geom, sub1.the_geom)) the_geom 
     755                FROM  clc.clc00_v2_europe clc  
     756                INNER JOIN ( 
     757                        SELECT gid, c.the_geom FROM ccm21.catchments c where wso1_id IN ( 
     758                                SELECT wso1_id FROM ccm21.catchments c  
     759                                INNER JOIN (SELECT the_geom 
     760                                        FROM france.region where reg_id=11) as sub 
     761                                ON ST_Contains(sub.the_geom,c.the_geom) 
     762                                ) 
     763                )AS sub1 
     764                ON  ST_Intersects (sub1.the_geom,clc.the_geom); 
     765COMMIT;   
     766 
     767--"AUVERGNE";12 
     768 
     769BEGIN; 
     770INSERT INTO clc.clipped  
     771        SELECT clc.gid as clcgid, sub1.gid,code_00, ST_Multi(ST_Intersection(clc.the_geom, sub1.the_geom)) the_geom 
     772                FROM  clc.clc00_v2_europe clc  
     773                INNER JOIN ( 
     774                        SELECT gid, c.the_geom FROM ccm21.catchments c where wso1_id IN ( 
     775                                SELECT wso1_id FROM ccm21.catchments c  
     776                                INNER JOIN (SELECT the_geom 
     777                                        FROM france.region where reg_id=12) as sub 
     778                                ON ST_Contains(sub.the_geom,c.the_geom) 
     779                                ) 
     780                )AS sub1 
     781                ON  ST_Intersects (sub1.the_geom,clc.the_geom); 
     782COMMIT;   
     783 
     784--"RHONE-ALPES";13 
     785BEGIN; 
     786INSERT INTO clc.clipped  
     787        SELECT clc.gid as clcgid, sub1.gid,code_00, ST_Multi(ST_Intersection(clc.the_geom, sub1.the_geom)) the_geom 
     788                FROM  clc.clc00_v2_europe clc  
     789                INNER JOIN ( 
     790                        SELECT gid, c.the_geom FROM ccm21.catchments c where wso1_id IN ( 
     791                                SELECT wso1_id FROM ccm21.catchments c  
     792                                INNER JOIN (SELECT the_geom 
     793                                        FROM france.region where reg_id=13) as sub 
     794                                ON ST_Contains(sub.the_geom,c.the_geom) 
     795                                ) 
     796                )AS sub1 
     797                ON  ST_Intersects (sub1.the_geom,clc.the_geom); 
     798COMMIT;   
     799 
     800--"PROVENCE-ALPES-COTE-D'AZUR";14 
     801BEGIN; 
     802INSERT INTO clc.clipped  
     803        SELECT clc.gid as clcgid, sub1.gid,code_00, ST_Multi(ST_Intersection(clc.the_geom, sub1.the_geom)) the_geom 
     804                FROM  clc.clc00_v2_europe clc  
     805                INNER JOIN ( 
     806                        SELECT gid, c.the_geom FROM ccm21.catchments c where wso1_id IN ( 
     807                                SELECT wso1_id FROM ccm21.catchments c  
     808                                INNER JOIN (SELECT the_geom 
     809                                        FROM france.region where reg_id=14) as sub 
     810                                ON ST_Contains(sub.the_geom,c.the_geom) 
     811                                ) 
     812                )AS sub1 
     813                ON  ST_Intersects (sub1.the_geom,clc.the_geom); 
     814COMMIT;   
     815--"FRANCHE-COMTE";15 
     816BEGIN; 
     817INSERT INTO clc.clipped  
     818        SELECT clc.gid as clcgid, sub1.gid,code_00, ST_Multi(ST_Intersection(clc.the_geom, sub1.the_geom)) the_geom 
     819                FROM  clc.clc00_v2_europe clc  
     820                INNER JOIN ( 
     821                        SELECT gid, c.the_geom FROM ccm21.catchments c where wso1_id IN ( 
     822                                SELECT wso1_id FROM ccm21.catchments c  
     823                                INNER JOIN (SELECT the_geom 
     824                                        FROM france.region where reg_id=15) as sub 
     825                                ON ST_Contains(sub.the_geom,c.the_geom) 
     826                                ) 
     827                )AS sub1 
     828                ON  ST_Intersects (sub1.the_geom,clc.the_geom); 
     829COMMIT;   
     830--"BASSE-NORMANDIE";16 
     831BEGIN; 
     832INSERT INTO clc.clipped  
     833        SELECT clc.gid as clcgid, sub1.gid,code_00, ST_Multi(ST_Intersection(clc.the_geom, sub1.the_geom)) the_geom 
     834                FROM  clc.clc00_v2_europe clc  
     835                INNER JOIN ( 
     836                        SELECT gid, c.the_geom FROM ccm21.catchments c where wso1_id IN ( 
     837                                SELECT wso1_id FROM ccm21.catchments c  
     838                                INNER JOIN (SELECT the_geom 
     839                                        FROM france.region where reg_id=16) as sub 
     840                                ON ST_Contains(sub.the_geom,c.the_geom) 
     841                                ) 
     842                )AS sub1 
     843                ON  ST_Intersects (sub1.the_geom,clc.the_geom); 
     844COMMIT;   
     845--"PAYS-DE-LA-LOIRE";17 
     846BEGIN; 
     847INSERT INTO clc.clipped  
     848        SELECT clc.gid as clcgid, sub1.gid,code_00, ST_Multi(ST_Intersection(clc.the_geom, sub1.the_geom)) the_geom 
     849                FROM  clc.clc00_v2_europe clc  
     850                INNER JOIN ( 
     851                        SELECT gid, c.the_geom FROM ccm21.catchments c where wso1_id IN ( 
     852                                SELECT wso1_id FROM ccm21.catchments c  
     853                                INNER JOIN (SELECT the_geom 
     854                                        FROM france.region where reg_id=17) as sub 
     855                                ON ST_Contains(sub.the_geom,c.the_geom) 
     856                                ) 
     857                )AS sub1 
     858                ON  ST_Intersects (sub1.the_geom,clc.the_geom); 
     859COMMIT;   
     860--"AQUITAINE";18 
     861BEGIN; 
     862INSERT INTO clc.clipped  
     863        SELECT clc.gid as clcgid, sub1.gid,code_00, ST_Multi(ST_Intersection(clc.the_geom, sub1.the_geom)) the_geom 
     864                FROM  clc.clc00_v2_europe clc  
     865                INNER JOIN ( 
     866                        SELECT gid, c.the_geom FROM ccm21.catchments c where wso1_id IN ( 
     867                                SELECT wso1_id FROM ccm21.catchments c  
     868                                INNER JOIN (SELECT the_geom 
     869                                        FROM france.region where reg_id=18) as sub 
     870                                ON ST_Contains(sub.the_geom,c.the_geom) 
     871                                ) 
     872                )AS sub1 
     873                ON  ST_Intersects (sub1.the_geom,clc.the_geom); 
     874COMMIT;   
     875--"CENTRE";19 
     876BEGIN; 
     877INSERT INTO clc.clipped  
     878        SELECT clc.gid as clcgid, sub1.gid,code_00, ST_Multi(ST_Intersection(clc.the_geom, sub1.the_geom)) the_geom 
     879                FROM  clc.clc00_v2_europe clc  
     880                INNER JOIN ( 
     881                        SELECT gid, c.the_geom FROM ccm21.catchments c where wso1_id IN ( 
     882                                SELECT wso1_id FROM ccm21.catchments c  
     883                                INNER JOIN (SELECT the_geom 
     884                                        FROM france.region where reg_id=19) as sub 
     885                                ON ST_Contains(sub.the_geom,c.the_geom) 
     886                                ) 
     887                )AS sub1 
     888                ON  ST_Intersects (sub1.the_geom,clc.the_geom); 
     889COMMIT;   
     890--"CHAMPAGNE-ARDENNE";20 
     891BEGIN; 
     892INSERT INTO clc.clipped  
     893        SELECT clc.gid as clcgid, sub1.gid,code_00, ST_Multi(ST_Intersection(clc.the_geom, sub1.the_geom)) the_geom 
     894                FROM  clc.clc00_v2_europe clc  
     895                INNER JOIN ( 
     896                        SELECT gid, c.the_geom FROM ccm21.catchments c where wso1_id IN ( 
     897                                SELECT wso1_id FROM ccm21.catchments c  
     898                                INNER JOIN (SELECT the_geom 
     899                                        FROM france.region where reg_id=20) as sub 
     900                                ON ST_Contains(sub.the_geom,c.the_geom) 
     901                                ) 
     902                )AS sub1 
     903                ON  ST_Intersects (sub1.the_geom,clc.the_geom); 
     904COMMIT;   
     905--"LANGUEDOC-ROUSSILLON";21 
     906BEGIN; 
     907INSERT INTO clc.clipped  
     908        SELECT clc.gid as clcgid, sub1.gid,code_00, ST_Multi(ST_Intersection(clc.the_geom, sub1.the_geom)) the_geom 
     909                FROM  clc.clc00_v2_europe clc  
     910                INNER JOIN ( 
     911                        SELECT gid, c.the_geom FROM ccm21.catchments c where wso1_id IN ( 
     912                                SELECT wso1_id FROM ccm21.catchments c  
     913                                INNER JOIN (SELECT the_geom 
     914                                        FROM france.region where reg_id=21) as sub 
     915                                ON ST_Contains(sub.the_geom,c.the_geom) 
     916                                ) 
     917                )AS sub1 
     918                ON  ST_Intersects (sub1.the_geom,clc.the_geom); 
     919COMMIT;   
     920--"BRETAGNE";22 
     921BEGIN; 
     922INSERT INTO clc.clipped  
     923        SELECT clc.gid as clcgid, sub1.gid,code_00, ST_Multi(ST_Intersection(clc.the_geom, sub1.the_geom)) the_geom 
     924                FROM  clc.clc00_v2_europe clc  
     925                INNER JOIN ( 
     926                        SELECT gid, c.the_geom FROM ccm21.catchments c where wso1_id IN ( 
     927                                SELECT wso1_id FROM ccm21.catchments c  
     928                                INNER JOIN (SELECT the_geom 
     929                                        FROM france.region where reg_id=22) as sub 
     930                                ON ST_Contains(sub.the_geom,c.the_geom) 
     931                                ) 
     932                )AS sub1 
     933                ON  ST_Intersects (sub1.the_geom,clc.the_geom); 
     934COMMIT;   
     935}}} 
     936{{{ 
    540937#!html 
    541938<h2 style="color: red">TODO integrate the data in R </h2>