wiki:Model Results Basque river basins

back to the first page ..

##Crear SQL file de la capa shp ccm_tramos donde se especifica la correlación de cada segmento del ccm con las Unidades Hidrograficas de Euskadi

##Inicio; Simbolo del sistema; cd pegar ruta de la capa

cd C:\workspace_Aizko\
C:\"Archivos de programa"\PostgreSQL\8.4\bin\shp2pgsql -s 3035 -c -g the_geom -W LATIN1 -I ccm_tramos.shp ccm_tramos > ccm_tramos.sql
C:\"Archivos de programa"\PostgreSQL\8.4\bin\psql -d eda2.0 -h localhost -U postgres -p 5432 -f ccm_tramos.sql 

##En pgAdmin; query Editor SQL

#La tabla añadida aparece en la BD EDA2.0, esquemas, public, pasarlo a la carpeta 'ccm21' #

ALTER TABLE ccm_tramos SET SCHEMA ccm21;
ALTER TABLE ccm21.ccm_tramos rename to riversegments_basquebasins;

select count(wso1_id) as number, wso1_id from ccm21.riversegments_basquebasins group by wso1_id order by number;
select * from ccm21.riversegments_basquebasins where wso1_id='427796'; 

---Eliminar un dato repetido
delete from ccm21.riversegments_basquebasins where gid='2035';

---Crear primary key
ALTER TABLE ccm21.riversegments_basquebasins drop constraint ccm_tramos_pkey;
ALTER TABLE ccm21.riversegments_basquebasins ADD CONSTRAINT  pk_wso1id PRIMARY KEY (wso1_id); 

---Cambiar tramo de Baias a la Unidad Hidrografica Ibaizabal
select * from ccm21.riversegments_basquebasins where wso1_id in('429836');
update ccm21.riversegments_basquebasins set unidad_hid='IBAIZABAL' where wso1_id in('429836'); 

---Crear nueva columna 'emp' = true las cuencas objeto de aplicación del modelo
alter table ccm21.riversegments_basquebasins add column emp boolean;
update ccm21.riversegments_basquebasins set emp='false' where unidad_hid in ('KARRANTZA','AGUERA','BIDASOA','OMECILLO')
update ccm21.riversegments_basquebasins set emp='true' where emp is null; 

---Comprobar que se ha hecho bien
select * from ccm21.riversegments_basquebasins limit 5;
select * from ccm21.riversegments_basquebasins where unidad_hid='BAIAS';
---Integrar la capa creada en Eclipse
---En 'EDA/EDACCM/sql/main_CCM_Spain.R' están todas las tablas que queremos integrar 

#Load the table riversegments_basquebasins
source("EDACCM/init.r")
basquebasins=new("BaseEda",
                baseODBC="baseODBCccm",
                schema="ccm21",
                table="riversegments_basquebasins",
                prkey="wso1_id")
basquebasins<-loaddb(basquebasins)
save(basquebasins,file=paste(datawd,"/dataEDAccm/basquebasins.RData",sep=""))

---En 'EDA/EDACCM/prediction_1_dbeel_ok.R' run all until
---line 157 source("prediction_riverwidth_writedatabase_Basque.R")

---En 'EDA/EDACCM/prediction_riverwidh_basque.R' run all 

