Não foi possível enviar o arquivo. Será algum problema com as permissões?
Essa é uma revisão anterior do documento!
Relatório de discussão de problemas ligados ao banco do Saudavel
- Diversos problemas relatados ao Pedro
- Decisões:
- Simone vai criar um banco light a partir do atual e ver se o problema persiste
- Fazer a " duplicação" do layer armadilha via aRT e R ao invés de shape
- aparente problema na TV, com nome de variáveis, exportando para shape. Mesmo o .dbf mostra nome cortado. mistério: pq no aRT aparece correto na tabela depois de
addShape()
- Inconsistência de dados de uma armadilha:
- Durante as analises identificamos um problema com a armadilha: DI403 que aparentemente dever ser excluida do banco. Basicamente: existe dados (apenas 1 coleta e 3 NA's) para esta armadilha mas nao existem coordenadas.
> a geometria deste objeto nao esta no banco de dados. o layer possui apenas 564 pontos: > Object of class aRTlayer > Layer: "LAYER_ARMADILHAS" > Database: "saudavel" > Number of points: 564 <<<<<<<<<<<<<<<<<<<<<<<<<<< > Projection Name: "UTM" > Projection Datum: "SAD69" > Tables: > "ARMADILHAS": static > "CARACTERISTICAS_LUGAR": dynattr > "COLETAS": dynattr > "media_layer_24": media > > no banco também esta assim: > mysql> select count(*) from TE_POINTS_ARMADILHAS; | count(*) | > +----------+ > | 564 | > +----------+ > 1 row in set (0.00 sec) > a terralib nao impede isso de ocorrer. isto me parece ser um problema de > banco, o dado foi removido acidentalmente, ou talvez nao tenha sido sequer adicionado. > evidencia: nesta tabela de geometria, a pesar dela possuir apenas 564 > elementos, o contador de ID é 669, o que significa que ja foram inseridos 669 > elementos, e, portanto, ja foram removidos 669-564=105 pontos da tabela. a > chance de um erro ter ocorrido é relativamente alta, uma vez que o trabalho > de inserir estes dados no banco é manual. >> require(aRT) >> con <- openConn() >> db <- openDb(con,"saudavel", update=TRUE) >> la <- openLayer(db, "LAYER_ARMADILHAS") >> >> ## para pontos recuperamos 564 >> pts <- getPoints(la) >> dim(pts) ## resposta: 564 e nao 565 como deveria ser...!!! >> sum(pts$ID == "DI403") ## nao aparece esta armadilha... >> >> ## mas na tabela vem 565 (como deveria ser!) >> tb <- openTable(la, "COLETAS") >> aed <- getData(tb)[c(2,3,9)] >> dim(aed) ## note que aqui é 565 >> "DI403" %in% aed[,1] ## e esta armadilha aparece! >> with(aed, table(COD_ARMADILHA))["DI403"] >> ## veja isto: >>> arma <- split(aed, aed$COD) >>> arma[["DI403"]] >> COD_ARMADILHA DATA_COLETA NRO_OVOS >> 11087 DI403 2005-11-01 362 >> 11652 DI403 2005-11-29 NA >> 12217 DI403 2005-12-27 NA >> 12782 DI403 2006-01-24 NA4. Inconsistência de Datas
- identificamos um problema com a data, segue abaixo o código:
require(aRT) con <- openConn() db <- openDb(con,"saudavel", update=TRUE) la <- openLayer(db, "LAYER_ARMADILHAS") tb <- openTable(la, "COLETAS") aed <- getData(tb) aed$DATA <- as.Date(aed$DATA) dtu <- sort(unique(aed$DA)) diff(dtu) Time differences in days [1] 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 [38] 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 [75] 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 [112] 7 7 7 7 7 1 6 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 > dtu[diff(dtu) < 7] [1] "2006-05-23" "2006-05-24"