Changes between Version 41 and Version 42 of import layers postgis


Ignore:
Timestamp:
Aug 23, 2018 1:25:53 PM (7 years ago)
Author:
maria
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • import layers postgis

    v41 v42  
    595595||75270||Lis e Ribeiras Costeiras||t||0101000020B30E000000E78C289886F1C00070F085892BD740||8.23462515206324|| 
    596596 
    597 The target 75270 is the largest flow of this basin 
     597The target 75270 is the largest flow of this basin[[BR]] 
    598598Be careful! The target and source attributes are calculating randomly (so this example can be a different number for you)  
    599599 
    600 [[Image(source:eda/data/Docs/trac/sudoang/lis_ribeiras_example.png, 300px)]][[BR]] 
    601  
    602 We select everything in basin 75270 
     600[[Image(source:eda/data/Docs/trac/sudoang/lis_ribeiras_example.png, 200px)]][[BR]] 
     601 
     602We select everything in basin 75270[[BR]] 
    603603The following function (recusrsive) selects everyting in the basin by a recursive query, using source and target created by the pg_routing algorythm (it is much quicker than a spatial recursive) 
    604604 
     
    656656}}} 
    657657 
    658 Different options to calculate topology 
     658Different options to calculate topology: 
     659 -- For our example "Lis e Ribeiras Costeiras", in the largest flow "75270" 
    659660 
    660661{{{#!sql 
     
    665666UPDATE portugal.rivers set chemin=get_path(75270,u.source) from portugal.upstream_segments(75270) u 
    666667where rivers.source = u.source; -- 5:13 
     668}}} 
     669 
     670 -- Since this works, we use the second option to calculate topology in each basin (that are ordered by north/south) 
     671 
     672{{{#!sql 
     673--select portugal.get_path(target, source) from portugal.rivers where nome = 'Minho';--Rivers in Spain 
     674select portugal.get_path(target, source) from portugal.rivers where nome = 'Ancora e Ribeiras Costeiras';--37.4 secs 
     675--select portugal.get_path(target, source) from portugal.rivers where nome = 'Lima';--Target outside the basin 
     676select portugal.get_path(target, source) from portugal.rivers where nome = 'Neiva e Ribeiras Costeiras';--01:20 min 
     677select portugal.get_path(target, source) from portugal.rivers where nome = 'Cávado e Ribeiras Costeiras';--07:46 min 
     678select portugal.get_path(target, source) from portugal.rivers where nome = 'Ave';--06:29 min 
     679select portugal.get_path(target, source) from portugal.rivers where nome = 'Leça e Ribeiras Costeiras';--01:30 min 
     680select portugal.get_path(target, source) from portugal.rivers where nome = 'Douro';-- 
     681select portugal.get_path(target, source) from portugal.rivers where nome = 'Vouga e Ribeiras Costeiras';-- 
     682select portugal.get_path(target, source) from portugal.rivers where nome = 'Mondego';-- 
     683select portugal.get_path(target, source) from portugal.rivers where nome = 'Lis e Ribeiras Costeiras';-- 
     684select portugal.get_path(target, source) from portugal.rivers where nome = 'Ribeiras do Oeste';-- 
     685select portugal.get_path(target, source) from portugal.rivers where nome = 'Tejo';-- 
     686select portugal.get_path(target, source) from portugal.rivers where nome = 'Sado';-- 
     687select portugal.get_path(target, source) from portugal.rivers where nome = 'Ribeiras do Alentejo';-- 
     688select portugal.get_path(target, source) from portugal.rivers where nome = 'Mira';-- 
     689select portugal.get_path(target, source) from portugal.rivers where nome = 'Ribeiras do Algarve';-- 
     690select portugal.get_path(target, source) from portugal.rivers where nome = 'Arade';-- 
     691select portugal.get_path(target, source) from portugal.rivers where nome = 'Guadiana';-- 
     692}}} 
     693 
     694 -- May be we can use the third option to calculate topology at the same time, but we have not tried yet 
     695 
     696{{{#!sql 
     697UPDATE portugal.rivers set chemin=get_path(u.target,u.source) from portugal.upstream_segments(target) u 
     698where rivers.target = u.target, rivers.source = u.source; -- could it work for all basins at the same time? 
    667699}}} 
    668700 
     
    719751select portugal.write_chemin('Lis e Ribeiras Costeiras'); 
    720752select * from portugal.downstream_points where nome = 'Lis e Ribeiras Costeiras'; 
    721 }}} 
     753 
     754-- For the rest of basins (except Minho and Lima for the moment) 
     755select portugal.write_chemin('Neiva e Ribeiras Costeiras' ,'Cávado e Ribeiras Costeiras','Ave', 
     756        'Leça e Ribeiras Costeiras','Douro','Vouga e Ribeiras Costeiras','Mondego','Lis e Ribeiras Costeiras' 
     757        'Ribeiras do Oeste','Tejo','Sado','Ribeiras do Alentejo','Mira','Ribeiras do Algarve','Arade'); 
     758}}}