Changes between Version 31 and Version 32 of CCM2 download and load


Ignore:
Timestamp:
Apr 2, 2010 9:22:36 PM (15 years ago)
Author:
cedric
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • CCM2 download and load

    v31 v32  
    131131ALTER TABLE lakes SET SCHEMA ccm21; 
    132132}}} 
     133== How to explore the ccm database == 
     134 
     135which segments are upstream from the current segment ? 
     136 
     137{{{ 
     138-- Vilaine 
     139--- creating a second index to accelerate the requests 
     140CREATE INDEX indexriversegments_wso_id 
     141ON ccm21.riversegments 
     142  USING btree 
     143  (wso_id); 
     144 
     145select * from ccm21.riversegments where wso_id=291146; 
     146CREATE INDEX indexcatchments_wso_id 
     147ON ccm21.catchments 
     148  USING btree 
     149  (wso_id); 
     150select * from ccm21.catchments where wso_id=291146 and wso3_id=291828 ; 
     151-- extraction du chiffre immediatement à gauche du segment selectionné 
     152select * from ccm21.riversegments where wso_id=291146 order by cum_len desc; 
     153select round(pfafstette) from ccm21.riversegments where wso_id=291146 order by cum_len desc; 
     154select CAST(round(pfafstette) AS TEXT) from ccm21.riversegments where wso_id=291146 order by cum_len desc; 
     155select substring(CAST(round(pfafstette) AS TEXT),2,2) from ccm21.riversegments where wso_id=291146 order by cum_len desc; 
     156 
     157}}} 
     158 
     159 
     160{{{ 
     161Create an index on all wso1_id 
     162CREATE INDEX indexriversegments_wso1_id 
     163ON ccm21.riversegments 
     164  USING btree 
     165  (wso1_id); 
     166}}} 
     167 
     168{{{ 
     169Create an index on all wso1..._id 
     170CREATE INDEX indexcatchments_wso1_id 
     171ON ccm21.catchments 
     172  USING btree 
     173  (wso1_id); 
     174}}} 
     175 
     176{{{ 
     177-- segment mer vilaine 
     178select * from ccm21.riversegments where gid=234706; 
     179-- le rang de strahler est 6 
     180-- recupération de l'identifiant du bv correspondant 
     181select wso6_id from ccm21.riversegments r join ccm21.catchments c on r.wso1_id=c.wso1_id where r.gid=234706; 
     182-- 291146 
     183select wso1_id from ccm21.catchments c  where wso6_id = 291146; 
     184-- le m^ en plus compliqué 
     185select wso1_id from ccm21.catchments c  where wso6_id =  
     186select wso1_id from ccm21.catchments c  where wso6_id = 
     187        (select wso6_id from ccm21.riversegments r  
     188        join ccm21.catchments c on r.wso1_id=c.wso1_id  
     189        where r.gid=234706); 
     190-- liste de wso1_id 
     191-- extraction des segments contenus dans ces bassins 
     192select * from ccm21.riversegments where wso1_id in  
     193(select wso1_id from ccm21.catchments c  where wso6_id = 291146) order by cum_len desc; 
     194-- le m^ en plus compliqué 
     195select * from ccm21.riversegments where wso1_id in  
     196(select wso1_id from ccm21.catchments c  where wso6_id = 
     197        (select wso6_id from ccm21.riversegments r  
     198        join ccm21.catchments c on r.wso1_id=c.wso1_id  
     199        where r.gid=234706) 
     200) ; 
     201-- avec un cas adapté à chaque rang de strahler (marche pas) 
     202 
     203select CASE     WHEN r.strahler=5 THEN (select wso1_id from ccm21.catchments c  where wso5_id = 
     204                                        (select wso5_id from ccm21.riversegments r  
     205                                        join ccm21.catchments c on r.wso1_id=c.wso1_id  
     206                                        where r.gid=234706))  
     207                WHEN r.strahler=6 THEN (select wso1_id from ccm21.catchments c  where wso6_id = 
     208                                        (select wso6_id from ccm21.riversegments r  
     209                                        join ccm21.catchments c on r.wso1_id=c.wso1_id  
     210                                        where r.gid=234706)) 
     211                ELSE 0 
     212        END AS wso1_id 
     213        FROM ccm21.riversegments r 
     214        join ccm21.catchments c on r.wso1_id=c.wso1_id  
     215        where r.gid=234706;              
     216         
     217-- marche pas  
     218 
     219 
     220 
     221-- longueur de la cle pfstette 
     222select character_length(CAST(round(pfafstette) AS TEXT)) from ccm21.riversegments where gid=234706; --1 
     223-- selection de tous les noeuds de la Vilaine en amont du noeud choisi 
     224select gid from ccm21.riversegments 
     225        where wso_id=291146  
     226        and     CAST(substring(CAST(round(pfafstette) AS TEXT), 
     227                                1, 
     228                                1 -- voir ci dessus pour le calcul 
     229                                ) as numeric    )        
     230         
     231        >1              ; 
     232-- le même en plus compliqué 
     233select gid from ccm21.riversegments 
     234        where wso_id=291146  
     235        and     CAST(substring(CAST(round(pfafstette) AS TEXT), 
     236                                1, 
     237                                1 -- voir ci dessus pour le calcul 
     238                                ) as numeric    )        
     239         
     240        > (select pfafstette FROM ccm21.riversegments where gid=234706); 
     241 
     242-- le même en plus compliqué 
     243select gid from ccm21.riversegments 
     244        where wso_id=291146  
     245        and     CAST(substring(CAST(round(pfafstette) AS TEXT), 
     246                                1, 
     247                                (select character_length(CAST(round(pfafstette) AS TEXT)) from ccm21.riversegments where gid=234706) 
     248                                ) as numeric    )        
     249         
     250        > (select pfafstette FROM ccm21.riversegments where gid=234706); 
     251select max (strahler) from ccm21.riversegments -- 10 
     252-- le même en plus compliqué 
     253select gid from ccm21.riversegments 
     254        where wso1_id in  
     255        (select wso1_id from ccm21.catchments c  where wso6_id = 
     256                (select wso6_id from ccm21.riversegments r  
     257                join ccm21.catchments c on r.wso1_id=c.wso1_id  
     258                where r.gid=234706) 
     259        )  
     260        and     CAST(substring(CAST(round(pfafstette) AS TEXT), 
     261                                1, 
     262                                (select character_length(CAST(round(pfafstette) AS TEXT)) from ccm21.riversegments where gid=234706) 
     263                                ) as numeric    )        
     264         
     265        > (select pfafstette FROM ccm21.riversegments where gid=234706); 
     266 
     267-- le même en plus compliqué 
     268}}}