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 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 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 45 protected $esquemaadmin;
  46 + /**
  47 + * Objeto PDO obtido com new PDO com direito de leitura no banco de dados de administracao
  48 + */
40 49 public $dbh;
  50 + /**
  51 + * Objeto PDO obtido com new PDO com direito de escrita no banco de dados de administracao
  52 + */
41 53 protected $dbhw;
  54 + /**
  55 + * Indica se e necessario converter para UTF strings obtidas do banco de administracao
  56 + */
42 57 protected $convUTF;
  58 + /**
  59 + * Pasta temporaria utilizada pelo mapserver
  60 + */
43 61 public $dir_tmp;
  62 + /**
  63 + * Pasta onde e feito o cache de imagens do i3Geo
  64 + */
44 65 public $nomecache;
45 66 /**
46 67 * Construtor
... ... @@ -68,9 +89,18 @@ class Metaestat{
68 89 function __destruct(){
69 90 $this->fechaConexao;
70 91 }
  92 + /**
  93 + * Cria um nome de arquivo concatenando $_request
  94 + * @return string
  95 + */
71 96 function nomeCache(){
72 97 return md5(implode("x",$_REQUEST));
73 98 }
  99 + /**
  100 + * Cria um nome aleatorio
  101 + * @param numero de caracteres
  102 + * @return string
  103 + */
74 104 function nomeRandomico($n=10){
75 105 $nomes = "";
76 106 $a = 'azertyuiopqsdfghjklmwxcvbnABCDEFGHIJKLMNOPQRSTUVWXYZ';
... ... @@ -81,11 +111,19 @@ class Metaestat{
81 111 }
82 112 return $nomes;
83 113 }
  114 + /**
  115 + * Fecha a conexao com o banco de dados de administracao
  116 + */