{{
load(file=str_c(datawd,"/dataEDAccm/basquebasins",".Rdata"))
bb<-basquebasins@data
SEBasin<-array(0,c(length(levels(as.factor(bb$unidad_hid[bb$emp==1]))),5))
colnames(SEBasin)<-c("Basin","Nb_YE","Nb_SE","Water_surface","Nb_YE/100m2")
for(i in 1:length(levels(as.factor(bb$unidad_hid[bb$emp==1])))){
        SEBasin[i,1]<-levels(as.factor(bb$unidad_hid[bb$emp==1]))[i]
        SEBasin[i,2]<-round(sum(ccm$nb_eel_per_segment[ccm$wso1_id%in%bb$wso1_id[bb$unidad_hid==SEBasin[i,1]]],na.rm=T),0)
        SEBasin[i,3]<-round(sum(ccm$nb_eel_per_segment[ccm$wso1_id%in%bb$wso1_id[bb$unidad_hid==SEBasin[i,1]]],na.rm=T)*0.05,0)
        SEBasin[i,4]<-round(sum(ccm$riverareakm[ccm$wso1_id%in%bb$wso1_id[bb$unidad_hid==SEBasin[i,1]]]),3)
        SEBasin[i,5]<-round(100*sum(ccm$nb_eel_per_segment[ccm$wso1_id%in%bb$wso1_id[bb$unidad_hid==SEBasin[i,1]]])/sum(ccm$riverarea[ccm$wso1_id%in%bb$wso1_id[bb$unidad_hid==SEBasin[i,1]]]),3)
}
SEBasin<-as.data.frame(SEBasin)
SEBasin
write.table(SEBasin,file=paste(datawd,"/dataEDAccm/SEBasin.csv",sep=""),sep=";",row.names=F,col.names=T)
}}
---En pgAdmin crear tabla.csv con los resultados por cada cuenca
CREATE TABLE ccm21.results_basquebasins_13jun2012
(
  BASIN character varying (25),
  Nb_YE numeric,
  Nb_SE numeric,
  Water_surfa numeric,
  Nb_YE_100m2 numeric
);

copy ccm21.results_basquebasins_13jun2012 from 'C:/workspace_Aizko/EDAData/dataEDAccm/SEBasin.csv' with csv delimiter as ';' header; 

---Inicio, Símbolo del sistema, cd pegar la ruta de la capa y crear .sql
cd C:\workspace_Aizko\QGIS\Unidad_Hid
C:\workspace_Aizko\QGIS\Unidad_Hid>C:\"Archivos de programa"\PostgreSQL\8.4\bin\shp2pgsql -s 3035 -c -g the_geom -W LATIN1 -I cuencas.shp ccm_tramos > cuencas.sql
C:\"Archivos de programa"\PostgreSQL\8.4\bin\psql -d eda2.0 -h localhost -U postgres -p 5432 -f cuencas_basque.sql 

--Crear schema nuevo en pgAdmin, añadir capa shp de cuencas, ponerle primary key, moverlo a nuestro schema y añadirle la geometria haciendo join con las dos capas basándonos en las unidades hidrográficas

create schema basque_emp;
ALTER TABLE cuencas SET SCHEMA basque_emp;
ALTER TABLE basque_emp.cuencas drop constraint cuencas_pkey;
ALTER TABLE basque_emp.cuencas ADD CONSTRAINT  pk_UH PRIMARY KEY (unidad_hid); 

ALTER TABLE ccm21.results_basquebasins_13jun2012 SET SCHEMA basque_emp;

select addgeometrycolumn('basque_emp','results_basquebasins_13jun2012','the_geom',3035,'MULTIPOLYGON',2);
select * from basque_emp.cuencas limit 2;
select * from basque_emp.results_basquebasins_13jun2012;
update basque_emp.results_basquebasins_13jun2012 set the_geom=cuencas.the_geom from basque_emp.cuencas where cuencas.unidad_hid=results_basquebasins_13jun2012.basin;--11 lines

How to save the schema basque_emp

##Inicio; Simbolo del sistema; cd pegar ruta de la capa

cd C:\workspace_Aizko\
C:\"Archivos de programa"\PostgreSQL\8.4\bin\pg_dump  -U postgres -p 5432 --schema basque_emp --verbose eda2.0> eda2_basque_emp.sql

How to save the table

cd C:\workspace_Aizko\
C:\"Archivos de programa"\PostgreSQL\8.4\bin\pg_dump  -U postgres -p 5432 -t basque_emp.results_basquebasins_13jun2012 eda2.0> results_basquebasins_13jun2012.sql
Last modified 13 years ago Last modified on Jun 14, 2012 10:52:08 AM