Não foi possível enviar o arquivo. Será algum problema com as permissões?
Diferenças

Diferenças

Aqui você vê as diferenças entre duas revisões dessa página.

Link para esta página de comparações

Ambos lados da revisão anterior Revisão anterior
Próxima revisão
Revisão anterior
software:art:curso:chuvapr [2007/12/12 00:34]
paulojus
software:art:curso:chuvapr [2007/12/12 00:56] (atual)
paulojus
Linha 1: Linha 1:
 ====== Exemplo: chuva no Paraná e Krigagem ====== ====== Exemplo: chuva no Paraná e Krigagem ======
  
-1. exemplo: Banco de Dados de Chuva no PR +Exemplo: Banco de Dados de Chuva no PR\\ 
-Banco existente no SGBD+Banco existente no SGBD\\
 (banco geográfico no formato TerraLib) (banco geográfico no formato TerraLib)
-## 
-2. Conectando e inspecionando o banco 
-## 
  
-para ilustrar o uso vamos fazer as operações no R via aRT +// 
-e acompanhar ​visualizando no terraView+// 
 +** 1. Conectando banco, ​visualizando no R e criando vistasno TV **
  
 +**//Fazer no TV://**
 +  - abrir o terraView e conectar ao banco "​chuvaPR"​
 +  - se existir alguma vista já criada, visualize!
  
-## +<​code ​R>
-1. Conectando banco, visualizando no e criando vistasno TV +
-## +
- +
-**** fazer no TV: +
-a. abrir o terraView e conectar ao banco "​chuvaPR"​ +
-## +
-b. se existir alguma vista já criada, visualize! +
 require(aRT) require(aRT)
 +</​code>​
  
-estabelecendo ​conexão com o DBMS (SGBD)+Estabelecendo ​conexão com o DBMS (SGBD) 
 +<code R>
 con <- openConn() con <- openConn()
 con con
 +</​code>​
  
-listando ​os bancos existentes no DBMS+Listando ​os bancos existentes no DBMS 
 +<code R>
 showDbs(con) showDbs(con)
 +</​code>​
  
-conectando ​a um banco da dados+Conectando ​a um banco da dados 
 +<code R>
 pr <- openDb(con, "​chuvaPR",​ update=T) pr <- openDb(con, "​chuvaPR",​ update=T)
 +</​code>​
  
-visualizando ​informações deste banco+Visualizando ​informações deste banco 
 +<code R>
 pr pr
 +</​code>​
  
-abrindo ​o layer com contorno do estado+Abrindo ​o layer com contorno do estado 
 +<code R>
 pr.l_contorno <- openLayer(pr,​ "​contorno"​) pr.l_contorno <- openLayer(pr,​ "​contorno"​)
 pr.l_contorno pr.l_contorno
 visualizando dado do layer visualizando dado do layer
 plot(pr.l_contorno) plot(pr.l_contorno)
 +</​code>​
  
-abrindo ​outro layer, das estações meteorológicas e dados de precipitação+Abrindo ​outro layer, das estações meteorológicas e dados de precipitação 
 +<code R>
 pr.l_dados <- openLayer(pr,​ "​dados"​) pr.l_dados <- openLayer(pr,​ "​dados"​)
 pr.l_dados pr.l_dados
 +</​code>​
  
-visualizando, sobrepondo ao gráfico anterior+Visualizando, sobrepondo ao gráfico anterior 
 +<code R>
 plot(pr.l_dados,​ add=T) plot(pr.l_dados,​ add=T)
 +</​code>​
  
-apagando ​uma "​vista"​ pré-existente do banco+Apagando ​uma "​vista"​ pré-existente do banco 
 +<code R>
 deleteView(pr,​ "​Parana"​) ​ type Y at the R prompt deleteView(pr,​ "​Parana"​) ​ type Y at the R prompt
 +</​code>​
  
-**** fazer no TV: +**//​Fazer ​no TV://** 
-reconectar o banco o TV e ver que a vista "​sumiu"​!!!+  ​- ​reconectar o banco o TV e ver que a vista "​sumiu"​!!!
  
- +Criando ​uma vista/tema com o contorno ... 
-criando ​uma vista/tema com o contorno ...+<code R>
 tema_pol <- createTheme(pr.l_contorno,​ "​contorno",​ view="​Parana"​) tema_pol <- createTheme(pr.l_contorno,​ "​contorno",​ view="​Parana"​)
 setVisual(tema_pol,​ visualPolygons()) setVisual(tema_pol,​ visualPolygons())
 +</​code>​
  
 ... e adicionando os pontos à vista já criada ... e adicionando os pontos à vista já criada
 +<code R>
 tema_dados <- createTheme(pr.l_dados,​ "​estacoes",​ view = "​Parana"​) tema_dados <- createTheme(pr.l_dados,​ "​estacoes",​ view = "​Parana"​)
 setVisual(tema_dados,​ visualPoints(pch=21,​ color="​black",​ size=5)) setVisual(tema_dados,​ visualPoints(pch=21,​ color="​black",​ size=5))
 +</​code>​
  