84 117 function fechaConexao(){
85 118 $this->dbh = null;
86 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 127 function converteTextoArray($texto){
90 128 try {
91 129 if(empty($texto) || strtoupper($texto) == "NULL"){
... ... @@ -115,6 +153,11 @@ class Metaestat{
115 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 161 function converteTexto($texto){
119 162 if($texto == "0"){
120 163 return "0";
... ... @@ -130,21 +173,15 @@ class Metaestat{
130 173 }
131 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 185 function execSQL($sql,$id="",$convTexto=true){
149 186 try {
150 187 $q = $this->dbh->query($sql,PDO::FETCH_ASSOC);
... ... @@ -179,10 +216,11 @@ class Metaestat{
179 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 225 function execSQLDB($codigo_estat_conexao,$sql){
188 226 $c = $this->listaConexao($codigo_estat_conexao,true);
... ... @@ -193,10 +231,18 @@ class Metaestat{
193 231 $this->dbh = $dbhold;
194 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 244 function insertId($tabela,$colunatemp,$colunaid){
197 245 $idtemp = (rand (9000,10000)) * -1;
198   - //echo "INSERT INTO ".$this->esquemaadmin.$tabela." ($colunatemp) VALUES ('$idtemp')";exit;
199   -
200 246 $this->dbhw->query("INSERT INTO ".$this->esquemaadmin.$tabela." ($colunatemp) VALUES ('$idtemp')");
201 247 $id = $this->dbh->query("SELECT $colunaid FROM ".$this->esquemaadmin.$tabela." WHERE $colunatemp = '$idtemp'");
202 248 $id = $id->fetchAll();
... ... @@ -204,8 +250,13 @@ class Metaestat{
204 250 $this->dbhw->query("UPDATE ".$this->esquemaadmin.$tabela." SET $colunatemp = '' WHERE $colunaid = $id AND $colunatemp = '$idtemp'");
205 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 260 try {
210 261 $this->dbhw->query("DELETE from ".$this->esquemaadmin.$tabela." WHERE $coluna = $id");
211 262 return "ok";
... ... @@ -214,8 +265,12 @@ class Metaestat{
214 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 274 try {
220 275 $this->dbhw->query("DELETE from ".$this->esquemaadmin."i3geoestat_fonteinfo_medida WHERE id_medida_variavel = $id_medida_variavel and id_fonteinfo = $id_fonteinfo");
221 276 return "ok";
... ... @@ -224,17 +279,15 @@ class Metaestat{
224 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 291 function sqlMedidaVariavel($id_medida_variavel,$todasascolunas,$agruparpor="",$tipolayer="polygon",$codigo_tipo_regiao = ""){
239 292 $filtro = false;
240 293 $dados = $this->listaMedidaVariavel("",$id_medida_variavel);
... ... @@ -410,6 +463,23 @@ class Metaestat{
410 463 $sqlagrupamento = str_replace("d.".$dados["colunaidgeo"].",g.".$dados["colunaidgeo"],"d.".$dados["colunaidgeo"],$sqlagrupamento);
411 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 483 function mapfileMedidaVariavel($id_medida_variavel,$filtro="",$todasascolunas = 0,$tipolayer="polygon",$titulolayer="",$id_classificacao="",$agruparpor="",$codigo_tipo_regiao="",$opacidade=""){
414 484 //para permitir a inclusao de filtros, o fim do sql e marcado com /*FW*//*FW*/
415 485 //indicando onde deve comecar e terminar uma possivel clausula where
... ... @@ -552,6 +622,19 @@ class Metaestat{
552 622 }
553 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 638 function mapfileTipoRegiao($codigo_tipo_regiao,$outlinecolor="255,0,0",$width=1,$nomes="nao",$forcaArquivo=false){
556 639 //para permitir a inclusao de filtros, o fim do sql e marcado com /*FW*//*FW*/
557 640 //indicando onde deve comecar e terminar uma possivel clausula where
... ... @@ -705,6 +788,12 @@ class Metaestat{
705 788 }
706 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 797 function mapfileCompleto($mapfile){
709 798 $f = $this->base;
710 799 if($f == ""){
... ... @@ -749,6 +838,14 @@ class Metaestat{
749 838 $mapa->save($novonome);
750 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 849 function dadosMedidaVariavel($id_medida_variavel,$filtro="",$todasascolunas = 0,$agruparpor = ""){
753 850 $sql = $this->sqlMedidaVariavel($id_medida_variavel,$todasascolunas,$agruparpor);
754 851 //var_dump($sql);exit;
... ... @@ -774,6 +871,12 @@ class Metaestat{
774 871 }
775 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 880 function valorUnicoMedidaVariavel($id_medida_variavel,$coluna){
778 881 $sqlf = $this->sqlMedidaVariavel($id_medida_variavel,0,$coluna);
779 882 $sqlf = $sqlf["sqlagrupamento"];
... ... @@ -789,6 +892,13 @@ class Metaestat{
789 892 }
790 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 902 function sumarioMedidaVariavel($id_medida_variavel,$filtro="",$agruparpor=""){
793 903 if(!empty($agruparpor)){
794 904 $dados = $this->dadosMedidaVariavel($id_medida_variavel,$filtro,1);
... ... @@ -881,12 +991,18 @@ class Metaestat{
881 991 }
882 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 1006 function alteraMapa($id_mapa="",$titulo="",$template="",$logoesquerdo="",$logodireito="",$publicado=""){
891 1007 try {
892 1008 if($this->convUTF){
... ... @@ -905,12 +1021,15 @@ class Metaestat{
905 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 1033 function alteraMapaGrupo($id_mapa,$id_mapa_grupo="",$titulo=""){
915 1034 try {
916 1035 if($this->convUTF){
... ... @@ -932,12 +1051,15 @@ class Metaestat{
932 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 1063 function alteraMapaTema($id_mapa_grupo,$id_mapa_tema="",$titulo="",$id_medida_variavel=""){
942 1064 try {
943 1065 if($this->convUTF){
... ... @@ -959,15 +1081,15 @@ class Metaestat{
959 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 1093 function alteraVariavel($codigo_variavel="",$nome="",$descricao=""){
972 1094 try {
973 1095 if($this->convUTF){
... ... @@ -987,10 +1109,24 @@ class Metaestat{
987 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 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 1132 try {
... ... @@ -1014,12 +1150,15 @@ class Metaestat{
1014 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 1162 function alteraLinkMedida($id_medida_variavel,$id_link="",$nome,$link){
1024 1163 try {
1025 1164 if($id_link != ""){
... ... @@ -1041,12 +1180,15 @@ class Metaestat{
1041 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 1192 function alteraFonteinfo($id_fonteinfo="",$titulo,$link){
1051 1193 try {
1052 1194 if($id_fonteinfo != ""){
... ... @@ -1065,21 +1207,26 @@ class Metaestat{
1065 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 1215 function adicinaFonteinfoMedida($id_medida_variavel,$id_fonteinfo){
1075 1216 //echo "INSERT INTO ".$this->esquemaadmin."i3geoestat_fonteinfo_medida (id_medida_variavel,id_fonteinfo) VALUES ('$id_medida_variavel','$id_fonteinfo')";exit;
1076 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 1230 function alteraUnidadeMedida($codigo_unidade_medida,$nome,$sigla,$permitesoma,$permitemedia){
1084 1231 try {
1085 1232 if($codigo_unidade_medida != ""){
... ... @@ -1098,11 +1245,14 @@ class Metaestat{
1098 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 1256 function alteraTipoPeriodo($codigo_tipo_periodo,$nome,$descricao){
1107 1257 try {
1108 1258 if($codigo_tipo_periodo != ""){
... ... @@ -1123,11 +1273,17 @@ class Metaestat{
1123 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 1287 function alteraConexao($codigo_estat_conexao,$bancodedados,$host,$porta,$usuario){
1132 1288 try {
1133 1289 if($codigo_estat_conexao != ""){
... ... @@ -1143,11 +1299,28 @@ class Metaestat{
1143 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 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 1325 try {
1153 1326 if($codigo_tipo_regiao != ""){
... ... @@ -1169,6 +1342,15 @@ class Metaestat{
1169 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 1354 function alteraAgregaRegiao($codigo_tipo_regiao,$id_agregaregiao="",$codigo_tipo_regiao_pai="",$colunaligacao_regiaopai=""){
1173 1355 try {
1174 1356 if($id_agregaregiao != ""){
... ... @@ -1185,11 +1367,19 @@ class Metaestat{
1185 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 1383 function alteraParametroMedida($id_medida_variavel,$id_parametro_medida="",$nome,$descricao,$coluna,$id_pai,$tipo="0"){
1194 1384 try {
1195 1385 if($id_parametro_medida != ""){
... ... @@ -1213,6 +1403,16 @@ class Metaestat{
1213 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 1416 function alteraClassificacaoMedida($id_medida_variavel,$id_classificacao="",$nome="",$observacao=""){
1217 1417 try {
1218 1418 if($id_classificacao != ""){
... ... @@ -1235,11 +1435,22 @@ class Metaestat{
1235 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 1454 function alteraClasseClassificacao($id_classificacao,$id_classe="",$titulo="",$expressao="",$vermelho="",$verde="",$azul="",$tamanho="",$simbolo="",$overmelho="",$overde="",$oazul="",$otamanho=""){
1244 1455 try {
1245 1456 if($id_classe != ""){
... ... @@ -1265,15 +1476,10 @@ class Metaestat{
1265 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 1483 function listaMapas($id_mapa=""){
1278 1484 $sql = "select * from ".$this->esquemaadmin."i3geoestat_mapa ";
1279 1485 if($id_mapa != ""){
... ... @@ -1282,11 +1488,11 @@ class Metaestat{
1282 1488 $sql .= "ORDER BY titulo";
1283 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 1496 function listaGruposMapa($id_mapa,$id_mapa_grupo){
1291 1497 if(!empty($id_mapa)){
1292 1498 $sql = "SELECT * from ".$this->esquemaadmin."i3geoestat_mapa_grupo WHERE id_mapa = $id_mapa";
... ... @@ -1297,11 +1503,12 @@ class Metaestat{
1297 1503 $sql .= " ORDER BY titulo";
1298 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 1512 function listaTemasMapa($id_mapa_grupo,$id_mapa_tema){
1306 1513 if(!empty($id_mapa_grupo)){
1307 1514 $sql = "SELECT * from ".$this->esquemaadmin."i3geoestat_mapa_tema WHERE id_mapa_grupo = $id_mapa_grupo";
... ... @@ -1312,15 +1519,10 @@ class Metaestat{
1312 1519 $sql .= " ORDER BY titulo";
1313 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 1526 function listaUnidadeMedida($codigo_unidade_medida=""){
1325 1527 $sql = "select * from ".$this->esquemaadmin."i3geoestat_unidade_medida ";
1326 1528 if($codigo_unidade_medida != ""){
... ... @@ -1329,12 +1531,10 @@ class Metaestat{
1329 1531 $sql .= "ORDER BY nome";
1330 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 1538 function listaFonteinfo($id_fonteinfo=""){
1339 1539 $sql = "select * from ".$this->esquemaadmin."i3geoestat_fonteinfo ";
1340 1540 if($id_fonteinfo != ""){
... ... @@ -1343,12 +1543,10 @@ class Metaestat{
1343 1543 $sql .= "ORDER BY titulo";
1344 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 1550 function listaFonteinfoMedida($id_medida_variavel){
1353 1551 $sql = "SELECT i3geoestat_fonteinfo.* ";
1354 1552 $sql .= "FROM ".$this->esquemaadmin."i3geoestat_fonteinfo ";
... ... @@ -1359,15 +1557,11 @@ class Metaestat{
1359 1557 //echo $sql;exit;
1360 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 1565 function listaVariavel($codigo_variavel="",$filtro_esquema=""){
1372 1566 $sql = "select DISTINCT a.* from ".$this->esquemaadmin."i3geoestat_variavel as a ";
1373 1567 if($codigo_variavel != ""){
... ... @@ -1380,15 +1574,11 @@ class Metaestat{
1380 1574 //echo $sql;exit;
1381 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 1582 function listaClassificacaoMedida($id_medida_variavel,$id_classificacao=""){
1393 1583 if(!empty($id_medida_variavel)){
1394 1584 $sql = "SELECT * from ".$this->esquemaadmin."i3geoestat_classificacao WHERE id_medida_variavel = $id_medida_variavel";
... ... @@ -1398,15 +1588,11 @@ class Metaestat{
1398 1588 }
1399 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 1596 function listaLinkMedida($id_medida_variavel,$id_link=""){
1411 1597 if(!empty($id_medida_variavel)){
1412 1598 $sql = "SELECT * from ".$this->esquemaadmin."i3geoestat_medida_variavel_link WHERE id_medida_variavel = $id_medida_variavel";
... ... @@ -1416,11 +1602,11 @@ class Metaestat{
1416 1602 }
1417 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 1610 function listaClasseClassificacao($id_classificacao,$id_classe=""){
1425 1611 if(!empty($id_classificacao)){
1426 1612 $sql = "SELECT * from ".$this->esquemaadmin."i3geoestat_classes WHERE id_classificacao = $id_classificacao";
... ... @@ -1430,17 +1616,11 @@ class Metaestat{
1430 1616 }
1431 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 1624 function listaMedidaVariavel($codigo_variavel,$id_medida_variavel=""){
1445 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 1626 $sql .= "FROM ".$this->esquemaadmin."i3geoestat_variavel ";
... ... @@ -1460,11 +1640,10 @@ class Metaestat{
1460 1640 //echo $sql;exit;
1461 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 1647 function listaRegioesMedida($id_medida_variavel){
1469 1648 $variavel = $this->listaMedidaVariavel("",$id_medida_variavel);
1470 1649 $codigo_tipo_regiao = $variavel["codigo_tipo_regiao"];
... ... @@ -1476,17 +1655,11 @@ class Metaestat{
1476 1655 }
1477 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 1663 function listaConexao($codigo_estat_conexao="",$senha=false){
1491 1664 if($senha == true){
1492 1665 $colunas = "codigo_estat_conexao, bancodedados, host, porta, usuario, senha";
... ... @@ -1501,17 +1674,12 @@ class Metaestat{
1501 1674 $sql .= "ORDER BY bancodedados,host,usuario";
1502 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 1683 function listaParametro($id_medida_variavel,$id_parametro_medida="",$id_pai=""){
1516 1684 $sql = "SELECT i3geoestat_parametro_medida.*,i3geoestat_medida_variavel.* ";
1517 1685 $sql .= "FROM ".$this->esquemaadmin."i3geoestat_parametro_medida ";
... ... @@ -1532,6 +1700,11 @@ class Metaestat{
1532 1700 //echo $sql;exit;
1533 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 1708 function listaValoresParametro($id_parametro_medida){
1536 1709 $parametro = $this->listaParametro("",$id_parametro_medida);
1537 1710 //$medida = $this->listaMedidaVariavel("",$parametro["id_medida_variavel"]);
... ... @@ -1542,15 +1715,10 @@ class Metaestat{
1542 1715 }
1543 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 1722 function listaTipoPeriodo($codigo_tipo_periodo=""){
1555 1723 $sql = "select * from ".$this->esquemaadmin."i3geoestat_tipo_periodo ";
1556 1724 if($codigo_tipo_periodo != ""){
... ... @@ -1559,12 +1727,11 @@ class Metaestat{
1559 1727 $sql .= "ORDER BY nome";
1560 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 1735 function listaPropGeoRegiao($codigo_tipo_regiao){
1569 1736 //st_dimension returns 0 for POINT, 1 for LINESTRING, 2 for POLYGON
1570 1737 $regiao = $this->listaTipoRegiao($codigo_tipo_regiao);
... ... @@ -1580,15 +1747,10 @@ class Metaestat{
1580 1747 }
1581 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 1754 function listaTipoRegiao($codigo_tipo_regiao=""){
1593 1755 $sql = "select * from ".$this->esquemaadmin."i3geoestat_tipo_regiao ";
1594 1756 if($codigo_tipo_regiao != ""){
... ... @@ -1597,6 +1759,10 @@ class Metaestat{
1597 1759 $sql .= "ORDER BY nome_tipo_regiao";
1598 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 1766 function listaHierarquiaRegioes($codigoregiaopai=""){
1601 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 1768 $sql .= "LEFT JOIN ".$this->esquemaadmin."i3geoestat_agregaregiao ";
... ... @@ -1609,6 +1775,14 @@ class Metaestat{
1609 1775 }
1610 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 1786 function listaDadosRegiao($codigo_tipo_regiao,$codigo_tipo_regiaopai="",$valorregiaopai=""){
1613 1787 //pega a tabela, esquema e conexao para acessar os dados da regiao
1614 1788 $regiao = $this->listaTipoRegiao($codigo_tipo_regiao);
... ... @@ -1630,6 +1804,10 @@ class Metaestat{
1630 1804 }
1631 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 1811 function listaDadosGeometriaRegiao($codigo_tipo_regiao){
1634 1812 //pega a tabela, esquema e conexao para acessar os dados da regiao
1635 1813 $regiao = $this->listaTipoRegiao($codigo_tipo_regiao);
... ... @@ -1646,6 +1824,11 @@ class Metaestat{
1646 1824 }
1647 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 1832 function listaAgregaRegiao($codigo_tipo_regiao,$id_agregaregiao=""){
1650 1833 $sql = "select * from ".$this->esquemaadmin."i3geoestat_agregaregiao ";
1651 1834 if($id_agregaregiao != ""){
... ... @@ -1658,6 +1841,11 @@ class Metaestat{
1658 1841 //echo $sql;exit;
1659 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 1849 function listaAgregaRegiaoFilho($codigo_tipo_regiao,$codigo_tipo_regiao_pai){
1662 1850 $sql = "select * from ".$this->esquemaadmin."i3geoestat_agregaregiao ";
1663 1851 $sql .= "WHERE codigo_tipo_regiao_pai = $codigo_tipo_regiao_pai ";
... ...