Changes between Version 31 and Version 32 of CCM


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

--

Legend:

Unmodified
Added
Removed
Modified
  • CCM

    v31 v32  
    110110 
    111111[[Image(source:data/Docs/trac/Longueur des tronçons CCM par bassin.jpeg,450px)]] 
    112 == How to explore the ccm database == 
    113112 
    114 which segments are upstream from the current segment ? 
    115  
    116 {{{ 
    117 -- Vilaine 
    118 --- creating a second index to accelerate the requests 
    119 CREATE INDEX indexriversegments_wso_id 
    120 ON ccm21.riversegments 
    121   USING btree 
    122   (wso_id); 
    123  
    124 select * from ccm21.riversegments where wso_id=291146; 
    125 CREATE INDEX indexcatchments_wso_id 
    126 ON ccm21.catchments 
    127   USING btree 
    128   (wso_id); 
    129 select * from ccm21.catchments where wso_id=291146 and wso3_id=291828 ; 
    130 -- extraction du chiffre immediatement à gauche du segment selectionné 
    131 select * from ccm21.riversegments where wso_id=291146 order by cum_len desc; 
    132 select round(pfafstette) from ccm21.riversegments where wso_id=291146 order by cum_len desc; 
    133 select CAST(round(pfafstette) AS TEXT) from ccm21.riversegments where wso_id=291146 order by cum_len desc; 
    134 select substring(CAST(round(pfafstette) AS TEXT),2,2) from ccm21.riversegments where wso_id=291146 order by cum_len desc; 
    135  
    136 }}} 
    137  
    138  
    139 {{{ 
    140 Create an index on all wso1_id 
    141 CREATE INDEX indexriversegments_wso1_id 
    142 ON ccm21.riversegments 
    143   USING btree 
    144   (wso1_id); 
    145 }}} 
    146  
    147 {{{ 
    148 Create an index on all wso1..._id 
    149 CREATE INDEX indexcatchments_wso1_id 
    150 ON ccm21.catchments 
    151   USING btree 
    152   (wso1_id); 
    153 }}} 
    154  
    155 {{{ 
    156 -- segment mer vilaine 
    157 select * from ccm21.riversegments where gid=234706; 
    158 -- le rang de strahler est 6 
    159 -- recupération de l'identifiant du bv correspondant 
    160 select wso6_id from ccm21.riversegments r join ccm21.catchments c on r.wso1_id=c.wso1_id where r.gid=234706; 
    161 -- 291146 
    162 select wso1_id from ccm21.catchments c  where wso6_id = 291146; 
    163 -- le m^ en plus compliqué 
    164 select wso1_id from ccm21.catchments c  where wso6_id =  
    165 select wso1_id from ccm21.catchments c  where wso6_id = 
    166         (select wso6_id from ccm21.riversegments r  
    167         join ccm21.catchments c on r.wso1_id=c.wso1_id  
    168         where r.gid=234706); 
    169 -- liste de wso1_id 
    170 -- extraction des segments contenus dans ces bassins 
    171 select * from ccm21.riversegments where wso1_id in  
    172 (select wso1_id from ccm21.catchments c  where wso6_id = 291146) order by cum_len desc; 
    173 -- le m^ en plus compliqué 
    174 select * from ccm21.riversegments where wso1_id in  
    175 (select wso1_id from ccm21.catchments c  where wso6_id = 
    176         (select wso6_id from ccm21.riversegments r  
    177         join ccm21.catchments c on r.wso1_id=c.wso1_id  
    178         where r.gid=234706) 
    179 ) ; 
    180 -- avec un cas adapté à chaque rang de strahler (marche pas) 
    181  
    182 select CASE     WHEN r.strahler=5 THEN (select wso1_id from ccm21.catchments c  where wso5_id = 
    183                                         (select wso5_id from ccm21.riversegments r  
    184                                         join ccm21.catchments c on r.wso1_id=c.wso1_id  
    185                                         where r.gid=234706))  
    186                 WHEN r.strahler=6 THEN (select 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                 ELSE 0 
    191         END AS wso1_id 
    192         FROM ccm21.riversegments r 
    193         join ccm21.catchments c on r.wso1_id=c.wso1_id  
    194         where r.gid=234706;              
    195          
    196 -- marche pas  
    197  
    198  
    199  
    200 -- longueur de la cle pfstette 
    201 select character_length(CAST(round(pfafstette) AS TEXT)) from ccm21.riversegments where gid=234706; --1 
    202 -- selection de tous les noeuds de la Vilaine en amont du noeud choisi 
    203 select gid from ccm21.riversegments 
    204         where wso_id=291146  
    205         and     CAST(substring(CAST(round(pfafstette) AS TEXT), 
    206                                 1, 
    207                                 1 -- voir ci dessus pour le calcul 
    208                                 ) as numeric    )        
    209          
    210         >1              ; 
    211 -- le même en plus compliqué 
    212 select gid from ccm21.riversegments 
    213         where wso_id=291146  
    214         and     CAST(substring(CAST(round(pfafstette) AS TEXT), 
    215                                 1, 
    216                                 1 -- voir ci dessus pour le calcul 
    217                                 ) as numeric    )        
    218          
    219         > (select pfafstette FROM ccm21.riversegments where gid=234706); 
    220  
    221 -- le même en plus compliqué 
    222 select gid from ccm21.riversegments 
    223         where wso_id=291146  
    224         and     CAST(substring(CAST(round(pfafstette) AS TEXT), 
    225                                 1, 
    226                                 (select character_length(CAST(round(pfafstette) AS TEXT)) from ccm21.riversegments where gid=234706) 
    227                                 ) as numeric    )        
    228          
    229         > (select pfafstette FROM ccm21.riversegments where gid=234706); 
    230 select max (strahler) from ccm21.riversegments -- 10 
    231 -- le même en plus compliqué 
    232 select gid from ccm21.riversegments 
    233         where wso1_id in  
    234         (select wso1_id from ccm21.catchments c  where wso6_id = 
    235                 (select wso6_id from ccm21.riversegments r  
    236                 join ccm21.catchments c on r.wso1_id=c.wso1_id  
    237                 where r.gid=234706) 
    238         )  
    239         and     CAST(substring(CAST(round(pfafstette) AS TEXT), 
    240                                 1, 
    241                                 (select character_length(CAST(round(pfafstette) AS TEXT)) from ccm21.riversegments where gid=234706) 
    242                                 ) as numeric    )        
    243          
    244         > (select pfafstette FROM ccm21.riversegments where gid=234706); 
    245  
    246 -- le même en plus compliqué 
    247 }}}