-**** fazer no TV: +**// Fazer no TV://** 
-reconectar o banco o TV e ver que "​apareceu"​ a vista agora chamada "​parana"​ !!!+  ​- ​reconectar o banco o TV e ver que "​apareceu"​ a vista agora chamada "​parana"​ !!!
  
-## +// 
-2. Operações da TL via aRT +// 
-## +** 2. Operações da TL via aRT ** 
-ilustrando ​como (algumas) operações da terraLib podem ser usadas+ 
 +Ilustrando ​como (algumas) operações da terraLib podem ser usadas 
 +<code R>
 getProj(pr.l_contorno) getProj(pr.l_contorno)
 getMetric(pr.l_contorno,​ "​area"​) getMetric(pr.l_contorno,​ "​area"​)
Linha 78: Linha 93:
 getDistance(pr.l_contorno,​ id=as.character(c(1,​3)),​ pr.l_dados) getDistance(pr.l_contorno,​ id=as.character(c(1,​3)),​ pr.l_dados)
 getDistance(pr.l_contorno,​ id=as.character(c(2,​3)),​ pr.l_dados) getDistance(pr.l_contorno,​ id=as.character(c(2,​3)),​ pr.l_dados)
 +</​code>​
  
 +//
 +//
 +** 3. Trazendo e manipulando dados e fazendo análises no R **
  
- +Abrindo ​o tema e trazendo dados para um objeto do R\\ 
-## +Duas possibilidades:​ 
-3. Trazendo e manipulando dados e fazendo análises no R +  ​- ​via "​theme"​ 
-## +<code R>
- +
-abrindo ​o tema e trazendo dados para um objeto do R +
- +
-duas possibilidades:​ +
-a. via "​theme"​+
 pr pr
 th_dados <- openTheme(pr,​ "​estacoes"​) th_dados <- openTheme(pr,​ "​estacoes"​)
Linha 94: Linha 108:
 dados <- getData(th_dados) dados <- getData(th_dados)
 head(dados) head(dados)
- +</​code>​ 
-b. via tabela do banco+  ​- ​via tabela do banco 
 +<code R>
 pr.l_dados pr.l_dados
 tb_dados <- openTable(pr.l_dados,​ "​t_dados"​) tb_dados <- openTable(pr.l_dados,​ "​t_dados"​)
Linha 103: Linha 118:
 pts <- getPoints(pr.l_dados) pts <- getPoints(pr.l_dados)
 dat[1:5,] dat[1:5,]
 +</​code>​
  
-trazendo ​o polígono com a borda do espaço para um objeto do R+Trazendo ​o polígono com a borda do espaço para um objeto do R 
 +<code R>
 pol <- getPolygons(pr.l_contorno) pol <- getPolygons(pr.l_contorno)
 pol pol
 plot(pol) plot(pol)
 +</​code>​
  
 Fazendo agora uma interpolação dos dados de chuva via geoestatística/​krigagem Fazendo agora uma interpolação dos dados de chuva via geoestatística/​krigagem
  
-carregando ​o pacote geoR+  * Carregando ​o pacote geoR 
 +<code R>
 require(geoR) require(geoR)
- +</​code>​ 
-convertendo ​dados os dados para o formato "​geodata"​ da geoR (conveniente) ​+  * Convertendo ​dados os dados para o formato "​geodata"​ da geoR (conveniente) ​ 
 +<code R>
 geo <- as.geodata(dados,​ data.col=2) geo <- as.geodata(dados,​ data.col=2)
 geo$borders <- pol@polygons[[1]]@Polygons[[1]]@coords geo$borders <- pol@polygons[[1]]@Polygons[[1]]@coords
 plot(geo) plot(geo)
- +</​code>​ 
-estimando ​parâmetros ​+  * Estimando ​parâmetros ​ 
 +<code R>
 ml <- likfit(geo, trend="​1st",​ ini=c(1000, 100)) um pouco demorado ml <- likfit(geo, trend="​1st",​ ini=c(1000, 100)) um pouco demorado
 definindo e visualizando grid de predição definindo e visualizando grid de predição
Linha 125: Linha 146:
 points(geo, bor=borders) points(geo, bor=borders)
 points(loc0,​ pch="​.",​ col=2) veja gráfico! points(loc0,​ pch="​.",​ col=2) veja gráfico!
-e fazendo krigagem+</​code>​ 
 +  * e fazendo krigagem 
 +<code R>
 kc <- krige.conv(geo,​ loc=loc0, krige=krige.control(obj=ml),​ bor=geo$borders) kc <- krige.conv(geo,​ loc=loc0, krige=krige.control(obj=ml),​ bor=geo$borders)
