Commit 13a92cb534c2513b1ba782c430532608a7f33467

Authored by Edmar Moretti
1 parent cdb9fa9c

--no commit message

Showing 1 changed file with 439 additions and 251 deletions   Show diff stats
admin/php/classe_metaestat.php
@@ -33,14 +33,35 @@ Arquivo: @@ -33,14 +33,35 @@ Arquivo:
33 i3geo/admin/php/classe_metaestat.php 33 i3geo/admin/php/classe_metaestat.php
34 */ 34 */
35 /** 35 /**
36 -Classe metaestat 36 + * Classe metaestat
  37 + * O construtor da classe faz o include do programa conexao.php que por sua vez faz o include
  38 + * de i3geo/ms_configura.php. Com base nesses programas sao definidas algumas das variaveis globais
37 */ 39 */
38 class Metaestat{ 40 class Metaestat{
  41 + /**
  42 + * Nome do esquema no banco de dados utilizado para armazenar as tabelas
  43 + * do sistema de admnistracao. Obtido de ms_configura.php
  44 + */
39 protected $esquemaadmin; 45 protected $esquemaadmin;
  46 + /**
  47 + * Objeto PDO obtido com new PDO com direito de leitura no banco de dados de administracao
  48 + */
40 public $dbh; 49 public $dbh;
  50 + /**
  51 + * Objeto PDO obtido com new PDO com direito de escrita no banco de dados de administracao
  52 + */
41 protected $dbhw; 53 protected $dbhw;
  54 + /**
  55 + * Indica se e necessario converter para UTF strings obtidas do banco de administracao
  56 + */
42 protected $convUTF; 57 protected $convUTF;
  58 + /**
  59 + * Pasta temporaria utilizada pelo mapserver
  60 + */
43 public $dir_tmp; 61 public $dir_tmp;
  62 + /**
  63 + * Pasta onde e feito o cache de imagens do i3Geo
  64 + */
44 public $nomecache; 65 public $nomecache;
45 /** 66 /**
46 * Construtor 67 * Construtor
@@ -68,9 +89,18 @@ class Metaestat{ @@ -68,9 +89,18 @@ class Metaestat{
68 function __destruct(){ 89 function __destruct(){
69 $this->fechaConexao; 90 $this->fechaConexao;
70 } 91 }
  92 + /**
  93 + * Cria um nome de arquivo concatenando $_request
  94 + * @return string
  95 + */
71 function nomeCache(){ 96 function nomeCache(){
72 return md5(implode("x",$_REQUEST)); 97 return md5(implode("x",$_REQUEST));
73 } 98 }
  99 + /**
  100 + * Cria um nome aleatorio
  101 + * @param numero de caracteres
  102 + * @return string
  103 + */
74 function nomeRandomico($n=10){ 104 function nomeRandomico($n=10){
75 $nomes = ""; 105 $nomes = "";
76 $a = 'azertyuiopqsdfghjklmwxcvbnABCDEFGHIJKLMNOPQRSTUVWXYZ'; 106 $a = 'azertyuiopqsdfghjklmwxcvbnABCDEFGHIJKLMNOPQRSTUVWXYZ';
@@ -81,11 +111,19 @@ class Metaestat{ @@ -81,11 +111,19 @@ class Metaestat{
81 } 111 }
82 return $nomes; 112 return $nomes;
83 } 113 }
  114 + /**
  115 + * Fecha a conexao com o banco de dados de administracao
  116 + */
84 function fechaConexao(){ 117 function fechaConexao(){
85 $this->dbh = null; 118 $this->dbh = null;
86 $this->dbhw = null; 119 $this->dbhw = null;
87 } 120 }
88 - //aceita string ou array 121 + /**
  122 + * Aplica a conversao de caracteres em um array ou string conforme o padrao do banco de administracao
  123 + * Verifica se o parametro e um array ou um texto e executa converteTexto()
  124 + * @param string|array
  125 + * @return string|array
  126 + */
89 function converteTextoArray($texto){ 127 function converteTextoArray($texto){
90 try { 128 try {
91 if(empty($texto) || strtoupper($texto) == "NULL"){ 129 if(empty($texto) || strtoupper($texto) == "NULL"){
@@ -115,6 +153,11 @@ class Metaestat{ @@ -115,6 +153,11 @@ class Metaestat{
115 return $texto; 153 return $texto;
116 } 154 }
117 } 155 }
  156 + /**
  157 + * Converte a codificacao de caracteres de uma string conforme o padrao do banco de admnistracao
  158 + * @param string
  159 + * @return string
  160 + */
118 function converteTexto($texto){ 161 function converteTexto($texto){
119 if($texto == "0"){ 162 if($texto == "0"){
120 return "0"; 163 return "0";
@@ -130,21 +173,15 @@ class Metaestat{ @@ -130,21 +173,15 @@ class Metaestat{
130 } 173 }
131 return $texto; 174 return $texto;
132 } 175 }
133 - /*  
134 - Function: execSQL  
135 -  
136 - Executa um SQL no banco de administracao  
137 -  
138 - Parametros:  
139 -  
140 - $sql {string}  
141 -  
142 - $id {string} - se for vazio retorna todos os registros, caso contrario, retorna apenas o primeiro  
143 -  
144 - Return:  
145 -  
146 - {array}  
147 - */ 176 + /**
  177 + * Executa um SQL no banco de administracao
  178 + * Utiliza fetchAll() para obter os dados
  179 + * O resultado e processado por converteTextoArray se for desejado
  180 + * @param string sql
  181 + * @param se for vazio retorna todos os registros, caso contrario, retorna apenas o primeiro
  182 + * @param indica se deve ser feita a conversao de caracteres
  183 + * @return Array
  184 + */
148 function execSQL($sql,$id="",$convTexto=true){ 185 function execSQL($sql,$id="",$convTexto=true){
149 try { 186 try {
150 $q = $this->dbh->query($sql,PDO::FETCH_ASSOC); 187 $q = $this->dbh->query($sql,PDO::FETCH_ASSOC);
@@ -179,10 +216,11 @@ class Metaestat{ @@ -179,10 +216,11 @@ class Metaestat{
179 return false; 216 return false;
180 } 217 }
181 } 218 }
182 - /*  
183 - Function: execSQLDB  
184 -  
185 - Executa um SQL no banco de dados definido em uma conexao 219 + /**
  220 + * Executa um SQL no banco de dados definido em uma conexao cadastrada no sistema de admnistracao
  221 + * @param codigo da conexao
  222 + * @param tring sql
  223 + * @return resultado de execSQL
186 */ 224 */
187 function execSQLDB($codigo_estat_conexao,$sql){ 225 function execSQLDB($codigo_estat_conexao,$sql){
188 $c = $this->listaConexao($codigo_estat_conexao,true); 226 $c = $this->listaConexao($codigo_estat_conexao,true);
@@ -193,10 +231,18 @@ class Metaestat{ @@ -193,10 +231,18 @@ class Metaestat{
193 $this->dbh = $dbhold; 231 $this->dbh = $dbhold;
194 return $res; 232 return $res;
195 } 233 }
  234 + /**
  235 + * Insere um registro em uma tabela do sistema de administracao
  236 + * Para efeitos de compatibilidade entre bancos de dados, ao inserir um registro e definido um valor aleatorio
  237 + * que e armazenado em uma das colunas. Esse valor e usado para recuperar o registro criado e assim
  238 + * permitir a obtencao de seu ID
  239 + * @param nome da tabela
  240 + * @param nome da coluna que recebera o valor temporario
  241 + * @param nome da coluna com os identificadores unicos
  242 + * @return id do registro criado
  243 + */
196 function insertId($tabela,$colunatemp,$colunaid){ 244 function insertId($tabela,$colunatemp,$colunaid){
197 $idtemp = (rand (9000,10000)) * -1; 245 $idtemp = (rand (9000,10000)) * -1;
198 - //echo "INSERT INTO ".$this->esquemaadmin.$tabela." ($colunatemp) VALUES ('$idtemp')";exit;  
199 -  
200 $this->dbhw->query("INSERT INTO ".$this->esquemaadmin.$tabela." ($colunatemp) VALUES ('$idtemp')"); 246 $this->dbhw->query("INSERT INTO ".$this->esquemaadmin.$tabela." ($colunatemp) VALUES ('$idtemp')");
201 $id = $this->dbh->query("SELECT $colunaid FROM ".$this->esquemaadmin.$tabela." WHERE $colunatemp = '$idtemp'"); 247 $id = $this->dbh->query("SELECT $colunaid FROM ".$this->esquemaadmin.$tabela." WHERE $colunatemp = '$idtemp'");
202 $id = $id->fetchAll(); 248 $id = $id->fetchAll();
@@ -204,8 +250,13 @@ class Metaestat{ @@ -204,8 +250,13 @@ class Metaestat{
204 $this->dbhw->query("UPDATE ".$this->esquemaadmin.$tabela." SET $colunatemp = '' WHERE $colunaid = $id AND $colunatemp = '$idtemp'"); 250 $this->dbhw->query("UPDATE ".$this->esquemaadmin.$tabela." SET $colunatemp = '' WHERE $colunaid = $id AND $colunatemp = '$idtemp'");
205 return $id; 251 return $id;
206 } 252 }
207 - function excluirRegistro($tabela,$coluna,$id)  
208 - { 253 + /**
  254 + * Exclui um registro de uma tabela no banco de administracao
  255 + * @param tabela alvo
  256 + * @param coluna com os ids que identificam os registros
  257 + * @param id do registro que sera selecionado e excluido
  258 + */
  259 + function excluirRegistro($tabela,$coluna,$id){
209 try { 260 try {
210 $this->dbhw->query("DELETE from ".$this->esquemaadmin.$tabela." WHERE $coluna = $id"); 261 $this->dbhw->query("DELETE from ".$this->esquemaadmin.$tabela." WHERE $coluna = $id");
211 return "ok"; 262 return "ok";
@@ -214,8 +265,12 @@ class Metaestat{ @@ -214,8 +265,12 @@ class Metaestat{
214 return "Error!: " . $e->getMessage(); 265 return "Error!: " . $e->getMessage();
215 } 266 }
216 } 267 }
217 - function excluirFonteinfoMedida($id_medida_variavel,$id_fonteinfo)  
218 - { 268 + /**
  269 + * Exclui um registro da tabela de ligacao entre medida de variavel e fonte
  270 + * @paraam id da medida da variavel
  271 + * @param id da fonte
  272 + */
  273 + function excluirFonteinfoMedida($id_medida_variavel,$id_fonteinfo){
219 try { 274 try {
220 $this->dbhw->query("DELETE from ".$this->esquemaadmin."i3geoestat_fonteinfo_medida WHERE id_medida_variavel = $id_medida_variavel and id_fonteinfo = $id_fonteinfo"); 275 $this->dbhw->query("DELETE from ".$this->esquemaadmin."i3geoestat_fonteinfo_medida WHERE id_medida_variavel = $id_medida_variavel and id_fonteinfo = $id_fonteinfo");
221 return "ok"; 276 return "ok";
@@ -224,17 +279,15 @@ class Metaestat{ @@ -224,17 +279,15 @@ class Metaestat{
224 return "Error!: " . $e->getMessage(); 279 return "Error!: " . $e->getMessage();
225 } 280 }
226 } 281 }
227 - /*  
228 - Function: sqlMedidaVariavel  
229 -  
230 - Monta o sql que permite acessar os dados de uma media de uma variavel  
231 -  
232 - Parametros:  
233 -  
234 - $id_medida_variavel - opcional  
235 -  
236 - $todasascolunas - opcional  
237 - */ 282 + /**
  283 + * Monta o sql que permite acessar os dados de uma media de uma variavel
  284 + * @param id da medida da variavel
  285 + * @param inclui todas as colunas da tabela com os dados ou nao
  286 + * @param coluna que sera usada para agrupar os dados
  287 + * @param tipo de layer. Usado para escolher qual coluna com as geometrias sera incluida no sql
  288 + * @param codigo do tipo de regiao. Se nao for definido, utiliza-se o default da variavel
  289 + * @return array("sqlagrupamento"=>,"sql"=>,"sqlmapserver"=>,"filtro"=>,"colunas"=>,"alias"=>,"colunavalor"=>,"titulo"=>,"nomeregiao"=>)
  290 + */
238 function sqlMedidaVariavel($id_medida_variavel,$todasascolunas,$agruparpor="",$tipolayer="polygon",$codigo_tipo_regiao = ""){ 291 function sqlMedidaVariavel($id_medida_variavel,$todasascolunas,$agruparpor="",$tipolayer="polygon",$codigo_tipo_regiao = ""){
239 $filtro = false; 292 $filtro = false;
240 $dados = $this->listaMedidaVariavel("",$id_medida_variavel); 293 $dados = $this->listaMedidaVariavel("",$id_medida_variavel);
@@ -410,6 +463,23 @@ class Metaestat{ @@ -410,6 +463,23 @@ class Metaestat{
410 $sqlagrupamento = str_replace("d.".$dados["colunaidgeo"].",g.".$dados["colunaidgeo"],"d.".$dados["colunaidgeo"],$sqlagrupamento); 463 $sqlagrupamento = str_replace("d.".$dados["colunaidgeo"].",g.".$dados["colunaidgeo"],"d.".$dados["colunaidgeo"],$sqlagrupamento);
411 return array("sqlagrupamento"=>$sqlagrupamento,"sql"=>$sql,"sqlmapserver"=>$sqlgeo,"filtro"=>$filtro,"colunas"=>$colunas,"alias"=>$alias,"colunavalor"=>$dados["colunavalor"],"titulo"=>$titulo,"nomeregiao"=>$dadosgeo["colunanomeregiao"]); 464 return array("sqlagrupamento"=>$sqlagrupamento,"sql"=>$sql,"sqlmapserver"=>$sqlgeo,"filtro"=>$filtro,"colunas"=>$colunas,"alias"=>$alias,"colunavalor"=>$dados["colunavalor"],"titulo"=>$titulo,"nomeregiao"=>$dadosgeo["colunanomeregiao"]);
412 } 465 }
  466 + /**
  467 + * Cria um arquivo mapfile para uma medida de variavel
  468 + * Inclui no arquivo o layer de acesso aos dados
  469 + * O mapfile contem apenas o layer
  470 + * O arquivo e armazenado em uma pasta temporaria
  471 + * O sql e obtido com o metodo sqlMedidaVariavel
  472 + * @param id da medida da variavel
  473 + * @param filtro que sera concatenado ao sql padrao da medida
  474 + * @param 0|1 indica se todas as colunas da tabela original dos dados sera incluida no sql
  475 + * @param tipo de layer
  476 + * @param titulo do layer
  477 + * @param id da classificacao cadastrada,se for vazio usa o primeiro
  478 + * @param coluna que sera usada como agrupamento no sql
  479 + * @param codigo do tipo de regiao cadastrada
  480 + * @param valor de opacidade do layer
  481 + * @return array("mapfile"=>,"layer"=>,"titulolayer"=>)
  482 + */
413 function mapfileMedidaVariavel($id_medida_variavel,$filtro="",$todasascolunas = 0,$tipolayer="polygon",$titulolayer="",$id_classificacao="",$agruparpor="",$codigo_tipo_regiao="",$opacidade=""){ 483 function mapfileMedidaVariavel($id_medida_variavel,$filtro="",$todasascolunas = 0,$tipolayer="polygon",$titulolayer="",$id_classificacao="",$agruparpor="",$codigo_tipo_regiao="",$opacidade=""){
414 //para permitir a inclusao de filtros, o fim do sql e marcado com /*FW*//*FW*/ 484 //para permitir a inclusao de filtros, o fim do sql e marcado com /*FW*//*FW*/
415 //indicando onde deve comecar e terminar uma possivel clausula where 485 //indicando onde deve comecar e terminar uma possivel clausula where
@@ -552,6 +622,19 @@ class Metaestat{ @@ -552,6 +622,19 @@ class Metaestat{
552 } 622 }
553 return array("mapfile"=>$arq,"layer"=>$this->nomecache,"titulolayer"=>$titulolayer); 623 return array("mapfile"=>$arq,"layer"=>$this->nomecache,"titulolayer"=>$titulolayer);
554 } 624 }
  625 + /**
  626 + * Cria um mapfile para visualizacao de regioes
  627 + * Inclui no arquivo o layer de acesso aos dados
  628 + * O mapfile contem apenas o layer
  629 + * O arquivo e armazenado em uma pasta temporaria
  630 + * Se o arquivo para a mesma regiao ja existir, tenta usa-lo ao inves de criar um novo
  631 + * @param codigo da regiao
  632 + * @param cor do outline do simbolo de desenho
  633 + * @param largura do simbolo
  634 + * @param sim|nao inclui ou nao os labels
  635 + * @param boolean remove o arquivo em cache e cria um novo
  636 + * @return array("mapfile"=>,"layer"=>,"titulolayer"=>,"codigo_tipo_regiao"=>)
  637 + */
555 function mapfileTipoRegiao($codigo_tipo_regiao,$outlinecolor="255,0,0",$width=1,$nomes="nao",$forcaArquivo=false){ 638 function mapfileTipoRegiao($codigo_tipo_regiao,$outlinecolor="255,0,0",$width=1,$nomes="nao",$forcaArquivo=false){
556 //para permitir a inclusao de filtros, o fim do sql e marcado com /*FW*//*FW*/ 639 //para permitir a inclusao de filtros, o fim do sql e marcado com /*FW*//*FW*/
557 //indicando onde deve comecar e terminar uma possivel clausula where 640 //indicando onde deve comecar e terminar uma possivel clausula where
@@ -705,6 +788,12 @@ class Metaestat{ @@ -705,6 +788,12 @@ class Metaestat{
705 } 788 }
706 return array("mapfile"=>$arq,"layer"=>$this->nomecache,"titulolayer"=>$titulolayer,"codigo_tipo_regiao"=>$codigo_tipo_regiao); 789 return array("mapfile"=>$arq,"layer"=>$this->nomecache,"titulolayer"=>$titulolayer,"codigo_tipo_regiao"=>$codigo_tipo_regiao);
707 } 790 }
  791 + /**
  792 + * Complementa um mapfile resumido inserindo seus layers em um mapfile completo, contendo todos os elementos necessarios para uso
  793 + * Usado na geracao de WMS e outros servicos
  794 + * @param mapfile resumido
  795 + * @return nome do arquivo com o mapfile completo
  796 + */
708 function mapfileCompleto($mapfile){ 797 function mapfileCompleto($mapfile){
709 $f = $this->base; 798 $f = $this->base;
710 if($f == ""){ 799 if($f == ""){
@@ -749,6 +838,14 @@ class Metaestat{ @@ -749,6 +838,14 @@ class Metaestat{
749 $mapa->save($novonome); 838 $mapa->save($novonome);
750 return $novonome; 839 return $novonome;
751 } 840 }
  841 + /**
  842 + * Obtem os dados de uma medida de variavel
  843 + * @param id da medida
  844 + * @param filtro que sera concatenado ao sql
  845 + * @param 0|1 mostra ou nao todas as colunas da tabela com os dados
  846 + * @param coluna de agrupamento
  847 + * @return execSQL
  848 + */
752 function dadosMedidaVariavel($id_medida_variavel,$filtro="",$todasascolunas = 0,$agruparpor = ""){ 849 function dadosMedidaVariavel($id_medida_variavel,$filtro="",$todasascolunas = 0,$agruparpor = ""){
753 $sql = $this->sqlMedidaVariavel($id_medida_variavel,$todasascolunas,$agruparpor); 850 $sql = $this->sqlMedidaVariavel($id_medida_variavel,$todasascolunas,$agruparpor);
754 //var_dump($sql);exit; 851 //var_dump($sql);exit;
@@ -774,6 +871,12 @@ class Metaestat{ @@ -774,6 +871,12 @@ class Metaestat{
774 } 871 }
775 return false; 872 return false;
776 } 873 }
  874 + /**
  875 + * Lista as ocorrencias de valores em uma coluna de uma medida de variavel
  876 + * @param id da medida de variavel
  877 + * @param coluna
  878 + * @return execSQL
  879 + */
777 function valorUnicoMedidaVariavel($id_medida_variavel,$coluna){ 880 function valorUnicoMedidaVariavel($id_medida_variavel,$coluna){
778 $sqlf = $this->sqlMedidaVariavel($id_medida_variavel,0,$coluna); 881 $sqlf = $this->sqlMedidaVariavel($id_medida_variavel,0,$coluna);
779 $sqlf = $sqlf["sqlagrupamento"]; 882 $sqlf = $sqlf["sqlagrupamento"];
@@ -789,6 +892,13 @@ class Metaestat{ @@ -789,6 +892,13 @@ class Metaestat{
789 } 892 }
790 return false; 893 return false;
791 } 894 }
  895 + /**
  896 + * Sumario estatistico de uma medida de variavel
  897 + * @param id da medida
  898 + * @param filtro a ser concatenado ao sql
  899 + * @param coluna de agrupamento
  900 + * @return array("colunavalor"=>,"soma"=>,"media"=>,"menor"=>,"maior"=>,"quantidade"=>,"histograma"=>,"grupos"=>,"unidademedida"=>,"quartis"=>)
  901 + */
792 function sumarioMedidaVariavel($id_medida_variavel,$filtro="",$agruparpor=""){ 902 function sumarioMedidaVariavel($id_medida_variavel,$filtro="",$agruparpor=""){
793 if(!empty($agruparpor)){ 903 if(!empty($agruparpor)){
794 $dados = $this->dadosMedidaVariavel($id_medida_variavel,$filtro,1); 904 $dados = $this->dadosMedidaVariavel($id_medida_variavel,$filtro,1);
@@ -881,12 +991,18 @@ class Metaestat{ @@ -881,12 +991,18 @@ class Metaestat{
881 } 991 }
882 return false; 992 return false;
883 } 993 }
884 - /*  
885 - Function: alteraMapa  
886 -  
887 - Altera um mapa ou adiciona um novo  
888 -  
889 - */ 994 + /**
  995 + * Altera um mapa cadastrado ou adiciona um novo
  996 + * Mapas sao armazenados na tabela i3geoestat_mapa
  997 + * Mapas contem grupos e grupos contem temas
  998 + * Se o id for vazio, cria um novo mapa
  999 + * @param id do mapa
  1000 + * @param titulo do mapa
  1001 + * @param string logotipo 1
  1002 + * @param string logotipo 2
  1003 + * @param publicado ou nao
  1004 + * @return id do mapa
  1005 + */
890 function alteraMapa($id_mapa="",$titulo="",$template="",$logoesquerdo="",$logodireito="",$publicado=""){ 1006 function alteraMapa($id_mapa="",$titulo="",$template="",$logoesquerdo="",$logodireito="",$publicado=""){
891 try { 1007 try {
892 if($this->convUTF){ 1008 if($this->convUTF){
@@ -905,12 +1021,15 @@ class Metaestat{ @@ -905,12 +1021,15 @@ class Metaestat{
905 return "Error!: " . $e->getMessage(); 1021 return "Error!: " . $e->getMessage();
906 } 1022 }
907 } 1023 }
908 - /*  
909 - Function: alteraMapaGrupo  
910 -  
911 - Altera um grupo de um mapa ou adiciona um novo  
912 -  
913 - */ 1024 + /**
  1025 + * Altera um grupo de um mapa ou adiciona um novo
  1026 + * Se o id do grupo for vazio, cria um novo
  1027 + * Grupo contem temas
  1028 + * @param id do mapa que contem o grupo
  1029 + * @param id do grupo
  1030 + * @param titulo
  1031 + * @return id do grupo
  1032 + */
914 function alteraMapaGrupo($id_mapa,$id_mapa_grupo="",$titulo=""){ 1033 function alteraMapaGrupo($id_mapa,$id_mapa_grupo="",$titulo=""){
915 try { 1034 try {
916 if($this->convUTF){ 1035 if($this->convUTF){
@@ -932,12 +1051,15 @@ class Metaestat{ @@ -932,12 +1051,15 @@ class Metaestat{
932 return "Error!: " . $e->getMessage(); 1051 return "Error!: " . $e->getMessage();
933 } 1052 }
934 } 1053 }
935 - /*  
936 - Function: alteraMapaTema  
937 -  
938 - Altera um tema de um grupo de um mapa ou adiciona um novo  
939 -  
940 - */ 1054 + /**
  1055 + * Altera um tema de um grupo de um mapa ou adiciona um novo
  1056 + * Se o id do tema for vazio, cria um novo
  1057 + * @param id do grupo
  1058 + * @param id do tema
  1059 + * @param titulo do tema
  1060 + * @param id da medida da variavel vinculada ao tema
  1061 + * @return id do tema
  1062 + */
941 function alteraMapaTema($id_mapa_grupo,$id_mapa_tema="",$titulo="",$id_medida_variavel=""){ 1063 function alteraMapaTema($id_mapa_grupo,$id_mapa_tema="",$titulo="",$id_medida_variavel=""){
942 try { 1064 try {
943 if($this->convUTF){ 1065 if($this->convUTF){
@@ -959,15 +1081,15 @@ class Metaestat{ @@ -959,15 +1081,15 @@ class Metaestat{
959 return "Error!: " . $e->getMessage(); 1081 return "Error!: " . $e->getMessage();
960 } 1082 }
961 } 1083 }
962 - /*  
963 - Function: alteraVariavel  
964 -  
965 - Altera uma variavel ou cria uma nova  
966 -  
967 - Parametros:  
968 -  
969 - $codigo_variavel - opcional  
970 - */ 1084 + /**
  1085 + * Altera uma variavel ou cria uma nova
  1086 + * Variaveis contem medidas de variavel
  1087 + * Se o codigo for vazio, cria uma nova
  1088 + * @param codigo da variavel
  1089 + * @param nome da variavel
  1090 + * @param descricao
  1091 + * @return id da variavel
  1092 + */
971 function alteraVariavel($codigo_variavel="",$nome="",$descricao=""){ 1093 function alteraVariavel($codigo_variavel="",$nome="",$descricao=""){
972 try { 1094 try {
973 if($this->convUTF){ 1095 if($this->convUTF){
@@ -987,10 +1109,24 @@ class Metaestat{ @@ -987,10 +1109,24 @@ class Metaestat{
987 return "Error!: " . $e->getMessage(); 1109 return "Error!: " . $e->getMessage();
988 } 1110 }
989 } 1111 }
990 - /*  
991 - Function: alteraMedidaVariavel  
992 -  
993 - Altera uma medida de uma variavel ou cria uma nova 1112 + /**
  1113 + * Altera uma medida de uma variavel ou cria uma nova
  1114 + * Medidas contem links, fontes, parametros e classificacoes
  1115 + * Se id for vazio, cria uma nova
  1116 + * @param codigo da variavel pai
  1117 + * @param id da medida da variavel
  1118 + * @param codigo da unidade de medida utilizada
  1119 + * @param codigo do tipo de periodo
  1120 + * @param codigo do tipo de regiao
  1121 + * @param codigo da conexao que acessa o banco onde estao os dados
  1122 + * @param nome do esquema no banco de daods
  1123 + * @param nome da tabela
  1124 + * @param coluna que armazena os valores da medida
  1125 + * @param nome da coluna com os identificadores de regiao
  1126 + * @param coluna que identifica de forma unica cada registro da medida em sua tabela de valores
  1127 + * @param filtro (sql) que otem os registros da medida na tabela com os valores
  1128 + * @param nome da medida
  1129 + * @return id da medida
994 */ 1130 */
995 function alteraMedidaVariavel($codigo_variavel,$id_medida_variavel="",$codigo_unidade_medida,$codigo_tipo_periodo,$codigo_tipo_regiao,$codigo_estat_conexao,$esquemadb,$tabela,$colunavalor,$colunaidgeo,$colunaidunico,$filtro,$nomemedida){ 1131 function alteraMedidaVariavel($codigo_variavel,$id_medida_variavel="",$codigo_unidade_medida,$codigo_tipo_periodo,$codigo_tipo_regiao,$codigo_estat_conexao,$esquemadb,$tabela,$colunavalor,$colunaidgeo,$colunaidunico,$filtro,$nomemedida){
996 try { 1132 try {
@@ -1014,12 +1150,15 @@ class Metaestat{ @@ -1014,12 +1150,15 @@ class Metaestat{
1014 return "Error!: " . $e->getMessage(); 1150 return "Error!: " . $e->getMessage();
1015 } 1151 }
1016 } 1152 }
1017 - /*  
1018 - Function: alteraLinkMedida  
1019 -  
1020 - Altera um link  
1021 -  
1022 - */ 1153 + /**
  1154 + * Cria ou altera um link vinculado a uma medida
  1155 + * Links nao sao compartilhados entre medidas
  1156 + * @param id da medida de variavel
  1157 + * @param id do link
  1158 + * @param nome do link
  1159 + * @param url do link
  1160 + * @return id do link
  1161 + */
1023 function alteraLinkMedida($id_medida_variavel,$id_link="",$nome,$link){ 1162 function alteraLinkMedida($id_medida_variavel,$id_link="",$nome,$link){
1024 try { 1163 try {
1025 if($id_link != ""){ 1164 if($id_link != ""){
@@ -1041,12 +1180,15 @@ class Metaestat{ @@ -1041,12 +1180,15 @@ class Metaestat{
1041 return "Error!: " . $e->getMessage(); 1180 return "Error!: " . $e->getMessage();
1042 } 1181 }
1043 } 1182 }
1044 - /*  
1045 - Function: alteraFonteinfo  
1046 -  
1047 - Altera uma fonte  
1048 -  
1049 - */ 1183 + /**
  1184 + * Cria ou altera uma fonte
  1185 + * Fontes sao usadas para documentar medidas
  1186 + * Fontes podem ser compartilhadas entre medidas
  1187 + * @param id da fonte
  1188 + * @param titulo
  1189 + * @param url
  1190 + * @return id da fonte
  1191 + */
1050 function alteraFonteinfo($id_fonteinfo="",$titulo,$link){ 1192 function alteraFonteinfo($id_fonteinfo="",$titulo,$link){
1051 try { 1193 try {
1052 if($id_fonteinfo != ""){ 1194 if($id_fonteinfo != ""){
@@ -1065,21 +1207,26 @@ class Metaestat{ @@ -1065,21 +1207,26 @@ class Metaestat{
1065 return "Error!: " . $e->getMessage(); 1207 return "Error!: " . $e->getMessage();
1066 } 1208 }
1067 } 1209 }
1068 - /*  
1069 - Function: adicinaFonteinfoMedida  
1070 -  
1071 - Adiciona um fonte a uma medida  
1072 -  
1073 - */ 1210 + /**
  1211 + * Vincula o registro de uma fonte a uma medida
  1212 + * @param id da medida
  1213 + * @param id da fonte
  1214 + */
1074 function adicinaFonteinfoMedida($id_medida_variavel,$id_fonteinfo){ 1215 function adicinaFonteinfoMedida($id_medida_variavel,$id_fonteinfo){
1075 //echo "INSERT INTO ".$this->esquemaadmin."i3geoestat_fonteinfo_medida (id_medida_variavel,id_fonteinfo) VALUES ('$id_medida_variavel','$id_fonteinfo')";exit; 1216 //echo "INSERT INTO ".$this->esquemaadmin."i3geoestat_fonteinfo_medida (id_medida_variavel,id_fonteinfo) VALUES ('$id_medida_variavel','$id_fonteinfo')";exit;
1076 $this->dbhw->query("INSERT INTO ".$this->esquemaadmin."i3geoestat_fonteinfo_medida (id_medida_variavel,id_fonteinfo) VALUES ('$id_medida_variavel','$id_fonteinfo')"); 1217 $this->dbhw->query("INSERT INTO ".$this->esquemaadmin."i3geoestat_fonteinfo_medida (id_medida_variavel,id_fonteinfo) VALUES ('$id_medida_variavel','$id_fonteinfo')");
1077 } 1218 }
1078 - /*  
1079 - Function: alteraUnidadeMedida  
1080 -  
1081 - Altera uma medida de uma variavel ou cria uma nova  
1082 - */ 1219 + /**
  1220 + * Cria ou modifica uma unidade de medida
  1221 + * Unidade de medida e uma tabela controlada de tipos de unidades
  1222 + * Uma variavel possui obrigatoriamente uma unidade de medida
  1223 + * @param codigo da unidade de medida
  1224 + * @param nome
  1225 + * @param sigla
  1226 + * @param permite somar seus valores
  1227 + * @param permite calcular a media
  1228 + * @return id da unidade
  1229 + */
1083 function alteraUnidadeMedida($codigo_unidade_medida,$nome,$sigla,$permitesoma,$permitemedia){ 1230 function alteraUnidadeMedida($codigo_unidade_medida,$nome,$sigla,$permitesoma,$permitemedia){
1084 try { 1231 try {
1085 if($codigo_unidade_medida != ""){ 1232 if($codigo_unidade_medida != ""){
@@ -1098,11 +1245,14 @@ class Metaestat{ @@ -1098,11 +1245,14 @@ class Metaestat{
1098 return "Error!: " . $e->getMessage(); 1245 return "Error!: " . $e->getMessage();
1099 } 1246 }
1100 } 1247 }
1101 - /*  
1102 - Function: alteraTipoPeriodo  
1103 -  
1104 - Altera um tipo de periodo de tempo  
1105 - */ 1248 + /**
  1249 + * Cria ou modifica um tipo de periodo de tempo
  1250 + * Periodo e uma tabela controlada usada nas medidas de variavel
  1251 + * @param codigo do tipo de periodo
  1252 + * @param nome
  1253 + * @param descricao
  1254 + * @return codigo do tipo de periodo
  1255 + */
1106 function alteraTipoPeriodo($codigo_tipo_periodo,$nome,$descricao){ 1256 function alteraTipoPeriodo($codigo_tipo_periodo,$nome,$descricao){
1107 try { 1257 try {
1108 if($codigo_tipo_periodo != ""){ 1258 if($codigo_tipo_periodo != ""){
@@ -1123,11 +1273,17 @@ class Metaestat{ @@ -1123,11 +1273,17 @@ class Metaestat{
1123 return "Error!: " . $e->getMessage(); 1273 return "Error!: " . $e->getMessage();
1124 } 1274 }
1125 } 1275 }
1126 - /*  
1127 - Function: alteraConexao  
1128 -  
1129 - Altera uma conexao  
1130 - */ 1276 + /**
  1277 + * Cria ou modifica uma conexao
  1278 + * Conexoes sao parametros necessarios para realizar o acesso a um banco de dados
  1279 + * A senha deve ser cadastrada manualmente
  1280 + * @param codigo da conexao
  1281 + * @param banco de dados
  1282 + * @param hostname
  1283 + * @param porta
  1284 + * @param usuario
  1285 + * @return id da conexao
  1286 + */
1131 function alteraConexao($codigo_estat_conexao,$bancodedados,$host,$porta,$usuario){ 1287 function alteraConexao($codigo_estat_conexao,$bancodedados,$host,$porta,$usuario){
1132 try { 1288 try {
1133 if($codigo_estat_conexao != ""){ 1289 if($codigo_estat_conexao != ""){
@@ -1143,11 +1299,28 @@ class Metaestat{ @@ -1143,11 +1299,28 @@ class Metaestat{
1143 return "Error!: " . $e->getMessage(); 1299 return "Error!: " . $e->getMessage();
1144 } 1300 }
1145 } 1301 }
1146 - /*  
1147 - Function: alteraTipoRegiao  
1148 -  
1149 - Altera uma regiao  
1150 - */ 1302 + /**
  1303 + * Cria ou altera um tipo de regiao
  1304 + * Regioes sao tipos de localizacao geografica que permite espacializar os dados estatisticos
  1305 + * Possuem uma coluna com as geometrias de cada localizacao e um identificador unico
  1306 + * Regioes podem ter relacionamentos entre si que permitem realizar agregacoes de dados estatisticos por meio de soma ou media dos valores
  1307 + * A hierarquia e registrada por meio das tabelas de agregacao que indicam a relacao pai-filho
  1308 + * @param codigo unico da regiao
  1309 + * @param nome do tipo de regiao
  1310 + * @param descricao
  1311 + * @param esquema do banco de dados onde fica a tabela com os dados que compoe a regiao
  1312 + * @param tabela com os dados
  1313 + * @param coluna com as geometrias
  1314 + * @param coluna com o centroide
  1315 + * @param data dos dados
  1316 + * @param coluna que identifica de forma unica cada localizacao
  1317 + * @param coluna que contem os nomes de cada localizacao
  1318 + * @param codigo srid indicando a projecao dos dados
  1319 + * @param codigo da conexao com o banco de dados
  1320 + * @param lista de colunas que devem ser incluidas quando a regiao e mostrada no mapa
  1321 + * @param apelidos das colunas visiveis
  1322 + * @return id da regiao
  1323 + */
1151 function alteraTipoRegiao($codigo_tipo_regiao,$nome_tipo_regiao,$descricao_tipo_regiao,$esquemadb,$tabela,$colunageo,$colunacentroide,$data,$identificador,$colunanomeregiao,$srid,$codigo_estat_conexao,$colunasvisiveis,$apelidos){ 1324 function alteraTipoRegiao($codigo_tipo_regiao,$nome_tipo_regiao,$descricao_tipo_regiao,$esquemadb,$tabela,$colunageo,$colunacentroide,$data,$identificador,$colunanomeregiao,$srid,$codigo_estat_conexao,$colunasvisiveis,$apelidos){
1152 try { 1325 try {
1153 if($codigo_tipo_regiao != ""){ 1326 if($codigo_tipo_regiao != ""){
@@ -1169,6 +1342,15 @@ class Metaestat{ @@ -1169,6 +1342,15 @@ class Metaestat{
1169 return "Error!: " . $e->getMessage(); 1342 return "Error!: " . $e->getMessage();
1170 } 1343 }
1171 } 1344 }
  1345 + /**
  1346 + * Cria ou altera o registro de uma agregacao de regiao
  1347 + * Agregacoes indica a relacao de pai-filho entre tipos de regiao
  1348 + * @param codigo do tipo de regiao
  1349 + * @param id que identifica a agregacao
  1350 + * @param codigo do tipo de regiao pai
  1351 + * @param nome da coluna que faz a ligacao com a tabela da regiao pai
  1352 + * @return id
  1353 + */
1172 function alteraAgregaRegiao($codigo_tipo_regiao,$id_agregaregiao="",$codigo_tipo_regiao_pai="",$colunaligacao_regiaopai=""){ 1354 function alteraAgregaRegiao($codigo_tipo_regiao,$id_agregaregiao="",$codigo_tipo_regiao_pai="",$colunaligacao_regiaopai=""){
1173 try { 1355 try {
1174 if($id_agregaregiao != ""){ 1356 if($id_agregaregiao != ""){
@@ -1185,11 +1367,19 @@ class Metaestat{ @@ -1185,11 +1367,19 @@ class Metaestat{
1185 return "Error!: " . $e->getMessage(); 1367 return "Error!: " . $e->getMessage();
1186 } 1368 }
1187 } 1369 }
1188 - /*  
1189 - Function: alteraParametroMedida  
1190 -  
1191 - Altera uma parametro de uma medida ou cria uma nova  
1192 - */ 1370 + /**
  1371 + * Cria ou altera um parametro de uma medida de variavel
  1372 + * Parametros permitem caracterizar os dados, por exemplo, um ano, mes e dia
  1373 + * Parametros podem ter uma hierarquia
  1374 + * @param id da medida da variavel
  1375 + * @param id do parametro
  1376 + * @param nome do parametro
  1377 + * @param descricao
  1378 + * @param nome da coluna na tabela que armazena os valores do parametro
  1379 + * @param i do parametro pai do atual
  1380 + * @param tipo de parametro. Utilizado para parametros que indicam tempo sendo 0=ano,1=mes,2=dia,3=hora
  1381 + * @return id do parametro
  1382 + */
1193 function alteraParametroMedida($id_medida_variavel,$id_parametro_medida="",$nome,$descricao,$coluna,$id_pai,$tipo="0"){ 1383 function alteraParametroMedida($id_medida_variavel,$id_parametro_medida="",$nome,$descricao,$coluna,$id_pai,$tipo="0"){
1194 try { 1384 try {
1195 if($id_parametro_medida != ""){ 1385 if($id_parametro_medida != ""){
@@ -1213,6 +1403,16 @@ class Metaestat{ @@ -1213,6 +1403,16 @@ class Metaestat{
1213 return "Error!: " . $e->getMessage(); 1403 return "Error!: " . $e->getMessage();
1214 } 1404 }
1215 } 1405 }
  1406 + /*
  1407 + * Cria ou altera uma classificacao de uma medida
  1408 + * Classificacoes possuem classes que definem os intervalos e simbologia
  1409 + * Uma medida pode ter varias classificacoes
  1410 + * @param id da medida de variavel
  1411 + * @param id da classificacao
  1412 + * @param nome
  1413 + * @param observacao
  1414 + * @return id
  1415 + */
1216 function alteraClassificacaoMedida($id_medida_variavel,$id_classificacao="",$nome="",$observacao=""){ 1416 function alteraClassificacaoMedida($id_medida_variavel,$id_classificacao="",$nome="",$observacao=""){
1217 try { 1417 try {
1218 if($id_classificacao != ""){ 1418 if($id_classificacao != ""){
@@ -1235,11 +1435,22 @@ class Metaestat{ @@ -1235,11 +1435,22 @@ class Metaestat{
1235 return "Error!: " . $e->getMessage(); 1435 return "Error!: " . $e->getMessage();
1236 } 1436 }
1237 } 1437 }
1238 - /*  
1239 - Function: alteraClasseClassificacao  
1240 -  
1241 - Altera uma classe de uma classificacao  
1242 - */ 1438 + /**
  1439 + * Cria ou altera uma classe de uma classificacao
  1440 + * @param id da classificacao
  1441 + * @param id da classe
  1442 + * @param titulo da classe
  1443 + * @param expressao de selecao (no padrao mapfile)
  1444 + * @param componente vermelho da cor da classe
  1445 + * @param verde
  1446 + * @param azul
  1447 + * @param tamanho do simbolo
  1448 + * @param componente vermelho da cor do outline da classe
  1449 + * @param verde
  1450 + * @param azul
  1451 + * @param tamanho do outline (expessura)
  1452 + * @return id
  1453 + */
1243 function alteraClasseClassificacao($id_classificacao,$id_classe="",$titulo="",$expressao="",$vermelho="",$verde="",$azul="",$tamanho="",$simbolo="",$overmelho="",$overde="",$oazul="",$otamanho=""){ 1454 function alteraClasseClassificacao($id_classificacao,$id_classe="",$titulo="",$expressao="",$vermelho="",$verde="",$azul="",$tamanho="",$simbolo="",$overmelho="",$overde="",$oazul="",$otamanho=""){
1244 try { 1455 try {
1245 if($id_classe != ""){ 1456 if($id_classe != ""){
@@ -1265,15 +1476,10 @@ class Metaestat{ @@ -1265,15 +1476,10 @@ class Metaestat{
1265 return "Error!: " . $e->getMessage(); 1476 return "Error!: " . $e->getMessage();
1266 } 1477 }
1267 } 1478 }
1268 - /*  
1269 - Function: listaMapas  
1270 -  
1271 - Lista os mapas cadastrados para publicacao  
1272 -  
1273 - Parametros:  
1274 -  
1275 - $id_mapa - opcional  
1276 - */ 1479 + /**
  1480 + * Lista os dados de um ou de todos os mapas cadastrados
  1481 + * @param id do mapa
  1482 + */
1277 function listaMapas($id_mapa=""){ 1483 function listaMapas($id_mapa=""){
1278 $sql = "select * from ".$this->esquemaadmin."i3geoestat_mapa "; 1484 $sql = "select * from ".$this->esquemaadmin."i3geoestat_mapa ";
1279 if($id_mapa != ""){ 1485 if($id_mapa != ""){
@@ -1282,11 +1488,11 @@ class Metaestat{ @@ -1282,11 +1488,11 @@ class Metaestat{
1282 $sql .= "ORDER BY titulo"; 1488 $sql .= "ORDER BY titulo";
1283 return $this->execSQL($sql,$id_mapa); 1489 return $this->execSQL($sql,$id_mapa);
1284 } 1490 }
1285 - /*  
1286 - Function: listaGruposMapa  
1287 -  
1288 - Lista os grupos de um mapa cadastrados para publicacao  
1289 - */ 1491 + /**
  1492 + * Lista os dados de um ou de todos os mapas grupos de um mapa
  1493 + * @param id do mapa
  1494 + * @param id do grupo
  1495 + */
1290 function listaGruposMapa($id_mapa,$id_mapa_grupo){ 1496 function listaGruposMapa($id_mapa,$id_mapa_grupo){
1291 if(!empty($id_mapa)){ 1497 if(!empty($id_mapa)){
1292 $sql = "SELECT * from ".$this->esquemaadmin."i3geoestat_mapa_grupo WHERE id_mapa = $id_mapa"; 1498 $sql = "SELECT * from ".$this->esquemaadmin."i3geoestat_mapa_grupo WHERE id_mapa = $id_mapa";
@@ -1297,11 +1503,12 @@ class Metaestat{ @@ -1297,11 +1503,12 @@ class Metaestat{
1297 $sql .= " ORDER BY titulo"; 1503 $sql .= " ORDER BY titulo";
1298 return $this->execSQL($sql,$id_mapa_grupo); 1504 return $this->execSQL($sql,$id_mapa_grupo);
1299 } 1505 }
1300 - /*  
1301 - Function: listaTemasMapa  
1302 -  
1303 - Lista os temas de um grupo de um mapa cadastrados para publicacao  
1304 - */ 1506 + /**
  1507 + * Lista os dados de um ou de todos os temas de um grupo de um mapa
  1508 + * @param id do mapa
  1509 + * @param id do grupo
  1510 + * @param id do tema
  1511 + */
1305 function listaTemasMapa($id_mapa_grupo,$id_mapa_tema){ 1512 function listaTemasMapa($id_mapa_grupo,$id_mapa_tema){
1306 if(!empty($id_mapa_grupo)){ 1513 if(!empty($id_mapa_grupo)){
1307 $sql = "SELECT * from ".$this->esquemaadmin."i3geoestat_mapa_tema WHERE id_mapa_grupo = $id_mapa_grupo"; 1514 $sql = "SELECT * from ".$this->esquemaadmin."i3geoestat_mapa_tema WHERE id_mapa_grupo = $id_mapa_grupo";
@@ -1312,15 +1519,10 @@ class Metaestat{ @@ -1312,15 +1519,10 @@ class Metaestat{
1312 $sql .= " ORDER BY titulo"; 1519 $sql .= " ORDER BY titulo";
1313 return $this->execSQL($sql,$id_mapa_tema); 1520 return $this->execSQL($sql,$id_mapa_tema);
1314 } 1521 }
1315 - /*  
1316 - Function: listaUnidadeMedida  
1317 -  
1318 - Lista as unidades de medida cadastradas ou uma unica unidade  
1319 -  
1320 - Parametros:  
1321 -  
1322 - $codigo_unidade_medida - opcional  
1323 - */ 1522 + /**
  1523 + * Lista os dados de uma ou todas as unidades de medida cadastradas
  1524 + * @param codigo da unidade
  1525 + */
1324 function listaUnidadeMedida($codigo_unidade_medida=""){ 1526 function listaUnidadeMedida($codigo_unidade_medida=""){
1325 $sql = "select * from ".$this->esquemaadmin."i3geoestat_unidade_medida "; 1527 $sql = "select * from ".$this->esquemaadmin."i3geoestat_unidade_medida ";
1326 if($codigo_unidade_medida != ""){ 1528 if($codigo_unidade_medida != ""){
@@ -1329,12 +1531,10 @@ class Metaestat{ @@ -1329,12 +1531,10 @@ class Metaestat{
1329 $sql .= "ORDER BY nome"; 1531 $sql .= "ORDER BY nome";
1330 return $this->execSQL($sql,$codigo_unidade_medida); 1532 return $this->execSQL($sql,$codigo_unidade_medida);
1331 } 1533 }
1332 - /*  
1333 - Function: listaFonteinfo  
1334 -  
1335 - Lista as fontes cadastradas ou uma unica unidade  
1336 -  
1337 - */ 1534 + /**
  1535 + * Lista os dados de uma ou todas as fontes cadastradas
  1536 + * @param id da fonte
  1537 + */
1338 function listaFonteinfo($id_fonteinfo=""){ 1538 function listaFonteinfo($id_fonteinfo=""){
1339 $sql = "select * from ".$this->esquemaadmin."i3geoestat_fonteinfo "; 1539 $sql = "select * from ".$this->esquemaadmin."i3geoestat_fonteinfo ";
1340 if($id_fonteinfo != ""){ 1540 if($id_fonteinfo != ""){
@@ -1343,12 +1543,10 @@ class Metaestat{ @@ -1343,12 +1543,10 @@ class Metaestat{
1343 $sql .= "ORDER BY titulo"; 1543 $sql .= "ORDER BY titulo";
1344 return $this->execSQL($sql,$id_fonteinfo); 1544 return $this->execSQL($sql,$id_fonteinfo);
1345 } 1545 }
1346 - /*  
1347 - Function: listaFonteinfoMedida  
1348 -  
1349 - Lista as fontes cadastradas ou uma unica unidade  
1350 -  
1351 - */ 1546 + /**
  1547 + * Lista as fontes vinculadas a uma medida de variavel
  1548 + * @param id da medida de variavel
  1549 + */
1352 function listaFonteinfoMedida($id_medida_variavel){ 1550 function listaFonteinfoMedida($id_medida_variavel){
1353 $sql = "SELECT i3geoestat_fonteinfo.* "; 1551 $sql = "SELECT i3geoestat_fonteinfo.* ";
1354 $sql .= "FROM ".$this->esquemaadmin."i3geoestat_fonteinfo "; 1552 $sql .= "FROM ".$this->esquemaadmin."i3geoestat_fonteinfo ";
@@ -1359,15 +1557,11 @@ class Metaestat{ @@ -1359,15 +1557,11 @@ class Metaestat{
1359 //echo $sql;exit; 1557 //echo $sql;exit;
1360 return $this->execSQL($sql,$id_fonteinfo); 1558 return $this->execSQL($sql,$id_fonteinfo);
1361 } 1559 }
1362 - /*  
1363 - Function: listaVariavel  
1364 -  
1365 - Lista as variaveis cadastradas ou uma unica variavel  
1366 -  
1367 - Parametros:  
1368 -  
1369 - $codigo_variavel - opcional  
1370 - */ 1560 + /**
  1561 + * Lista os dados de uma ou todas as variaveis cadastradas
  1562 + * @param codigo da variavel
  1563 + * @param mostra apenas as variaveis cujas tabelas ficam nesse esquema
  1564 + */
1371 function listaVariavel($codigo_variavel="",$filtro_esquema=""){ 1565 function listaVariavel($codigo_variavel="",$filtro_esquema=""){
1372 $sql = "select DISTINCT a.* from ".$this->esquemaadmin."i3geoestat_variavel as a "; 1566 $sql = "select DISTINCT a.* from ".$this->esquemaadmin."i3geoestat_variavel as a ";
1373 if($codigo_variavel != ""){ 1567 if($codigo_variavel != ""){
@@ -1380,15 +1574,11 @@ class Metaestat{ @@ -1380,15 +1574,11 @@ class Metaestat{
1380 //echo $sql;exit; 1574 //echo $sql;exit;
1381 return $this->execSQL($sql,$codigo_variavel); 1575 return $this->execSQL($sql,$codigo_variavel);
1382 } 1576 }
1383 - /*  
1384 - Function: listaClassificacaoMedida  
1385 -  
1386 - Lista as classificacoes de uma medida de uma variavel  
1387 -  
1388 - Parametros:  
1389 -  
1390 - $id_medida_variavel  
1391 - */ 1577 + /**
  1578 + * Lista os dados de uma ou todas as classificacoes de uma medida de variavel
  1579 + * @param id da medida de variavel
  1580 + * @param id da classificacao
  1581 + */
1392 function listaClassificacaoMedida($id_medida_variavel,$id_classificacao=""){ 1582 function listaClassificacaoMedida($id_medida_variavel,$id_classificacao=""){
1393 if(!empty($id_medida_variavel)){ 1583 if(!empty($id_medida_variavel)){
1394 $sql = "SELECT * from ".$this->esquemaadmin."i3geoestat_classificacao WHERE id_medida_variavel = $id_medida_variavel"; 1584 $sql = "SELECT * from ".$this->esquemaadmin."i3geoestat_classificacao WHERE id_medida_variavel = $id_medida_variavel";
@@ -1398,15 +1588,11 @@ class Metaestat{ @@ -1398,15 +1588,11 @@ class Metaestat{
1398 } 1588 }
1399 return $this->execSQL($sql,$id_classificacao); 1589 return $this->execSQL($sql,$id_classificacao);
1400 } 1590 }
1401 - /*  
1402 - Function: listaLinkMedida  
1403 -  
1404 - Lista os links de uma medida de uma variavel  
1405 -  
1406 - Parametros:  
1407 -  
1408 - $id_medida_variavel  
1409 - */ 1591 + /**
  1592 + * Lista os dados de um ou todos os links de uma medida
  1593 + * @param id da medida
  1594 + * @param id do link
  1595 + */
1410 function listaLinkMedida($id_medida_variavel,$id_link=""){ 1596 function listaLinkMedida($id_medida_variavel,$id_link=""){
1411 if(!empty($id_medida_variavel)){ 1597 if(!empty($id_medida_variavel)){
1412 $sql = "SELECT * from ".$this->esquemaadmin."i3geoestat_medida_variavel_link WHERE id_medida_variavel = $id_medida_variavel"; 1598 $sql = "SELECT * from ".$this->esquemaadmin."i3geoestat_medida_variavel_link WHERE id_medida_variavel = $id_medida_variavel";
@@ -1416,11 +1602,11 @@ class Metaestat{ @@ -1416,11 +1602,11 @@ class Metaestat{
1416 } 1602 }
1417 return $this->execSQL($sql,$id_link); 1603 return $this->execSQL($sql,$id_link);
1418 } 1604 }
1419 - /*  
1420 - Function: listaClasseClassificacao  
1421 -  
1422 - Lista as classes de uma classificacao  
1423 - */ 1605 + /**
  1606 + * Lista os dados de uma ou todas as classes de uma classificacao
  1607 + * @param id da classificacao
  1608 + * @param id da classe
  1609 + */
1424 function listaClasseClassificacao($id_classificacao,$id_classe=""){ 1610 function listaClasseClassificacao($id_classificacao,$id_classe=""){
1425 if(!empty($id_classificacao)){ 1611 if(!empty($id_classificacao)){
1426 $sql = "SELECT * from ".$this->esquemaadmin."i3geoestat_classes WHERE id_classificacao = $id_classificacao"; 1612 $sql = "SELECT * from ".$this->esquemaadmin."i3geoestat_classes WHERE id_classificacao = $id_classificacao";
@@ -1430,17 +1616,11 @@ class Metaestat{ @@ -1430,17 +1616,11 @@ class Metaestat{
1430 } 1616 }
1431 return $this->execSQL($sql,$id_classe); 1617 return $this->execSQL($sql,$id_classe);
1432 } 1618 }
1433 - /*  
1434 - Function: listaMedidaVariavel  
1435 -  
1436 - Lista as medidas das variaveis cadastradas para uma variavel ou uma unica medida  
1437 -  
1438 - Parametros:  
1439 -  
1440 - $codigo_variavel  
1441 -  
1442 - $id_medida_variavel - opcional  
1443 - */ 1619 + /**
  1620 + * Lista os dados de uma ou todas as medidas de variavel de uma variavel
  1621 + * @param codigo da variavel
  1622 + * @param id da medida de variavel
  1623 + */
1444 function listaMedidaVariavel($codigo_variavel,$id_medida_variavel=""){ 1624 function listaMedidaVariavel($codigo_variavel,$id_medida_variavel=""){
1445 $sql = "SELECT i3geoestat_medida_variavel.*,i3geoestat_variavel.nome as nome_variavel,i3geoestat_unidade_medida.permitemedia,i3geoestat_unidade_medida.permitesoma,i3geoestat_unidade_medida.nome as unidade_medida "; 1625 $sql = "SELECT i3geoestat_medida_variavel.*,i3geoestat_variavel.nome as nome_variavel,i3geoestat_unidade_medida.permitemedia,i3geoestat_unidade_medida.permitesoma,i3geoestat_unidade_medida.nome as unidade_medida ";
1446 $sql .= "FROM ".$this->esquemaadmin."i3geoestat_variavel "; 1626 $sql .= "FROM ".$this->esquemaadmin."i3geoestat_variavel ";
@@ -1460,11 +1640,10 @@ class Metaestat{ @@ -1460,11 +1640,10 @@ class Metaestat{
1460 //echo $sql;exit; 1640 //echo $sql;exit;
1461 return $this->execSQL($sql,$id_medida_variavel); 1641 return $this->execSQL($sql,$id_medida_variavel);
1462 } 1642 }
1463 - /*  
1464 - Function: listaRegioesMedida  
1465 -  
1466 - Lista as regioes de uma medida variavel  
1467 - */ 1643 + /**
  1644 + * Lista as regioes vinculadas a uma medida de variavel
  1645 + * @param id da medida de vriavel
  1646 + */
1468 function listaRegioesMedida($id_medida_variavel){ 1647 function listaRegioesMedida($id_medida_variavel){
1469 $variavel = $this->listaMedidaVariavel("",$id_medida_variavel); 1648 $variavel = $this->listaMedidaVariavel("",$id_medida_variavel);
1470 $codigo_tipo_regiao = $variavel["codigo_tipo_regiao"]; 1649 $codigo_tipo_regiao = $variavel["codigo_tipo_regiao"];
@@ -1476,17 +1655,11 @@ class Metaestat{ @@ -1476,17 +1655,11 @@ class Metaestat{
1476 } 1655 }
1477 return $regioes; 1656 return $regioes;
1478 } 1657 }
1479 - /*  
1480 - Function: listaConexao  
1481 -  
1482 - Lista as conexoes cadastradas ou uma unica conexao  
1483 -  
1484 - Parametros:  
1485 -  
1486 - $id {string} - opcional  
1487 -  
1488 - $senha {boolean} - mostra ou nao a senha - opcional  
1489 - */ 1658 + /**
  1659 + * Lista os dads de uma conexao ou de todas
  1660 + * @param id da conexao
  1661 + * @param boolean inclui na lista a senha ou nao
  1662 + */
1490 function listaConexao($codigo_estat_conexao="",$senha=false){ 1663 function listaConexao($codigo_estat_conexao="",$senha=false){
1491 if($senha == true){ 1664 if($senha == true){
1492 $colunas = "codigo_estat_conexao, bancodedados, host, porta, usuario, senha"; 1665 $colunas = "codigo_estat_conexao, bancodedados, host, porta, usuario, senha";
@@ -1501,17 +1674,12 @@ class Metaestat{ @@ -1501,17 +1674,12 @@ class Metaestat{
1501 $sql .= "ORDER BY bancodedados,host,usuario"; 1674 $sql .= "ORDER BY bancodedados,host,usuario";
1502 return $this->execSQL($sql,$codigo_estat_conexao); 1675 return $this->execSQL($sql,$codigo_estat_conexao);
1503 } 1676 }
1504 - /*  
1505 - Function: listaParametro  
1506 -  
1507 - Lista os parametros cadastradas ou uma unica variavel  
1508 -  
1509 - Parametros:  
1510 -  
1511 - $id_medida_variavel  
1512 -  
1513 - $id_parametro_variavel - opcional  
1514 - */ 1677 + /**
  1678 + * Lista os dados de um ou de todos os parametros relacionados a uma medida de variavel
  1679 + * @param id da medida de variavel
  1680 + * @param id do parametro
  1681 + * @param id do pai (se definido, lista apenas os filhos deste)
  1682 + */
1515 function listaParametro($id_medida_variavel,$id_parametro_medida="",$id_pai=""){ 1683 function listaParametro($id_medida_variavel,$id_parametro_medida="",$id_pai=""){
1516 $sql = "SELECT i3geoestat_parametro_medida.*,i3geoestat_medida_variavel.* "; 1684 $sql = "SELECT i3geoestat_parametro_medida.*,i3geoestat_medida_variavel.* ";
1517 $sql .= "FROM ".$this->esquemaadmin."i3geoestat_parametro_medida "; 1685 $sql .= "FROM ".$this->esquemaadmin."i3geoestat_parametro_medida ";
@@ -1532,6 +1700,11 @@ class Metaestat{ @@ -1532,6 +1700,11 @@ class Metaestat{
1532 //echo $sql;exit; 1700 //echo $sql;exit;
1533 return $this->execSQL($sql,$id_parametro_medida); 1701 return $this->execSQL($sql,$id_parametro_medida);
1534 } 1702 }
  1703 + /**
  1704 + * Lista os valores (unicos) que ocorrem em um parametro de uma medida de variavel
  1705 + * @param id do parametro
  1706 + * @return array com os valores
  1707 + */
1535 function listaValoresParametro($id_parametro_medida){ 1708 function listaValoresParametro($id_parametro_medida){
1536 $parametro = $this->listaParametro("",$id_parametro_medida); 1709 $parametro = $this->listaParametro("",$id_parametro_medida);
1537 //$medida = $this->listaMedidaVariavel("",$parametro["id_medida_variavel"]); 1710 //$medida = $this->listaMedidaVariavel("",$parametro["id_medida_variavel"]);
@@ -1542,15 +1715,10 @@ class Metaestat{ @@ -1542,15 +1715,10 @@ class Metaestat{
1542 } 1715 }
1543 return $nsm; 1716 return $nsm;
1544 } 1717 }
1545 - /*  
1546 - Function: listaTipoPeriodo  
1547 -  
1548 - Lista os tipos de per�odos de tempo cadastrados ou um �nico per�odo  
1549 -  
1550 - Parametros:  
1551 -  
1552 - $codigo_tipo_periodo - opcional  
1553 - */ 1718 + /**
  1719 + * Lista os dados de um ou todos os tipos de periodo cadastrados
  1720 + * @param id
  1721 + */
1554 function listaTipoPeriodo($codigo_tipo_periodo=""){ 1722 function listaTipoPeriodo($codigo_tipo_periodo=""){
1555 $sql = "select * from ".$this->esquemaadmin."i3geoestat_tipo_periodo "; 1723 $sql = "select * from ".$this->esquemaadmin."i3geoestat_tipo_periodo ";
1556 if($codigo_tipo_periodo != ""){ 1724 if($codigo_tipo_periodo != ""){
@@ -1559,12 +1727,11 @@ class Metaestat{ @@ -1559,12 +1727,11 @@ class Metaestat{
1559 $sql .= "ORDER BY nome"; 1727 $sql .= "ORDER BY nome";
1560 return $this->execSQL($sql,$codigo_tipo_periodo); 1728 return $this->execSQL($sql,$codigo_tipo_periodo);
1561 } 1729 }
1562 - /*  
1563 - Function: listaDimensaoRegiao  
1564 -  
1565 - Lista a dimensao de uma tabela contendo as regioes  
1566 -  
1567 - */ 1730 + /**
  1731 + * Lista as propriedades da coluna com as geometrias de uma regiao geografica
  1732 + * @param codigo do tipo de regiao
  1733 + * @return array com os parametros, inclusive a dimensao (st_dimension)
  1734 + */
1568 function listaPropGeoRegiao($codigo_tipo_regiao){ 1735 function listaPropGeoRegiao($codigo_tipo_regiao){
1569 //st_dimension returns 0 for POINT, 1 for LINESTRING, 2 for POLYGON 1736 //st_dimension returns 0 for POINT, 1 for LINESTRING, 2 for POLYGON
1570 $regiao = $this->listaTipoRegiao($codigo_tipo_regiao); 1737 $regiao = $this->listaTipoRegiao($codigo_tipo_regiao);
@@ -1580,15 +1747,10 @@ class Metaestat{ @@ -1580,15 +1747,10 @@ class Metaestat{
1580 } 1747 }
1581 return $r; 1748 return $r;
1582 } 1749 }
1583 - /*  
1584 - Function: listaTipoRegiao  
1585 -  
1586 - Lista os tipos de regiao cadastrados ou uma unica  
1587 -  
1588 - Parametros:  
1589 -  
1590 - $codigo_tipo_periodo - opcional  
1591 - */ 1750 + /**
  1751 + * Lista os dados de uma ou todas as regioes cadastradas
  1752 + * @param codigo do tipo de regiao
  1753 + */
1592 function listaTipoRegiao($codigo_tipo_regiao=""){ 1754 function listaTipoRegiao($codigo_tipo_regiao=""){
1593 $sql = "select * from ".$this->esquemaadmin."i3geoestat_tipo_regiao "; 1755 $sql = "select * from ".$this->esquemaadmin."i3geoestat_tipo_regiao ";
1594 if($codigo_tipo_regiao != ""){ 1756 if($codigo_tipo_regiao != ""){
@@ -1597,6 +1759,10 @@ class Metaestat{ @@ -1597,6 +1759,10 @@ class Metaestat{
1597 $sql .= "ORDER BY nome_tipo_regiao"; 1759 $sql .= "ORDER BY nome_tipo_regiao";
1598 return $this->execSQL($sql,$codigo_tipo_regiao); 1760 return $this->execSQL($sql,$codigo_tipo_regiao);
1599 } 1761 }
  1762 + /**
  1763 + * Lista os dados de agregacao de uma regiao pai
  1764 + * @param codigo da regiao
  1765 + */
1600 function listaHierarquiaRegioes($codigoregiaopai=""){ 1766 function listaHierarquiaRegioes($codigoregiaopai=""){
1601 $sql = "select i3geoestat_agregaregiao.colunaligacao_regiaopai,i3geoestat_tipo_regiao.codigo_tipo_regiao,i3geoestat_tipo_regiao.nome_tipo_regiao from ".$this->esquemaadmin."i3geoestat_tipo_regiao "; 1767 $sql = "select i3geoestat_agregaregiao.colunaligacao_regiaopai,i3geoestat_tipo_regiao.codigo_tipo_regiao,i3geoestat_tipo_regiao.nome_tipo_regiao from ".$this->esquemaadmin."i3geoestat_tipo_regiao ";
1602 $sql .= "LEFT JOIN ".$this->esquemaadmin."i3geoestat_agregaregiao "; 1768 $sql .= "LEFT JOIN ".$this->esquemaadmin."i3geoestat_agregaregiao ";
@@ -1609,6 +1775,14 @@ class Metaestat{ @@ -1609,6 +1775,14 @@ class Metaestat{
1609 } 1775 }
1610 return $this->execSQL($sql,""); 1776 return $this->execSQL($sql,"");
1611 } 1777 }
  1778 + /**
  1779 + * Lista os registros de um tipo de regiao
  1780 + * Se for definido o pai, lista os valores da regiao que e filha
  1781 + * Nesse caso e necessario definir o identificador da regiao pai para obter os registros na regiao filha
  1782 + * @param codigo do tipo de regiao
  1783 + * @param codigo do tipo de regiao pai
  1784 + * @param identificador da regiao (registro) pai
  1785 + */
1612 function listaDadosRegiao($codigo_tipo_regiao,$codigo_tipo_regiaopai="",$valorregiaopai=""){ 1786 function listaDadosRegiao($codigo_tipo_regiao,$codigo_tipo_regiaopai="",$valorregiaopai=""){
1613 //pega a tabela, esquema e conexao para acessar os dados da regiao 1787 //pega a tabela, esquema e conexao para acessar os dados da regiao
1614 $regiao = $this->listaTipoRegiao($codigo_tipo_regiao); 1788 $regiao = $this->listaTipoRegiao($codigo_tipo_regiao);
@@ -1630,6 +1804,10 @@ class Metaestat{ @@ -1630,6 +1804,10 @@ class Metaestat{
1630 } 1804 }
1631 return $r; 1805 return $r;
1632 } 1806 }
  1807 + /**
  1808 + * Lista os registros de uma tabela que e uma regiao
  1809 + * @param codigo do tipo de regiao
  1810 + */
1633 function listaDadosGeometriaRegiao($codigo_tipo_regiao){ 1811 function listaDadosGeometriaRegiao($codigo_tipo_regiao){
1634 //pega a tabela, esquema e conexao para acessar os dados da regiao 1812 //pega a tabela, esquema e conexao para acessar os dados da regiao
1635 $regiao = $this->listaTipoRegiao($codigo_tipo_regiao); 1813 $regiao = $this->listaTipoRegiao($codigo_tipo_regiao);
@@ -1646,6 +1824,11 @@ class Metaestat{ @@ -1646,6 +1824,11 @@ class Metaestat{
1646 } 1824 }
1647 return $r[0]; 1825 return $r[0];
1648 } 1826 }
  1827 + /**
  1828 + * Lista uma ou todas as agregacoes de regioes existentes para um tipo de regiao
  1829 + * @param codigo do tipo de regiao
  1830 + * @param id da agregacao
  1831 + */
1649 function listaAgregaRegiao($codigo_tipo_regiao,$id_agregaregiao=""){ 1832 function listaAgregaRegiao($codigo_tipo_regiao,$id_agregaregiao=""){
1650 $sql = "select * from ".$this->esquemaadmin."i3geoestat_agregaregiao "; 1833 $sql = "select * from ".$this->esquemaadmin."i3geoestat_agregaregiao ";
1651 if($id_agregaregiao != ""){ 1834 if($id_agregaregiao != ""){
@@ -1658,6 +1841,11 @@ class Metaestat{ @@ -1658,6 +1841,11 @@ class Metaestat{
1658 //echo $sql;exit; 1841 //echo $sql;exit;
1659 return $this->execSQL($sql,$id_agregaregiao); 1842 return $this->execSQL($sql,$id_agregaregiao);
1660 } 1843 }
  1844 + /**
  1845 + * Lista uma ou todas as agregacoes de regioes filhas de um tipo de regiao
  1846 + * @param codigo do tipo de regiao
  1847 + * @param codigo do tipo de regiao que e pai
  1848 + */
1661 function listaAgregaRegiaoFilho($codigo_tipo_regiao,$codigo_tipo_regiao_pai){ 1849 function listaAgregaRegiaoFilho($codigo_tipo_regiao,$codigo_tipo_regiao_pai){
1662 $sql = "select * from ".$this->esquemaadmin."i3geoestat_agregaregiao "; 1850 $sql = "select * from ".$this->esquemaadmin."i3geoestat_agregaregiao ";
1663 $sql .= "WHERE codigo_tipo_regiao_pai = $codigo_tipo_regiao_pai "; 1851 $sql .= "WHERE codigo_tipo_regiao_pai = $codigo_tipo_regiao_pai ";