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

Essa é uma revisão anterior do documento!


aRT Development Page

aRT Development Page

Team: Pedro, PJ, Eduardo Sant'ana

This is a development page, with ongoing work and future functionalities for the package. For a description of aRT see the webpage.

Ongoing Work

para a próxima versão (1.6-2)

  • strip aRT.dll (windows)
  • colocar o libmysql.dll em libs (windows) skosta@gmail.com: Quando se instala o mysql, ele instala a biblioteca que vem com ele, e nós temos que atualizar a biblioteca do mysql por aquela que foi compilado para gcc.
  • compilar o aRT com a versao nova da terralib (Release 3.2.1, October 24th)
  • compilar o aRT e executar o check com a nova versão do R (2.8-X)
  • getRelation(lpred, c("within", "touches"), lpolys)) e ver outras funcoes que possam usar a mesma estrategia
  • adicionar o cvs no apt das dependencias do script de instalação
  • erro MySQL windows quando executa o script recife.R: "too long …". ver problema e relatar para o pessoal da TerraLib, antes da nova versao (15/out).
  • Postgre commandos ⇒ LEG
  • colocar debs na pagina ⇒ gerar debs ⇒ LEG
  • atualizar esta pagina
  • manipulacao de celulas

Password

PJ: será que o print da classe aRTconn poderia "esconder" a senha (talvez possa ter um argumento com default pass=FALSE)

Pedro: O print agora nao mostra mais a senha, mostra apenas um Yes ou No, indicando se a conexao usa ou nao senha. Se o usuario tem necessidade de saber a senha, ele pode verificar o comando que foi usado para estabelecer a conexao.

getSetOperation