- +</​code>​ 
-visualizando no R+  ​* ​visualizando no R 
 +<code R>
 image(kc, col=terrain.colors(15),​ coords=parana$coords) ver gráfico image(kc, col=terrain.colors(15),​ coords=parana$coords) ver gráfico
 +</​code>​
  
 Preparing the predictions for aRT to transfer as a raster to the DBMS Preparing the predictions for aRT to transfer as a raster to the DBMS
 +<code R>
 georpred <- .prepare.graph.kriging(locations=loc0,​ borders=parana$borders,​ values=kc$pred) georpred <- .prepare.graph.kriging(locations=loc0,​ borders=parana$borders,​ values=kc$pred)
 names(georpred)[3] <- "​z"​ names(georpred)[3] <- "​z"​
 +</​code>​
  
-criando ​um novo layer no banco para armazenar o grid de predição+Criando ​um novo layer no banco para armazenar o grid de predição 
 +<code R>
 pr.l_pred <- createLayer(pr,​ "​predicao"​) pr.l_pred <- createLayer(pr,​ "​predicao"​)
 addRaster(pr.l_pred,​ georpred) addRaster(pr.l_pred,​ georpred)
 +</​code>​
  
-checking ​the current status of the DB+Checking ​the current status of the DB 
 +<code R>
 pr pr
 +</​code>​
  
-**** fazer no TV: +**// Fazer no TV://** 
-reconectar o banco o TV e ver que um novo layer foi criado +  ​- ​reconectar o banco o TV e ver que um novo layer foi criado
  
 Optional : setting to a TV view Optional : setting to a TV view
 +<code R>
 th <- createTheme(pr.l_pred,​ "​raster",​ view="​parana"​) th <- createTheme(pr.l_pred,​ "​raster",​ view="​parana"​)
 setVisual(th,​ visualRaster(color = terrain.colors(15)),​ mode="​r"​) setVisual(th,​ visualRaster(color = terrain.colors(15)),​ mode="​r"​)
 pr pr
 +</​code>​
  
-**** fazer no TV: +**// Fazer no TV://** 
-reconectar o banco o TV e ver que um novo tema foi adicionado a vista +  ​- ​reconectar o banco o TV e ver que um novo tema foi adicionado a vista 
-visualize!!!! +  ​- ​visualize!!!!
  
-## 
-Adicionando uma nova coluna (com predições) à tabela de dados 
-## 
  
-para exemplicifar ​isto vamos fazer a krigagem nos pontos onde há dados+// 
 +// 
 +** 4. Adicionando uma nova coluna (com predições) à tabela de dados **\\ 
 +Para exemplificar ​isto vamos fazer a krigagem nos pontos onde há dados 
 +<code R>
 kc0 <- krige.conv(geo,​ loc=geo$coords,​ krige=krige.control(obj=ml),​ borders=NULL) kc0 <- krige.conv(geo,​ loc=geo$coords,​ krige=krige.control(obj=ml),​ borders=NULL)
 prs <- data.frame(id=rownames(geo$coords),​ pred=kc0$pred) prs <- data.frame(id=rownames(geo$coords),​ pred=kc0$pred)
 createColumn(tb_dados,​ "​preds",​ type="​numeric"​) createColumn(tb_dados,​ "​preds",​ type="​numeric"​)
 updateColumns(tb_dados,​ prs) updateColumns(tb_dados,​ prs)
 +</​code>​
  
 veja o novo status da tabela veja o novo status da tabela
 +<code R>
 tb_dados tb_dados
 +</​code>​
  
  
-*** fazer no TV: +**//​Fazer ​no TV://** 
-reconectar o banco e ver que há agora uma nova tabela no layer de dados+  ​- ​reconectar o banco e ver que há agora uma nova tabela no layer de dados
  
-## +// 
-4. Some plots +// 
-##+** 5. Some plots **
  
 Plotting directly from the data-base (not using R objects) Plotting directly from the data-base (not using R objects)
 +<code R>
 plot(pr.l_pred,​ col=terrain.colors(15)) plot(pr.l_pred,​ col=terrain.colors(15))
 plot(pr.l_dados,​ add=T) plot(pr.l_dados,​ add=T)
 plot(pr.l_contorno,​ add=T) veja a figura! plot(pr.l_contorno,​ add=T) veja a figura!
 +</​code>​
 +
  
-## 
 Deletando um layer Deletando um layer
- +<code R> 
-deleteLayer(con,​ "​pr.l_pred"​) +deleteLayer(con,​ "​pr.l_pred"​) 
 +</​code>​
  
  

QR Code
QR Code software:art:curso:chuvapr (generated for current page)