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