PJ: na documentacao esta': "id: The ids which to be used in the operation. 'difference' and 'xor' use only two ids. 'union' and 'intersection' have as default all objects of the layer." mas o argumentoi id é origatorio no codigo:

  union <- getSetOperation(ldistricts, "union")
  Erro em .aRTcall(object, "cppGetSetOperation", operation = operation,  :
  argumento "id" ausente, sem padrão

Pedro: Já está funcionando na nova versão. Paulo, me passe o seu script e dados para eu testar.

simplify

PJ: ?simplify abre documentacao de aRTgeometry, deve ser um recorta e cola para eduitar depois? o que simpify() faz? Outra cooisa : rodando os script meso e neigh-parana da pagina abro as visualizacoes dos poligonos no TV e nao consigo ver as cores das legendas – aparece tudo com cor s;olida do poligono será que estou fazendo algo errado (desmarquei todas e marquei só a que queria ver e mando desenhar)

Pedro: O simplify é uma funcao da classe aRTgeometry. ela simplifica poligonos em memoria, removendo pontos de acordo com limites de distancia e angulacao máximas. esta foi a primeira funcao que implementei que funciona com objetos em memoria, e nao armazenados no banco. FIXME preciso fazer a documentacao no man e elaborar um exemplo.

legendas

PJ: rodando os script meso e neigh-parana da pagina abro as visualizacoes dos poligonos no TV e nao consigo ver as cores das legendas – aparece tudo com cor s;olida do poligono. será que estou fazendo algo errado (desmarquei todas e marquei só a que queria ver e mando desenhar)

getGeometry

PJ: Typo nos docs: Usage:\S4method{getGeometry}{aRTgeometry}(object) e nao consigo rodar:

getGeometry(ldistricts)
Erro em function (classes, fdef, mtable)  :
  unable to find an inherited method for function "getGeometry", for signature "aRTlayer"
o que parece inconsistente com a documentacao de getSetOperation() que tem exemplos com getSetMetric() (resquicio de versao anterior??)

Pedro: a função getGeometry é da classe aRTgeometry, e não da classe aRTlayer. A classe aRTlayer tem os métodos getPoints, getPolygons e getLines. Isto porque um aRTlayer suporta mais de um tipo de geometria, enquanto que um aRTgeometry possui apenas uma geometria. A documentacao de getSetOperation estava errada, e já foi substituida para getSetMetric(layer, "union").

Probably Implemented, but not Checked

  1. when adding/reading data to a table, do not fill missing values (NA).
  2. openTheme(db, "theme") (directly from the database, instead of the layer)
  3. temporal slicing?
  4. reload(db) to reconnect to the database, keeping consistent all children (layers, tables)
  5. aRTvisual class

Scripts com exemplos, dúvidas e problemas

  1. List of Scripts about aRT

Drivers

SQLite Driver

  • Aborted due to syntax constraints. It does not support all the SQL commands TerraLib needs (left join, right join).
  • Discussions about the implementation of a TerraLib driver for SQLite.

Connection Through ODBC

  • ODBC strategy plans for an access to the TL data base using ODBC aiming a common solution for Linux and Windows

Postgre

  • all databasde operations (createDB, createLayer etc) are echoing messages such as:

> th = createTheme(lpolygons, "poligons", vi="view")
> NOTA:  CREATE TABLE / PRIMARY KEY criará índice implícito
> "te_collection_2_pkey" na tabela "te_collection_2"
> NOTA:  CREATE TABLE criará sequência implícita
> "te_collection_2_aux_unique_id_seq" para coluna serial
> "te_collection_2_aux.unique_id"
> NOTA:  CREATE TABLE / PRIMARY KEY criará índice implícito
> "te_collection_2_aux_pkey" na tabela "te_collection_2_aux"
How to remove them?

To Do List

Bugs

  1. shapefile: great chance to have a bug when 'object_id' is a column of real numbers. Perhaps a warning?
  2. when creating themes with more than one table, the last attribute of the tables but the first disappear. Probably it thinks the table has less attributes it really has, because of the object_id that joins the tables. And it removes another attribute instead of obj_id
  3. Polygonos with holes still do not work very well.
  4. bug creating themes, but when trying again it works (problem with SAUDAVEL database).

Temporal Tables

  1. aRT currently has a fixed format for temporal attributes: "YYYY-MM-DD HH:mm:SS"
  2. getFormat to get the format of a column? (package chron works with time formats)
  3. if we use it, the format MUST be an argument each time we write a temporal column in the database
  1. aRTdynattrtable.cpp:

at.dateTimeFormat_ = "YYYYsMMsDDsHHsmmsSS";
at.dateChronon_ = TeSECOND;
at.dateSeparator_ = "-";
at.timeSeparator_ = ":";

Media Tables

Na verdade a questao é referente ao banco do saudavel onde já há uma midia e o Miguel acha (e eu concordo) que deveriamos ncluir a media no banco.. Isto é o que motiva esta pergunta. Portanto, pelo que vc comenta é possível adicionar mais de uma midia à tabela. Nao sei o quão complicado é isto,é desejável, embora não totalmente prioritário no momnebnt

media tables are now (terralib 3.2) part of terraview. Put the access to the following functions:

terralib/terraView/TeApplicationUtils.h

bool insertMedia(TeDatabase* db, const string& tableName, string& fileName, const string& description, const string& type, bool blob=true);
bool insertMediaObjLayer (TeDatabase* db, TeLayer* layer, const string& objectId, const string& mediaName, const string& mediaTable); 
bool setDefaultMedia(TeDatabase* db, TeLayer* layer, const string& objectId, const string& mediaName, const string& mediaTable);
bool updateMediaDescription(TeDatabase* db, const string& mediaName, const string& mediaTable, const string& desc);

existe um erro nas tabelas de media, mas ainda nao sei se o erro é do aRT ou da TerraLib, ou se é apenas uma decisao de projeto da terralib. acontece que não é possivel repetir o nome da url nas tabelas (assim como o id nao pode ser repetido). o erro ocorre quando voce tenta adicionar o terceiro elemento do data.frame, que tem media_name igual ao do segundo elemento.

object_id                                                 media_name
1 261160605094   http://www.leg.est.ufpr.br/~paulojus/aviDengue/gamBT.avi
2 261160605054  http://www.leg.est.ufpr.br/~paulojus/aviDengue/gamCFP.avi
3 261160605055  http://www.leg.est.ufpr.br/~paulojus/aviDengue/gamCFP.avi

Miscelaneous

  1. selecting attributes when creating themes
  2. getLastID ou getBiggerID (or something like that), only when using ID as integers (to Elias).
  3. getUniqueTimes(table) for temporal tables
  4. exportShape(), exportMidmif, exportSpring()
  5. getPoints etc para pegar a projecao e colocar no objeto sp
  6. incorporar importDynTable() no aRT da melhor forma e considear uns comentario que deixei no script. Qaundo estiver td certo e com certeza de estar funcionando a gente "enxuga" o script
  7. querier for raster data?
  8. colocar um relatorio no final da instalacao do aRT, e colocar uma funcao com este mesmo relatorio no pacote.
  9. colocar a variavel ambiente dentro da funcao de carregar o aRT, e colocar isto no configure para alterar automaticamente
  10. apagar conceptualmodel da funcao de criar banco, e ver se funciona corretamente
  11. deleteColumn()

an old agenda

  1. drivers para outros bancos
  2. opcao para compilar sem banco
  3. estudar como ficam opcoes para bancos no configure
  4. outras coisas???? (facilitar,geracao de relatorios html, etc?)
  1. R Spatial task view and R-SIG-Geo resources

QR Code
QR Code software:art-dev (generated for current page)