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

Próxima revisão
Revisão anterior
Próxima revisão Ambos lados da revisão seguinte
software:art-dev [2008/09/17 13:23]
pedro criada
software:art-dev [2008/11/12 23:41]
pedro
Linha 1: Linha 1:
-===== aRT Team ===== +===== aRT Development Page ==== 
-[[pessoais:​pedro|Pedro]],​ [[pessoais:​paulojus|PJ]], ​[[pessoais:​bsoliveira|Bruno Oliveira]]+Team: [[pessoais:​pedro|Pedro]],​ [[pessoais:​paulojus|PJ]], ​Eduardo Sant'​ana
  
-===== Summary ===== 
 This is a development page, with ongoing work and future functionalities for the package. For a description of aRT see the [[http://​www.leg.ufpr.br/​aRT|webpage]]. This is a development page, with ongoing work and future functionalities for the package. For a description of aRT see the [[http://​www.leg.ufpr.br/​aRT|webpage]].
  
-===== FAQ ===== +===== Ongoing Work =====
-[[software:​art:​faq|Frequently Asked Questions]] about aRT+
  
 +====artigo====
  
-===== Ongoing Work ===== +**Integrating Statistics and Geographic Information Systems: the aRT package** 
-  ​- disponibilizar libterralib e terraview binarios para linux + 
-  ​colocar ​os fontes ​do teview ​para tabelas de media no source do aRT +Statistical spatial data analysis and GIS can act together in order to understand and model spatially distributed data. Geoprocessing operations can equip statistical models with relevant information which on their hand can be used to better understand main features of usually noisy and multidimensional data. Therefore integration between GIS and statistical software can be highly beneficial for both sides.  
-  ​- olhar compilacao do sqlite ​versao 3, esta dando problema + 
-  - colocar ​no configure opcoes ​de --no-sqliteetc +In this work, we present a package named aRT, which access the TerraLib GIS library within the R statistical software. TerraLib offers functions and data structures for building customized geographical applications. Its main objective is to provide a powerful environment for GIS development in a new generation of GIS, once it incorporates space-time support to conventional Database Management Systems (DBMS), for instance MySQL and PostgreSQL. R provides many functions statistical analysis in general, and specially analysis of geospatial data through contributed packages, for example point pattern, geostatistics,​ and spatial regression. Both TerraLib and R are free softwares. 
-  ​colocar um relatorio ​no final da instalacao ​do aRT, colocar ​uma funcao com este mesmo relatorio no pacote. + 
-  - colocar ​variavel ambiente dentro da funcao ​de carregar o aRT, e colocar isto no configure para alterar automaticamente +With aRT, the user can manipulate TerraLib objects directly within R, importing and exporting geospatial data to TerraLib databases. It also has functions for querying and manipulating geospatial data, for instance (1) spatial predicates, such as touches, within, contains, crosses, and overlaps; (2) polygons operations, as union, intersection,​ difference and simplification;​ (3) manipulation of temporal tables and temporal slicing. 
-  ​- apagar conceptualmodel ​da funcao ​de criar banco, e ver se funciona corretamente + 
-  - deleteColumn()+Currently, aRT has been used for  [+16 palavras] 
 + 
 +aRT is available as source code and as a Windows binary at http://​www.leg.ufpr.br/​aRT. 
 + 
 + 
 + 
 +====para a próxima versão (1.6-2) ​==== 
 +  ​* <​del>​strip aRT.dll (windows)</​del>​ 
 +  ​* <del>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.</​del>​ 
 +  ​* <​del>​compilar o aRT com a versao ​nova da terralib (Release ​3.2.1October 24th)</​del>​ 
 +  ​* <​del>​compilar o aRT e</​del>​ 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 
 +  * <​del>​adicionar o cvs no apt das dependencias do script ​de instalação</​del>​ 
 +  * erro MySQL windows quando executa o script recife.R: "too long ...". ver problema e relatar para o pessoal da TerraLibantes da nova versao (15/out). 
 +  ​* Postgre commandos => LEG 
 +  * colocar ​debs na pagina => gerar debs => LEG 
 +  * atualizar **esta** pagina 
 +  * <​del>​manipulacao de celulas</​del>​ 
 + 
 +===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: <​code>​ 
 +  union <- getSetOperation(ldistricts,​ "​union"​) 
 +  Erro em .aRTcall(object,​ "​cppGetSetOperation",​ operation = operation, ​ : 
 +  argumento "​id"​ ausente, sem padrão</​code>​ 
 + 
 +**Pedro: Já está funcionando na nova versão. 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 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áximasesta foi 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.** 
 + 
 +===getGeometry=== 
 +PJ: Typo nos docs: Usage:​\S4method{getGeometry}{aRTgeometry}(object) e nao consigo rodar: <​code>​ 
 +getGeometry(ldistricts) 
 +Erro em function (classes, fdef, mtable) ​ 
 +  unable to find an inherited method for function "​getGeometry",​ for signature "​aRTlayer"</​code>​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"​).**
  
-  Bruno: 
  
-  - compilar o aRT no windows, com mysql, postgre, sqlite, separadamente,​ usando o mingw 
-  - compilar usando o Visual caso nao funcione 
-  - corrigir o password para o openConn 
-  - fazer um bin para a terralib/​terraview 
-  - .Rversion para fazer openConn diferente para os sistemas operacionais 
  
 ===== Probably Implemented,​ but not Checked ===== ===== Probably Implemented,​ but not Checked =====
Linha 38: Linha 74:
   - [[software:​art:​scripts|List of Scripts]] about aRT   - [[software:​art:​scripts|List of Scripts]] about aRT
  
-===== SQLite Driver ​=====+===== Drivers ​=====
  
-[[software:​art:​driver_sqlite|Discussions]] about the implementation of a TerraLib driver for SQLite+====SQLite ​Driver ====
  
-===== Other DBMS =====+  * SQLite does not support all the SQL commands TerraLib needs (left join, right join). 
 +  * [[software:​art:​driver_sqlite|Discussions]] about the implementation of a TerraLib driver for SQLite.
  
-{{software:​art:​teodbc.pdf|ODBC strategy}} plans for an access to the TL data base using ODBC aiming ​ a common solution for Linux and Windows+==== Connection Through ​ODBC ====
  
 +  * {{software:​art:​teodbc.pdf|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:
 +
 +<​code>​
 +> 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"​
 +</​code>​
 +How to remove them?
  
 ===== To Do List ===== ===== To Do List =====
Linha 67: Linha 119:
   - bug creating themes, but when trying again it works (problem with SAUDAVEL database?).   - bug creating themes, but when trying again it works (problem with SAUDAVEL database?).
  
-=== DBMS === 
-  - compile without any DBMS (basically working with the configure) 
-  - 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? 
  
 === Temporal Tables === === Temporal Tables ===
-  - aRT actually ​has a fixed format for temporal attributes: "​YYYY-MM-DD HH:​mm:​SS"​+  - aRT currently ​has a fixed format for temporal attributes: "​YYYY-MM-DD HH:​mm:​SS"​
   - getFormat to get the format of a column? (package chron works with time formats)   - getFormat to get the format of a column? (package chron works with time formats)
   - if we use it, the format MUST be an argument each time we write a temporal column in the database   - if we use it, the format MUST be an argument each time we write a temporal column in the database
   - aRTdynattrtable.cpp:​   - aRTdynattrtable.cpp:​
  
-     at.dateTimeFormat_ = "​YYYYsMMsDDsHHsmmsSS";​ +<code C> 
-     ​at.dateChronon_ = TeSECOND; +at.dateTimeFormat_ = "​YYYYsMMsDDsHHsmmsSS";​ 
-     ​at.dateSeparator_ = "​-";​ +at.dateChronon_ = TeSECOND; 
-     ​at.timeSeparator_ = ":";​+at.dateSeparator_ = "​-";​ 
 +at.timeSeparator_ = ":";​ 
 +</​code>​
  
 === Media Tables === === Media Tables ===
Linha 100: Linha 141:
  
 media tables are now (terralib 3.2) part of terraview. Put the access to the following functions: media tables are now (terralib 3.2) part of terraview. Put the access to the following functions:
 +
  
 terralib/​terraView/​TeApplicationUtils.h terralib/​terraView/​TeApplicationUtils.h
  
-    ​bool insertMedia(TeDatabase* db, const string& tableName, string& fileName, const string& description,​ const string& type, bool blob=true);​ +<code C> 
-    bool insertMediaObjLayer (TeDatabase* db, TeLayer* layer, const string& objectId, const string& mediaName, const string& mediaTable);​  +bool insertMedia(TeDatabase* db, const string& tableName, string& fileName, const string& description,​ const string& type, bool blob=true);​ 
-    bool setDefaultMedia(TeDatabase* db, TeLayer* layer, const string& objectId, const string& mediaName, const string& mediaTable);​ +bool insertMediaObjLayer (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); +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); 
 +</​code>​
  
  
 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. 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.
  
- +<​code>​ 
-     ​object_id ​                                                ​media_name +object_id ​                                                ​media_name 
-       ​1 261160605094 ​  ​http://​www.leg.est.ufpr.br/​~paulojus/​aviDengue/​gamBT.avi +1 261160605094 ​  ​http://​www.leg.est.ufpr.br/​~paulojus/​aviDengue/​gamBT.avi 
-       ​2 261160605054 ​ http://​www.leg.est.ufpr.br/​~paulojus/​aviDengue/​gamCFP.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 +3 261160605055 ​ http://​www.leg.est.ufpr.br/​~paulojus/​aviDengue/​gamCFP.avi 
- +</​code>​
- +
- +
-=== Little pig, little pig, let me in === +
-  - <​del>​deleteUser() (?)</del> +
-  - <​del>​listUsers() (?) show user/​host/​with or without password.</​del>​ +
-  - createUser() instead of addUser()? receive a vector of hosts as argument, isntead of only one (only R code). yes? and what about a vector of users also? +
-  - <del>types of permissions:​ read/write full access/only some databases</​del>​ +
-  - read passwords from the keyboard like ***********,​ or from a file? readline()? It will require a new argument "​readFromKeyboard"​ = TRUE? Problem with scripts, and with connections that do not need passwords (I think the most common cases).+
  
 === Miscelaneous === === Miscelaneous ===
-  - windows version, cross compiled 
   - selecting attributes when creating themes   - selecting attributes when creating themes
   - getLastID ou getBiggerID (or something like that), only when using ID as integers (to Elias).   - getLastID ou getBiggerID (or something like that), only when using ID as integers (to Elias).
Linha 135: Linha 169:
   - getPoints etc para pegar a projecao e colocar no objeto sp   - getPoints etc para pegar a projecao e colocar no objeto sp
   - 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   - 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
- 
-=== Brainstorm === 
-  - is openConn() mostly annoying? what about having a function: 
- 
-    openDb = function(dbname,​ ...) 
-    { 
-        con = openConn(...) 
-        return openDb(con, db) 
-    } 
- 
   - querier for raster data?   - querier for raster data?
-  - Strategies for populating temporal tables of cells (does terralib implement it???) +  - colocar um relatorio no final da instalacao do aRT, e colocar uma funcao com este mesmo relatorio no pacote. 
-  - aRTnews? +  - colocar a variavel ambiente dentro da funcao de carregar o aRT, e colocar isto no configure para alterar automaticamente 
- +  - apagar conceptualmodel da funcao de criar banco, e ver se funciona corretamente 
-    ​aRTnews = function() +  - deleteColumn()
-    { +
-        zz=file("​http://​www.est.ufpr.br/​aRT/​NEWS"​) +
-        readLines(zz) +
-    } +
-    [1] "the news of aRT:\nThere is a new version with the following functionalities..."​ +
- +
-or something like that.+
  
 === an old agenda === === an old agenda ===
-  - versão windows (em andamento , manual {{pessoais:​pedro:​compilacao_tl_mingw.pdf|here}} ) 
-  - voltar a fazer a cross compilacao funcionar 
   - drivers para outros bancos   - drivers para outros bancos
-  - implementar driver SQLlite na TL e aRT 
   - opcao para compilar sem banco   - opcao para compilar sem banco
   - estudar como ficam opcoes para bancos no configure   - estudar como ficam opcoes para bancos no configure
   - outras coisas???? (facilitar,​geracao de relatorios html, etc?)   - outras coisas???? (facilitar,​geracao de relatorios html, etc?)
- 
- 
- 
-===== Suggestions for aRT ===== 
-  - <​del>​(Elias) In the function visualPoints(),​ the code "else if(pch == 22)  pch = 7" change to "else if(pch == 15)  pch = 7"</​del>​ 
-  - (PJ) about installing aRT for windows and drivers for SGDB: Imagino que a solução para o aRT deva ser a mesma para o TerraView, no que se recere a drivers para banco. Como o terraView resolve isto? Afinal, não é necessário ter um SGBD para o TV poder ser instalado. 
- 
-===== TIPS ON LINUX INSTALL ===== 
- 
-[[software:​art:​install|This page]] have some tips to install on a LINUX box 
- 
  
 ===== Links ===== ===== Links =====

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