Commit 9379f9d3d70022f95f3c4c3c83417ce95eb07024

Authored by Edmar Moretti
1 parent d7412ec6

#536 - inclusão de variável de configuração para localização das bibliotecas adicionais do R

classesphp/graficos.php
@@ -36,7 +36,7 @@ i3geo/classesphp/graficos.php @@ -36,7 +36,7 @@ i3geo/classesphp/graficos.php
36 */ 36 */
37 function graficoPizza() 37 function graficoPizza()
38 { 38 {
39 - global $cp,$map_file,$itemvalores,$itemclasses,$tema,$exclui,$tipo,$R_path; 39 + global $cp,$map_file,$itemvalores,$itemclasses,$tema,$exclui,$tipo,$R_path,$R_libpath;
40 global $percentual,$nome,$margem,$margemexterna,$margeminterna,$border,$las,$radius,$lwd,$lty,$fontsub,$fontmain,$locaplic,$dir_tmp,$gw,$gh,$res,$bg,$fg,$colmain,$font,$cex,$nval,$main,$cexmain,$sub,$cexsub; 40 global $percentual,$nome,$margem,$margemexterna,$margeminterna,$border,$las,$radius,$lwd,$lty,$fontsub,$fontmain,$locaplic,$dir_tmp,$gw,$gh,$res,$bg,$fg,$colmain,$font,$cex,$nval,$main,$cexmain,$sub,$cexsub;
41 //error_reporting(E_ALL); 41 //error_reporting(E_ALL);
42 //gera os nomes dos arquivos com os dados 42 //gera os nomes dos arquivos com os dados
@@ -49,7 +49,7 @@ function graficoPizza() @@ -49,7 +49,7 @@ function graficoPizza()
49 gravaDados($nnval,$nome); 49 gravaDados($nnval,$nome);
50 } 50 }
51 $gfile_name = nomeRandomico(20); 51 $gfile_name = nomeRandomico(20);
52 - $rcode = iniciaParGrafico($gw,$gh,$res,$dir_tmp,$gfile_name,$margem,$margemexterna,$margeminterna,$locaplic); 52 + $rcode = iniciaParGrafico($gw,$gh,$res,$dir_tmp,$gfile_name,$margem,$margemexterna,$margeminterna,$locaplic,$R_libpath);
53 $rcode[] = 'valores=read.table("'.$nome.'",header=TRUE,sep=";")'; 53 $rcode[] = 'valores=read.table("'.$nome.'",header=TRUE,sep=";")';
54 $rcode[] = 'attach(valores)'; 54 $rcode[] = 'attach(valores)';
55 $parametros = 'border='.$border.',radius='.$radius.',lty='.$lty.',font.sub='.$fontsub.',font.main='.$fontmain.',pty="m",font='.$font.',col.main='.$colmain.',cex='.$cex.',col=terrain.colors(NROW(x)),cex.main='.$cexmain.',cex.sub='.$cexsub; 55 $parametros = 'border='.$border.',radius='.$radius.',lty='.$lty.',font.sub='.$fontsub.',font.main='.$fontmain.',pty="m",font='.$font.',col.main='.$colmain.',cex='.$cex.',col=terrain.colors(NROW(x)),cex.main='.$cexmain.',cex.sub='.$cexsub;
@@ -72,7 +72,7 @@ function graficoPizza() @@ -72,7 +72,7 @@ function graficoPizza()
72 */ 72 */
73 function graficoBarras() 73 function graficoBarras()
74 { 74 {
75 - global $map_file,$itemvalores,$itemclasses,$tema,$exclui,$tipo,$R_path; 75 + global $map_file,$itemvalores,$itemclasses,$tema,$exclui,$tipo,$R_path,$R_libpath;
76 global $setasdv,$percentual,$nome,$margem,$margemexterna,$margeminterna,$grid,$border,$cexaxis,$las,$space,$lwd,$fontlab,$collab,$cexlab,$xlab,$ylab,$fontsub,$fontmain,$locaplic,$dir_tmp,$gw,$gh,$res,$bg,$fg,$colmain,$font,$main,$cexmain,$sub,$cexsub; 76 global $setasdv,$percentual,$nome,$margem,$margemexterna,$margeminterna,$grid,$border,$cexaxis,$las,$space,$lwd,$fontlab,$collab,$cexlab,$xlab,$ylab,$fontsub,$fontmain,$locaplic,$dir_tmp,$gw,$gh,$res,$bg,$fg,$colmain,$font,$main,$cexmain,$sub,$cexsub;
77 //pega os valores 77 //pega os valores
78 $dir = dirname(dirname($map_file)); 78 $dir = dirname(dirname($map_file));
@@ -84,7 +84,7 @@ function graficoBarras() @@ -84,7 +84,7 @@ function graficoBarras()
84 gravaDados($nnval,$nome); 84 gravaDados($nnval,$nome);
85 } 85 }
86 $gfile_name = nomeRandomico(20); 86 $gfile_name = nomeRandomico(20);
87 - $rcode = iniciaParGrafico($gw,$gh,$res,$dir_tmp,$gfile_name,$margem,$margemexterna,$margeminterna,$locaplic); 87 + $rcode = iniciaParGrafico($gw,$gh,$res,$dir_tmp,$gfile_name,$margem,$margemexterna,$margeminterna,$locaplic,$R_libpath);
88 $rcode[] = 'valores=read.table("'.$nome.'",header=TRUE,sep=";")'; 88 $rcode[] = 'valores=read.table("'.$nome.'",header=TRUE,sep=";")';
89 $rcode[] = 'attach(valores)'; 89 $rcode[] = 'attach(valores)';
90 $rcode[] = 'names(x)= n'; 90 $rcode[] = 'names(x)= n';
@@ -122,7 +122,7 @@ function graficoBarras() @@ -122,7 +122,7 @@ function graficoBarras()
122 */ 122 */
123 function graficoHist() 123 function graficoHist()
124 { 124 {
125 - global $map_file,$itemvalores,$itemclasses,$tema,$exclui,$tipo,$R_path; 125 + global $map_file,$itemvalores,$itemclasses,$tema,$exclui,$tipo,$R_path,$R_libpath;
126 global $densidade,$percentual,$nome,$margem,$margemexterna,$margeminterna,$corbarras,$grid,$breaks,$border,$cexaxis,$las,$lwd,$fontlab,$collab,$cexlab,$xlab,$ylab,$fontsub,$fontmain,$locaplic,$dir_tmp,$gw,$gh,$res,$bg,$fg,$colmain,$font,$main,$cexmain,$sub,$cexsub; 126 global $densidade,$percentual,$nome,$margem,$margemexterna,$margeminterna,$corbarras,$grid,$breaks,$border,$cexaxis,$las,$lwd,$fontlab,$collab,$cexlab,$xlab,$ylab,$fontsub,$fontmain,$locaplic,$dir_tmp,$gw,$gh,$res,$bg,$fg,$colmain,$font,$main,$cexmain,$sub,$cexsub;
127 $dir = dirname(dirname($map_file)); 127 $dir = dirname(dirname($map_file));
128 if($nome == "") 128 if($nome == "")
@@ -134,7 +134,7 @@ function graficoHist() @@ -134,7 +134,7 @@ function graficoHist()
134 gravaDados($nnval,$nome); 134 gravaDados($nnval,$nome);
135 } 135 }
136 $gfile_name = nomeRandomico(20); 136 $gfile_name = nomeRandomico(20);
137 - $rcode = iniciaParGrafico($gw,$gh,$res,$dir_tmp,$gfile_name,$margem,$margemexterna,$margeminterna,$locaplic); 137 + $rcode = iniciaParGrafico($gw,$gh,$res,$dir_tmp,$gfile_name,$margem,$margemexterna,$margeminterna,$locaplic,$R_libpath);
138 $rcode[] = 'valores=read.table("'.$nome.'",header=TRUE,sep=";")'; 138 $rcode[] = 'valores=read.table("'.$nome.'",header=TRUE,sep=";")';
139 $rcode[] = 'attach(valores)'; 139 $rcode[] = 'attach(valores)';
140 $parametros = 'cex.axis='.$cexaxis.',breaks='.$breaks.',border='.$border.',las='.$las.',lwd='.$lwd.',font.lab='.$fontlab.',col.lab='.$collab.',cex.lab='.$cexlab.',font.sub='.$fontsub.',font.main='.$fontmain.',pty="m",font='.$font.',col.main='.$colmain.',cex.main='.$cexmain.',cex.sub='.$cexsub; 140 $parametros = 'cex.axis='.$cexaxis.',breaks='.$breaks.',border='.$border.',las='.$las.',lwd='.$lwd.',font.lab='.$fontlab.',col.lab='.$collab.',cex.lab='.$cexlab.',font.sub='.$fontsub.',font.main='.$fontmain.',pty="m",font='.$font.',col.main='.$colmain.',cex.main='.$cexmain.',cex.sub='.$cexsub;
@@ -171,7 +171,7 @@ function graficoHist() @@ -171,7 +171,7 @@ function graficoHist()
171 */ 171 */
172 function graficoLinhas() 172 function graficoLinhas()
173 { 173 {
174 - global $map_file,$itemvalores,$itemclasses,$tema,$exclui,$tipo,$R_path; 174 + global $map_file,$itemvalores,$itemclasses,$tema,$exclui,$tipo,$R_path,$R_libpath;
175 global $percentual,$nome,$margem,$margemexterna,$margeminterna,$xlab,$ylab,$grid,$ppontos,$spline,$locaplic,$dir_tmp,$gw,$gh,$res,$bg,$collab,$colaxis,$cexlab,$cexaxis,$fontlab,$las,$tck,$cexmain,$border,$lty,$lwd,$lty,$lwd,$pch,$tpt,$main,$colmain,$fontmain,$nome; 175 global $percentual,$nome,$margem,$margemexterna,$margeminterna,$xlab,$ylab,$grid,$ppontos,$spline,$locaplic,$dir_tmp,$gw,$gh,$res,$bg,$collab,$colaxis,$cexlab,$cexaxis,$fontlab,$las,$tck,$cexmain,$border,$lty,$lwd,$lty,$lwd,$pch,$tpt,$main,$colmain,$fontmain,$nome;
176 //pega os valores 176 //pega os valores
177 $dir = dirname(dirname($map_file)); 177 $dir = dirname(dirname($map_file));
@@ -183,7 +183,7 @@ function graficoLinhas() @@ -183,7 +183,7 @@ function graficoLinhas()
183 gravaDados($nnval,$nome); 183 gravaDados($nnval,$nome);
184 } 184 }
185 $gfile_name = nomeRandomico(20); 185 $gfile_name = nomeRandomico(20);
186 - $rcode = iniciaParGrafico($gw,$gh,$res,$dir_tmp,$gfile_name,$margem,$margemexterna,$margeminterna,$locaplic); 186 + $rcode = iniciaParGrafico($gw,$gh,$res,$dir_tmp,$gfile_name,$margem,$margemexterna,$margeminterna,$locaplic,$R_libpath);
187 $rcode[] = 'valores=read.table("'.$nome.'",header=TRUE,sep=";")'; 187 $rcode[] = 'valores=read.table("'.$nome.'",header=TRUE,sep=";")';
188 $rcode[] = 'attach(valores)'; 188 $rcode[] = 'attach(valores)';
189 $rcode[] = 'names(x)= n'; 189 $rcode[] = 'names(x)= n';
@@ -217,7 +217,7 @@ function graficoLinhas() @@ -217,7 +217,7 @@ function graficoLinhas()
217 */ 217 */
218 function graficoScatter() 218 function graficoScatter()
219 { 219 {
220 - global $map_file,$itemvalores,$itemclasses,$tema,$exclui,$tipo,$R_path; 220 + global $map_file,$itemvalores,$itemclasses,$tema,$exclui,$tipo,$R_path,$R_libpath;
221 global $percentual,$nome,$margem,$margemexterna,$margeminterna,$corlinha,$grid,$ppontos,$locaplic,$dir_tmp,$gw,$gh,$res,$bg,$collab,$colaxis,$cexlab,$cexaxis,$fontlab,$las,$tck,$cexmain,$border,$lty,$lwd,$lty,$lwd,$pch,$tpt,$main,$colmain,$fontmain,$ylab,$xlab; 221 global $percentual,$nome,$margem,$margemexterna,$margeminterna,$corlinha,$grid,$ppontos,$locaplic,$dir_tmp,$gw,$gh,$res,$bg,$collab,$colaxis,$cexlab,$cexaxis,$fontlab,$las,$tck,$cexmain,$border,$lty,$lwd,$lty,$lwd,$pch,$tpt,$main,$colmain,$fontmain,$ylab,$xlab;
222 //pega os valores 222 //pega os valores
223 $dir = dirname(dirname($map_file)); 223 $dir = dirname(dirname($map_file));
@@ -229,7 +229,7 @@ function graficoScatter() @@ -229,7 +229,7 @@ function graficoScatter()
229 gravaDados($nnval,$nome); 229 gravaDados($nnval,$nome);
230 } 230 }
231 $gfile_name = nomeRandomico(20); 231 $gfile_name = nomeRandomico(20);
232 - $rcode = iniciaParGrafico($gw,$gh,$res,$dir_tmp,$gfile_name,$margem,$margemexterna,$margeminterna,$locaplic); 232 + $rcode = iniciaParGrafico($gw,$gh,$res,$dir_tmp,$gfile_name,$margem,$margemexterna,$margeminterna,$locaplic,$R_libpath);
233 $rcode[] = 'valores=read.table("'.$nome.'",header=TRUE,sep=";")'; 233 $rcode[] = 'valores=read.table("'.$nome.'",header=TRUE,sep=";")';
234 $rcode[] = 'attach(valores)'; 234 $rcode[] = 'attach(valores)';
235 $parametros = 'pty="m",main = "'.$main.'",col.main='.$colmain.',font.main='.$fontmain.',ylab = "'.$ylab.'",xlab = "'.$xlab.'",cex ='.$tpt.',pch ="'.$pch.'",lty='.$lty.',lwd='.$lwd.',col.lab='.$collab.',col.axis='.$colaxis.',cex.lab='.$cexlab.',cex.axis='.$cexaxis.',font.lab='.$fontlab.',las='.$las.',tck='.$tck.',cex.main='.$cexmain; 235 $parametros = 'pty="m",main = "'.$main.'",col.main='.$colmain.',font.main='.$fontmain.',ylab = "'.$ylab.'",xlab = "'.$xlab.'",cex ='.$tpt.',pch ="'.$pch.'",lty='.$lty.',lwd='.$lwd.',col.lab='.$collab.',col.axis='.$colaxis.',cex.lab='.$cexlab.',cex.axis='.$cexaxis.',font.lab='.$fontlab.',las='.$las.',tck='.$tck.',cex.main='.$cexmain;
@@ -249,7 +249,7 @@ function graficoScatter() @@ -249,7 +249,7 @@ function graficoScatter()
249 */ 249 */
250 function graficoScatterBins() 250 function graficoScatterBins()
251 { 251 {
252 - global $map_file,$itemvalores,$itemclasses,$tema,$exclui,$tipo,$R_path; 252 + global $map_file,$itemvalores,$itemclasses,$tema,$exclui,$tipo,$R_path,$R_libpath;
253 global $plota3d,$nbins,$percentual,$nome,$margem,$margemexterna,$margeminterna,$corlinha,$grid,$ppontos,$locaplic,$dir_tmp,$gw,$gh,$res,$bg,$collab,$colaxis,$cexlab,$cexaxis,$fontlab,$las,$tck,$cexmain,$border,$lty,$lwd,$lty,$lwd,$pch,$tpt,$main,$colmain,$fontmain,$ylab,$xlab; 253 global $plota3d,$nbins,$percentual,$nome,$margem,$margemexterna,$margeminterna,$corlinha,$grid,$ppontos,$locaplic,$dir_tmp,$gw,$gh,$res,$bg,$collab,$colaxis,$cexlab,$cexaxis,$fontlab,$las,$tck,$cexmain,$border,$lty,$lwd,$lty,$lwd,$pch,$tpt,$main,$colmain,$fontmain,$ylab,$xlab;
254 //pega os valores 254 //pega os valores
255 $dir = dirname(dirname($map_file)); 255 $dir = dirname(dirname($map_file));
@@ -261,7 +261,7 @@ function graficoScatterBins() @@ -261,7 +261,7 @@ function graficoScatterBins()
261 gravaDados($nnval,$nome); 261 gravaDados($nnval,$nome);
262 } 262 }
263 $gfile_name = nomeRandomico(20); 263 $gfile_name = nomeRandomico(20);
264 - $rcode = iniciaParGrafico($gw,$gh,$res,$dir_tmp,$gfile_name,$margem,$margemexterna,$margeminterna,$locaplic); 264 + $rcode = iniciaParGrafico($gw,$gh,$res,$dir_tmp,$gfile_name,$margem,$margemexterna,$margeminterna,$locaplic,$R_libpath);
265 $rcode[] = 'valores=read.table("'.$nome.'",header=TRUE,sep=";")'; 265 $rcode[] = 'valores=read.table("'.$nome.'",header=TRUE,sep=";")';
266 $rcode[] = 'attach(valores)'; 266 $rcode[] = 'attach(valores)';
267 $rcode[] = 'library(gplots)'; 267 $rcode[] = 'library(gplots)';
@@ -269,8 +269,8 @@ function graficoScatterBins() @@ -269,8 +269,8 @@ function graficoScatterBins()
269 if($plota3d == "FALSE") 269 if($plota3d == "FALSE")
270 { 270 {
271 $rcode[] = "hist2d(x,y, nbins=".$nbins.", col = c('white',heat.colors(16)),".$parametros.")"; 271 $rcode[] = "hist2d(x,y, nbins=".$nbins.", col = c('white',heat.colors(16)),".$parametros.")";
272 - $rcode[] = "rug(x,side=1)";  
273 - $rcode[] = "rug(y,side=2)"; 272 + $rcode[] = "rug(x,side=1)";
  273 + $rcode[] = "rug(y,side=2)";
274 $rcode[] = "grid()"; 274 $rcode[] = "grid()";
275 $rcode[] = "box()"; 275 $rcode[] = "box()";
276 } 276 }
@@ -293,7 +293,7 @@ function graficoScatterBins() @@ -293,7 +293,7 @@ function graficoScatterBins()
293 */ 293 */
294 function graficoEstrela() 294 function graficoEstrela()
295 { 295 {
296 - global $map_file,$itemvalores,$itemclasses,$tema,$exclui,$tipo,$R_path; 296 + global $map_file,$itemvalores,$itemclasses,$tema,$exclui,$tipo,$R_path,$R_libpath;
297 global $font,$cex,$grid,$ppontos,$locaplic,$dir_tmp,$w,$h,$res,$bg,$collab,$colaxis,$cexlab,$cexaxis,$fontlab,$las,$tck,$cexmain,$border,$lty,$lwd,$lty,$lwd,$pch,$tpt,$main,$colmain,$fontmain,$ylab,$xlab; 297 global $font,$cex,$grid,$ppontos,$locaplic,$dir_tmp,$w,$h,$res,$bg,$collab,$colaxis,$cexlab,$cexaxis,$fontlab,$las,$tck,$cexmain,$border,$lty,$lwd,$lty,$lwd,$pch,$tpt,$main,$colmain,$fontmain,$ylab,$xlab;
298 //pega os valores 298 //pega os valores
299 $map = ms_newMapObj($map_file); 299 $map = ms_newMapObj($map_file);
@@ -334,8 +334,10 @@ function graficoEstrela() @@ -334,8 +334,10 @@ function graficoEstrela()
334 $url = dirname($webo->imageurl)."/"; 334 $url = dirname($webo->imageurl)."/";
335 return($url.$gfile_name.".png,".$url.(basename($nomeV))); 335 return($url.$gfile_name.".png,".$url.(basename($nomeV)));
336 } 336 }
337 -function iniciaParGrafico($gw,$gh,$res,$dir_tmp,$gfile_name,$margem,$margemexterna,$margeminterna,$locaplic) 337 +function iniciaParGrafico($gw,$gh,$res,$dir_tmp,$gfile_name,$margem,$margemexterna,$margeminterna,$locaplic,$R_libpath)
338 { 338 {
  339 + $lib = '.libPaths("'.$R_libpath.'")';
  340 + /*
339 if (strtoupper(substr(PHP_OS, 0, 3) == 'WIN')) 341 if (strtoupper(substr(PHP_OS, 0, 3) == 'WIN'))
340 {$lib = '.libPaths("'.$locaplic.'/pacotes/rlib/win")';} 342 {$lib = '.libPaths("'.$locaplic.'/pacotes/rlib/win")';}
341 else 343 else
@@ -343,6 +345,7 @@ function iniciaParGrafico($gw,$gh,$res,$dir_tmp,$gfile_name,$margem,$margemexter @@ -343,6 +345,7 @@ function iniciaParGrafico($gw,$gh,$res,$dir_tmp,$gfile_name,$margem,$margemexter
343 if(file_exists($locaplic."/pacotes/rlib/linux")) 345 if(file_exists($locaplic."/pacotes/rlib/linux"))
344 $lib = '.libPaths("'.$locaplic.'/pacotes/rlib/linux")'; 346 $lib = '.libPaths("'.$locaplic.'/pacotes/rlib/linux")';
345 } 347 }
  348 + */
346 $rcode[] = $lib; 349 $rcode[] = $lib;
347 $graf = "png"; 350 $graf = "png";
348 if (strtoupper(substr(PHP_OS, 0, 3) != 'WIN')) 351 if (strtoupper(substr(PHP_OS, 0, 3) != 'WIN'))
@@ -369,7 +372,7 @@ function iniciaParGrafico($gw,$gh,$res,$dir_tmp,$gfile_name,$margem,$margemexter @@ -369,7 +372,7 @@ function iniciaParGrafico($gw,$gh,$res,$dir_tmp,$gfile_name,$margem,$margemexter
369 $rcode[] = 'box("plot", lty="dashed")'; 372 $rcode[] = 'box("plot", lty="dashed")';
370 } 373 }
371 $rcode[] = 'screen(1, new=FALSE)'; 374 $rcode[] = 'screen(1, new=FALSE)';
372 - return $rcode; 375 + return $rcode;
373 } 376 }
374 function iniciaDadosGrafico($map_file,$tema,$exclui,$itemclasses,$itemvalores,$tipo,$percentual,$ext="",$incluicores=true,$ordenax="nao") 377 function iniciaDadosGrafico($map_file,$tema,$exclui,$itemclasses,$itemvalores,$tipo,$percentual,$ext="",$incluicores=true,$ordenax="nao")
375 { 378 {
@@ -388,14 +391,14 @@ function iniciaDadosGrafico($map_file,$tema,$exclui,$itemclasses,$itemvalores,$t @@ -388,14 +391,14 @@ function iniciaDadosGrafico($map_file,$tema,$exclui,$itemclasses,$itemvalores,$t
388 $extatual->setextent((min($e[0],$e[2])),(min($e[1],$e[3])),(max($e[0],$e[2])),(max($e[1],$e[3]))); 391 $extatual->setextent((min($e[0],$e[2])),(min($e[1],$e[3])),(max($e[0],$e[2])),(max($e[1],$e[3])));
389 } 392 }
390 $layer = $map->getLayerByName($tema); 393 $layer = $map->getLayerByName($tema);
391 - $selecionados = carregaquery2($map_file,$layer,$map); 394 + $selecionados = carregaquery2($map_file,$layer,$map);
392 if ($exclui == ""){$exclui = "nulo";} 395 if ($exclui == ""){$exclui = "nulo";}
393 $valores = pegaValoresM($map,$layer,array($itemclasses,$itemvalores),$exclui,$selecionados); 396 $valores = pegaValoresM($map,$layer,array($itemclasses,$itemvalores),$exclui,$selecionados);
394 $dados = agrupaValores($valores,0,1,$tipo); 397 $dados = agrupaValores($valores,0,1,$tipo);
395 foreach($valores as $valor){ 398 foreach($valores as $valor){
396 $cores[$valor[0]] = $valor["cores"]; 399 $cores[$valor[0]] = $valor["cores"];
397 } 400 }
398 - //calcula os parametros para o grafico 401 + //calcula os parametros para o grafico
399 $nval = count($dados); 402 $nval = count($dados);
400 $max = max($dados); 403 $max = max($dados);
401 $soma = array_sum($dados); 404 $soma = array_sum($dados);
@@ -411,11 +414,11 @@ function iniciaDadosGrafico($map_file,$tema,$exclui,$itemclasses,$itemvalores,$t @@ -411,11 +414,11 @@ function iniciaDadosGrafico($map_file,$tema,$exclui,$itemclasses,$itemvalores,$t
411 $pp = ($dados[$tempm[$i]] * 100) / $soma; 414 $pp = ($dados[$tempm[$i]] * 100) / $soma;
412 if ($percentual == "TRUE") 415 if ($percentual == "TRUE")
413 { 416 {
414 - 417 +
415 $temp = "'".$tempm[$i]." (".round($pp,0)."%)';".$dados[$tempm[$i]]; 418 $temp = "'".$tempm[$i]." (".round($pp,0)."%)';".$dados[$tempm[$i]];
416 if($incluicores == true) 419 if($incluicores == true)
417 {$temp = $temp.";".$cores[$tempm[$i]];} 420 {$temp = $temp.";".$cores[$tempm[$i]];}
418 - } 421 + }
419 else 422 else
420 { 423 {
421 $temp = "'".$tempm[$i]."';".$dados[$tempm[$i]]; 424 $temp = "'".$tempm[$i]."';".$dados[$tempm[$i]];
@@ -456,7 +459,7 @@ function dadosLinhaDoTempo($map_file,$tema,$ext="") @@ -456,7 +459,7 @@ function dadosLinhaDoTempo($map_file,$tema,$ext="")
456 $itens = array(); 459 $itens = array();
457 if($layer->getmetadata("ltempoformatodata") == "") 460 if($layer->getmetadata("ltempoformatodata") == "")
458 {return "Nao esta definido o metadata com o formato do campo";} 461 {return "Nao esta definido o metadata com o formato do campo";}
459 - 462 +
460 if($layer->getmetadata("ltempoiteminicio") != ""){ 463 if($layer->getmetadata("ltempoiteminicio") != ""){
461 $iteminicio = $layer->getmetadata("ltempoiteminicio"); 464 $iteminicio = $layer->getmetadata("ltempoiteminicio");
462 $itens[] = $iteminicio; 465 $itens[] = $iteminicio;
@@ -473,7 +476,7 @@ function dadosLinhaDoTempo($map_file,$tema,$ext="") @@ -473,7 +476,7 @@ function dadosLinhaDoTempo($map_file,$tema,$ext="")
473 if($layer->getmetadata("ltempoitemicone") != ""){ 476 if($layer->getmetadata("ltempoitemicone") != ""){
474 $itemicone = $layer->getmetadata("ltempoitemicone"); 477 $itemicone = $layer->getmetadata("ltempoitemicone");
475 $itens[] = $itemicone; 478 $itens[] = $itemicone;
476 - } 479 + }
477 $itemfim = ""; 480 $itemfim = "";
478 if($layer->getmetadata("ltempoitemfim") != ""){ 481 if($layer->getmetadata("ltempoitemfim") != ""){
479 $itemfim = $layer->getmetadata("ltempoitemfim"); 482 $itemfim = $layer->getmetadata("ltempoitemfim");
@@ -543,7 +546,7 @@ function dadosLinhaDoTempo($map_file,$tema,$ext="") @@ -543,7 +546,7 @@ function dadosLinhaDoTempo($map_file,$tema,$ext="")
543 return array( 546 return array(
544 "dateTimeFormat"=>$layer->getmetadata("ltempoformatodata"), 547 "dateTimeFormat"=>$layer->getmetadata("ltempoformatodata"),
545 "wikiURL"=>"", 548 "wikiURL"=>"",
546 - "wikiSection"=>"", 549 + "wikiSection"=>"",
547 "events"=>$eventos, 550 "events"=>$eventos,
548 "menorano"=>min($anos), 551 "menorano"=>min($anos),
549 "maiorano"=>max($anos) 552 "maiorano"=>max($anos)
@@ -564,7 +567,7 @@ function dadosPerfilRelevo($pontos,$opcao,$amostragem,$item="",$map_file=""){ @@ -564,7 +567,7 @@ function dadosPerfilRelevo($pontos,$opcao,$amostragem,$item="",$map_file=""){
564 curl_close ($curl); 567 curl_close ($curl);
565 $result = json_decode( $result, true ); 568 $result = json_decode( $result, true );
566 $pontos = array(); 569 $pontos = array();
567 - 570 +
568 if($opcao != "google"){ 571 if($opcao != "google"){
569 include_once("classe_atributos.php"); 572 include_once("classe_atributos.php");
570 $m = New Atributos($map_file,$opcao); 573 $m = New Atributos($map_file,$opcao);
guia_de_migracao.txt
@@ -24,11 +24,13 @@ Para a versão 4.7 @@ -24,11 +24,13 @@ Para a versão 4.7
24 - O mapa com os estados do Brasil foi comentado nos mapfiles de inicialização. Para reativá-lo, deve-se remover os comentários do layer brasil existentes nos arquivos .map existentes em i3Geo/aplicmap 24 - O mapa com os estados do Brasil foi comentado nos mapfiles de inicialização. Para reativá-lo, deve-se remover os comentários do layer brasil existentes nos arquivos .map existentes em i3Geo/aplicmap
25 - O layer com os limites estaduais não são mais carregados automaticamente, o layer estadosl está agora nos mapfiles de inicialização, porém, comentado para não ser ativado automaticamente 25 - O layer com os limites estaduais não são mais carregados automaticamente, o layer estadosl está agora nos mapfiles de inicialização, porém, comentado para não ser ativado automaticamente
26 - Os layers com a ZEE e base raster do MMA foram removidos dos mapfiles de inicialização 26 - Os layers com a ZEE e base raster do MMA foram removidos dos mapfiles de inicialização
  27 +- ms_configura.php
  28 + - Nova variável de configuração para indicar o local das bibliotecas adicionais do software R: R_libpath
27 ------------------------------------------------------------------------------------------------- 29 -------------------------------------------------------------------------------------------------
28 Para a versão 4.6 30 Para a versão 4.6
29 31
30 Simbologia 32 Simbologia
31 - 33 +
32 Verifique o uso de símbolos lineares. 34 Verifique o uso de símbolos lineares.
33 Utilize WIDTH no lugar de SIZE 35 Utilize WIDTH no lugar de SIZE
34 No símbolo chamado "linhas", utilize um símbolo simples, exemplo: 36 No símbolo chamado "linhas", utilize um símbolo simples, exemplo:
@@ -37,7 +39,7 @@ Para a versão 4.6 @@ -37,7 +39,7 @@ Para a versão 4.6
37 COLOR 255 0 0 39 COLOR 255 0 0
38 END 40 END
39 Layout 41 Layout
40 - 42 +
41 Para utilizar o padrão CSS3 foi incluído nas páginas o doctype: 43 Para utilizar o padrão CSS3 foi incluído nas páginas o doctype:
42 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 44 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
43 45
@@ -47,7 +49,7 @@ Para a versão 4.6 @@ -47,7 +49,7 @@ Para a versão 4.6
47 Para a versão 4.5 + SP11 49 Para a versão 4.5 + SP11
48 50
49 Mudanças que foram feitas para uso da versão 6 do Mapserver: 51 Mudanças que foram feitas para uso da versão 6 do Mapserver:
50 - 52 +
51 Os mapfiles de inicialização geral1.map, geral1debian.map e geral1windows.map, existentes em i3geo/aplicmap, 53 Os mapfiles de inicialização geral1.map, geral1debian.map e geral1windows.map, existentes em i3geo/aplicmap,
52 foram mantidos para efeitos de compatibilidade. Os novos mapfiles de inicialização agora são: 54 foram mantidos para efeitos de compatibilidade. Os novos mapfiles de inicialização agora são:
53 geral1v5.map 55 geral1v5.map
@@ -57,8 +59,8 @@ Para a versão 4.5 + SP11 @@ -57,8 +59,8 @@ Para a versão 4.5 + SP11
57 geral1windowsv5.map 59 geral1windowsv5.map
58 gral1windowsv6.map 60 gral1windowsv6.map
59 "vX" indica a versão do Mapserver 61 "vX" indica a versão do Mapserver
60 -  
61 - Caso o i3Geo seja inicializado com um mapfile diferente dos que são padrão, existentes em i3geo/aplicmap, é 62 +
  63 + Caso o i3Geo seja inicializado com um mapfile diferente dos que são padrão, existentes em i3geo/aplicmap, é
62 necessário alterar esse mapfile para compatibilizá-lo com a versão 6 do Mapserver. 64 necessário alterar esse mapfile para compatibilizá-lo com a versão 6 do Mapserver.
63 Utilize o arquivo i3geo/aplicmap/geral1.map ou geral1windows.map para copiar 65 Utilize o arquivo i3geo/aplicmap/geral1.map ou geral1windows.map para copiar
64 os elementos iniciais (de MAP até o primeiro LAYER) para o mapfile de inicialização desejado. 66 os elementos iniciais (de MAP até o primeiro LAYER) para o mapfile de inicialização desejado.
@@ -67,7 +69,7 @@ Para a versão 4.5 + SP11 @@ -67,7 +69,7 @@ Para a versão 4.5 + SP11
67 i3geo/symbols/simbolos.sym não deve mais ser usado, continua a existir apenas para compatibilidade 69 i3geo/symbols/simbolos.sym não deve mais ser usado, continua a existir apenas para compatibilidade
68 novos símbolos devem ser inseridos em i3geo/symbols/simbolosv5.sym ou em i3geo/symbols/simbolosv6.sym, 70 novos símbolos devem ser inseridos em i3geo/symbols/simbolosv5.sym ou em i3geo/symbols/simbolosv6.sym,
69 conforme a versão do Mapserver em uso 71 conforme a versão do Mapserver em uso
70 - 72 +
71 Nos mapfiles existentes em i3geo/temas, deve-se substituir a linha 73 Nos mapfiles existentes em i3geo/temas, deve-se substituir a linha
72 SYMBOLSET ../symbols/simbolos.sym 74 SYMBOLSET ../symbols/simbolos.sym
73 por 75 por
@@ -77,8 +79,8 @@ Para a versão 4.5 + SP11 @@ -77,8 +79,8 @@ Para a versão 4.5 + SP11
77 conforme a versão do Mapserver em uso 79 conforme a versão do Mapserver em uso
78 Sem essa mudança, o i3Geo continuará a funcionar, mas se forem criados novos símbolos em um arquivo 80 Sem essa mudança, o i3Geo continuará a funcionar, mas se forem criados novos símbolos em um arquivo
79 simbolosv5.sym ou simbolosv6.sym, deve-se fazer o mesmo em simbolos.sym 81 simbolosv5.sym ou simbolosv6.sym, deve-se fazer o mesmo em simbolos.sym
80 -  
81 - 82 +
  83 +
82 Para a versão 4.5 + SP8 84 Para a versão 4.5 + SP8
83 85
84 As interfaces Openlayers e Googlemaps por default passaram a utilizar as guias na forma "retrátil" 86 As interfaces Openlayers e Googlemaps por default passaram a utilizar as guias na forma "retrátil"
@@ -88,26 +90,26 @@ Para a versão 4.5 @@ -88,26 +90,26 @@ Para a versão 4.5
88 90
89 Os arquivos com as interfaces HTML dos diferentes mapas do i3Geo foram movidos do diretório 91 Os arquivos com as interfaces HTML dos diferentes mapas do i3Geo foram movidos do diretório
90 i3geo/aplicmap para o diretório i3geo/interface. Caso existam links apontando diretamente para 92 i3geo/aplicmap para o diretório i3geo/interface. Caso existam links apontando diretamente para
91 - esses arquivos, vc pode simplesmente copiar os arquivos existentes na nova pasta (i3geo/interface) 93 + esses arquivos, vc pode simplesmente copiar os arquivos existentes na nova pasta (i3geo/interface)
92 para a antiga (i3geo/aplicmap). 94 para a antiga (i3geo/aplicmap).
93 95
94 As variáveis de configuração $temasdir e $temasaplic foram removidas. Se vc desenvolveu programas em PHP, 96 As variáveis de configuração $temasdir e $temasaplic foram removidas. Se vc desenvolveu programas em PHP,
95 - no lugar dessas variáveis utilize $locaplic e o local fixo dos arquivos, por exemplo $locaplic."/temas" 97 + no lugar dessas variáveis utilize $locaplic e o local fixo dos arquivos, por exemplo $locaplic."/temas"
96 e $locaplic."/aplicmap" 98 e $locaplic."/aplicmap"
97 - 99 +
98 A opção de administração com base em arquivos XML em disco foi removida. Agora, deve-se sempre utilizar o banco de dados 100 A opção de administração com base em arquivos XML em disco foi removida. Agora, deve-se sempre utilizar o banco de dados
99 de admnistração. 101 de admnistração.
100 - 102 +
101 O banco de dados de administração sofreu alterações. Veja em "Outras opções", no sistema de admnistração. 103 O banco de dados de administração sofreu alterações. Veja em "Outras opções", no sistema de admnistração.
102 - 104 +
103 O arquivo admin.db (banco de dados de admnistração default) foi movido de i3geo/menutemas para i3geo/admin 105 O arquivo admin.db (banco de dados de admnistração default) foi movido de i3geo/menutemas para i3geo/admin
104 - 106 +
105 O "alias" para a interface "zerocal" foi removido, utilize em seu lugar: 107 O "alias" para a interface "zerocal" foi removido, utilize em seu lugar:
106 http://localhost/i3geo/ms_criamapa.php?interface=zerocal.htm ou 108 http://localhost/i3geo/ms_criamapa.php?interface=zerocal.htm ou
107 http://localhost/i3geo/interface/zerocal.htm 109 http://localhost/i3geo/interface/zerocal.htm
108 - 110 +
109 A pasta "images" foi removida e as imagens movidas para a pasta "imagens\depreciado" 111 A pasta "images" foi removida e as imagens movidas para a pasta "imagens\depreciado"
110 - 112 +
111 Opção de comentários em temas 113 Opção de comentários em temas
112 Foram acrescentadas novas variáveis em ms_configura.php. Veja esse arquivo para editar as variáveis e registrar 114 Foram acrescentadas novas variáveis em ms_configura.php. Veja esse arquivo para editar as variáveis e registrar
113 as APIs das redes sociais como Twitter e Facebook 115 as APIs das redes sociais como Twitter e Facebook
@@ -115,28 +117,28 @@ Para a versão 4.5 @@ -115,28 +117,28 @@ Para a versão 4.5
115 utilize o editor de mapfiles do sistema de admnistração para bloquear essa opção em cada tema 117 utilize o editor de mapfiles do sistema de admnistração para bloquear essa opção em cada tema
116 Os comentários são armazenados em uma tabela no banco de dados de administração. Essa tabela precisa ser criada no banco. 118 Os comentários são armazenados em uma tabela no banco de dados de administração. Essa tabela precisa ser criada no banco.
117 Para criar a tabela veja o item "Outras opções" em http://localhost/i3geo/admin 119 Para criar a tabela veja o item "Outras opções" em http://localhost/i3geo/admin
118 - 120 +
119 Contagem do número de acessos de cada tema 121 Contagem do número de acessos de cada tema
120 Foi criada uma nova tabela no sistema de administração para guardar o número de vezes que um tema é acessado. Antes 122 Foi criada uma nova tabela no sistema de administração para guardar o número de vezes que um tema é acessado. Antes
121 a contagem era mantida na tabela i3geoadmin_temas, cuja coluna nacessos foi depreciada. Essa nova tabela guarda também o dia do acesso. 123 a contagem era mantida na tabela i3geoadmin_temas, cuja coluna nacessos foi depreciada. Essa nova tabela guarda também o dia do acesso.
122 Para criar a tabela veja o item "Outras opções" em http://localhost/i3geo/admin 124 Para criar a tabela veja o item "Outras opções" em http://localhost/i3geo/admin
123 - 125 +
124 O nome dos arquivos js e ccs compactados foram renomeados, incluindo o valor da versão no final. Isso foi feito para se 126 O nome dos arquivos js e ccs compactados foram renomeados, incluindo o valor da versão no final. Isso foi feito para se
125 evitar problemas de cache de versões antigas. Os arquivos renomeados foram: 127 evitar problemas de cache de versões antigas. Os arquivos renomeados foram:
126 classesjs/i3geo_tudo_compacto45.js 128 classesjs/i3geo_tudo_compacto45.js
127 css/i3geo_ferramentas45.css 129 css/i3geo_ferramentas45.css
128 - 130 +
129 Testado o uso de zlib.output_compression = On no php.ini 131 Testado o uso de zlib.output_compression = On no php.ini
130 - 132 +
131 Variáveis ou funções removidas 133 Variáveis ou funções removidas
132 i3GEO.interface (utilize i3GEO.Interface, com "I" maiúsculo) 134 i3GEO.interface (utilize i3GEO.Interface, com "I" maiúsculo)
133 g_postpx 135 g_postpx
134 g_tipotop 136 g_tipotop
135 g_tipoleft 137 g_tipoleft
136 -  
137 - A inicialização da interface Google Earth (interface/googleearth.phtml) foi incluida na tag "body": 138 +
  139 + A inicialização da interface Google Earth (interface/googleearth.phtml) foi incluida na tag "body":
138 <body id="i3geo" onload='i3GEO.inicia();'> 140 <body id="i3geo" onload='i3GEO.inicia();'>
139 - 141 +
140 e-mail institucional (incluido no arquivo de correções SP7) 142 e-mail institucional (incluido no arquivo de correções SP7)
141 em ms_configura.php pode ser definido um e-mail padrão que é utilizado nas interfaces dos mapas 143 em ms_configura.php pode ser definido um e-mail padrão que é utilizado nas interfaces dos mapas
142 Para que o e-mail definido seja mostrado, é necessário adicionar um elemento HTML com id=emailInstituicao no mapa 144 Para que o e-mail definido seja mostrado, é necessário adicionar um elemento HTML com id=emailInstituicao no mapa
@@ -147,20 +149,20 @@ Para a versão 4.4 @@ -147,20 +149,20 @@ Para a versão 4.4
147 Verifique se o PHP está configurado (php.ini) para permitir a passagem de parâmetros por referência 149 Verifique se o PHP está configurado (php.ini) para permitir a passagem de parâmetros por referência
148 (dependendo da versão do PHP, esse parâmetro é definido como "Off" por default): 150 (dependendo da versão do PHP, esse parâmetro é definido como "Off" por default):
149 allow_call_time_pass_reference = On 151 allow_call_time_pass_reference = On
150 - 152 +
151 Foi acrescentado um novo LAYER em i3geo/aplicmp/geral1.map e geral1windows.map com dados do Open Street Map. Caso vc não 153 Foi acrescentado um novo LAYER em i3geo/aplicmp/geral1.map e geral1windows.map com dados do Open Street Map. Caso vc não
152 queira que essa camada nova apareça, basta removê-las desses arquivos. 154 queira que essa camada nova apareça, basta removê-las desses arquivos.
153 - 155 +
154 Foi incluida a remoção de cookies no ms_criamapa.php, que inicializa o i3geo ($_COOKIE = array();). Se vc precisa definir cookies, 156 Foi incluida a remoção de cookies no ms_criamapa.php, que inicializa o i3geo ($_COOKIE = array();). Se vc precisa definir cookies,
155 considere a necessidade de comentar a linha de código do ms_criamapa.php. 157 considere a necessidade de comentar a linha de código do ms_criamapa.php.
156 - 158 +
157 Por default, o i3Geo passou a usar a interface openlayers.htm. Se vc quiser modificar isso, altere o ms_configura.php. 159 Por default, o i3Geo passou a usar a interface openlayers.htm. Se vc quiser modificar isso, altere o ms_configura.php.
158 ------------------------------------------------------------------------------------------------- 160 -------------------------------------------------------------------------------------------------
159 Para a versão 4.3 161 Para a versão 4.3
160 162
161 O banco de dados de administração sofreu as seguintes alterações (vc deve incluir as novas colunas 163 O banco de dados de administração sofreu as seguintes alterações (vc deve incluir as novas colunas
162 para que o i3Geo funcione corretamente: 164 para que o i3Geo funcione corretamente:
163 - 165 +
164 - acréscimo das colunas en,es,it nas tabelas (tipo texto) 166 - acréscimo das colunas en,es,it nas tabelas (tipo texto)
165 i3geoadmin_menus 167 i3geoadmin_menus
166 i3geoadmin_temas 168 i3geoadmin_temas
@@ -168,7 +170,7 @@ Para a versão 4.3 @@ -168,7 +170,7 @@ Para a versão 4.3
168 i3geoadmin_subgrupos 170 i3geoadmin_subgrupos
169 171
170 - acréscimo da coluna kmz_tema em i3geoadmin_temas (tipo texto) 172 - acréscimo da coluna kmz_tema em i3geoadmin_temas (tipo texto)
171 - 173 +
172 Foi incluida uma nova opção que permite ao usuário alterar o SQL que faz o acesso aos dados em 174 Foi incluida uma nova opção que permite ao usuário alterar o SQL que faz o acesso aos dados em
173 um LAYER (elemento DATA do mapfile). Mostrar ou não essa opção é controlado por um metadata 175 um LAYER (elemento DATA do mapfile). Mostrar ou não essa opção é controlado por um metadata
174 em cada LAYER. Por default, o i3Geo entende que esse metadata é marcado como SIM. Se vc não quer 176 em cada LAYER. Por default, o i3Geo entende que esse metadata é marcado como SIM. Se vc não quer
@@ -181,92 +183,92 @@ Para a versão 4.1 @@ -181,92 +183,92 @@ Para a versão 4.1
181 Sistema de administração 183 Sistema de administração
182 184
183 A administração do i3geo pode ser feita através de um sistema de formulários web desde que vc opte por isso. 185 A administração do i3geo pode ser feita através de um sistema de formulários web desde que vc opte por isso.
184 - 186 +
185 Se vc quiser continuar usando os arquivos XML existentes em i3geo/menutemas, não tem problema, mas nesse 187 Se vc quiser continuar usando os arquivos XML existentes em i3geo/menutemas, não tem problema, mas nesse
186 caso o sistema de administração não lhe será útil. 188 caso o sistema de administração não lhe será útil.
187 - 189 +
188 A opção pelo uso do sistema de administração é default na versão 4.1. Se vc não quiser usá-la, deverá 190 A opção pelo uso do sistema de administração é default na versão 4.1. Se vc não quiser usá-la, deverá
189 editar o arquivo i3geo/ms_configura.php e colocar os nomes dos arquivos XML nas opções desejadas. Esse 191 editar o arquivo i3geo/ms_configura.php e colocar os nomes dos arquivos XML nas opções desejadas. Esse
190 arquivo está documentado, basta ler para entender o que deve ser feito. 192 arquivo está documentado, basta ler para entender o que deve ser feito.
191 - 193 +
192 O sistema de administração é acessível no endereço i3geo/admin (http://localhost/i3geo/admin). Apenas editores 194 O sistema de administração é acessível no endereço i3geo/admin (http://localhost/i3geo/admin). Apenas editores
193 cadastrados podem usar esse sistema. O cadastramento é feito por número IP (veja i3geo/ms_configura.php). 195 cadastrados podem usar esse sistema. O cadastramento é feito por número IP (veja i3geo/ms_configura.php).
194 Por default, "localhost" é um editor cadastrado. 196 Por default, "localhost" é um editor cadastrado.
195 - 197 +
196 Os arquivos mapfiles existentes em i3geo/temas continuam sendo necessários e vc pode editá-los manualmente 198 Os arquivos mapfiles existentes em i3geo/temas continuam sendo necessários e vc pode editá-los manualmente
197 ou por meio do sistema de administração. 199 ou por meio do sistema de administração.
198 - 200 +
199 Os arquivos XML que vc já possuí em i3geo/menutemas devem ser importados para o sistema de administração. 201 Os arquivos XML que vc já possuí em i3geo/menutemas devem ser importados para o sistema de administração.
200 Utilize as opções existentes em i3geo/admin para fazer isso. 202 Utilize as opções existentes em i3geo/admin para fazer isso.
201 - 203 +
202 O banco de dados default do i3geo é em SQLITE e fica em i3geo/menutemas/admin.db. 204 O banco de dados default do i3geo é em SQLITE e fica em i3geo/menutemas/admin.db.
203 Vc deve apagar esse arquivo e criar outro antes de importar seus arquivos XML. No sistema de administração 205 Vc deve apagar esse arquivo e criar outro antes de importar seus arquivos XML. No sistema de administração
204 existe uma opção para criar o banco, o que deve ser feito depois que vc apagar o arquivo que vai com o i3geo. 206 existe uma opção para criar o banco, o que deve ser feito depois que vc apagar o arquivo que vai com o i3geo.
205 - 207 +
206 Se vc não quiser usar o SQLITE vc deve criar um arquivo de conexão com seu banco de dados e registrar o endereço 208 Se vc não quiser usar o SQLITE vc deve criar um arquivo de conexão com seu banco de dados e registrar o endereço
207 desse arquivo em uma variável no i3geo/ms_configura.php. Um exemplo de arquivo de configuração para POSTGRE 209 desse arquivo em uma variável no i3geo/ms_configura.php. Um exemplo de arquivo de configuração para POSTGRE
208 pode ser visto em i3geo/admin/php/conexaomm.php. Ao usar a opção de criação do banco existente no sistema 210 pode ser visto em i3geo/admin/php/conexaomm.php. Ao usar a opção de criação do banco existente no sistema
209 de administração, as tabelas serão criadas no banco de dados indicado. 211 de administração, as tabelas serão criadas no banco de dados indicado.
210 - 212 +
211 PHP 213 PHP
212 214
213 O sistema de administração do i3geo é baseado na biblioteca PHP chamada "PDO". Nas versões mais recentes do 215 O sistema de administração do i3geo é baseado na biblioteca PHP chamada "PDO". Nas versões mais recentes do
214 PHP e no MS4W essa biblioteca já vem habilitada. Se no seu PHP não existir o PDO vc deverá instalá-lo. 216 PHP e no MS4W essa biblioteca já vem habilitada. Se no seu PHP não existir o PDO vc deverá instalá-lo.
215 - 217 +
216 YAHOO 218 YAHOO
217 219
218 A bibblioteca do YAHOO (YUI) foi atualizada. A versão antiga continua em i3geo/pacotes. Se vc desenvolveu 220 A bibblioteca do YAHOO (YUI) foi atualizada. A versão antiga continua em i3geo/pacotes. Se vc desenvolveu
219 programas baseados na versão antiga, é bom verificar se tudo funcionará corretamente pois o arquivo 221 programas baseados na versão antiga, é bom verificar se tudo funcionará corretamente pois o arquivo
220 i3geo/classesjs/i3geo.js agora utiliza essa nova versão da YUI. 222 i3geo/classesjs/i3geo.js agora utiliza essa nova versão da YUI.
221 - 223 +
222 JSOBJECTS 224 JSOBJECTS
223 225
224 Essa biblioteca não será mais utilizada pelo i3geo, sendo substituída pelo YUI. Se vc utilizava as funcionalidades 226 Essa biblioteca não será mais utilizada pelo i3geo, sendo substituída pelo YUI. Se vc utilizava as funcionalidades
225 dessa biblioteca, embutida no i3geo.js, deverá verificar seu código ou então embutir novamente essa 227 dessa biblioteca, embutida no i3geo.js, deverá verificar seu código ou então embutir novamente essa
226 biblioteca no i3geo.js. Para isso vc deve alterar o programa i3geo/classesjs/compactajs.php e executá-lo 228 biblioteca no i3geo.js. Para isso vc deve alterar o programa i3geo/classesjs/compactajs.php e executá-lo
227 para gerar os arquivos compactados do i3geo. 229 para gerar os arquivos compactados do i3geo.
228 - 230 +
229 Classes JS e namespaces 231 Classes JS e namespaces
230 232
231 O modelo de desenvolvimento dos programas javascript estão sendo migrados aos poucos para estruturas 233 O modelo de desenvolvimento dos programas javascript estão sendo migrados aos poucos para estruturas
232 baseadas em classes. Isso facilitará a compreensão dos códigos e sua documentação, facilitando a vida 234 baseadas em classes. Isso facilitará a compreensão dos códigos e sua documentação, facilitando a vida
233 dos desenvolvedores e permitindo uma melhor evolução dos códigos. 235 dos desenvolvedores e permitindo uma melhor evolução dos códigos.
234 - 236 +
235 As classes desenvolvidas ficarão em arquivos únicos de cada classe e devem usar o namespace i3GEO. Essa 237 As classes desenvolvidas ficarão em arquivos únicos de cada classe e devem usar o namespace i3GEO. Essa
236 regra evitará conflitos entre bibliotecas javascript adicionadas ao i3geo. 238 regra evitará conflitos entre bibliotecas javascript adicionadas ao i3geo.
237 Exemplo, para remover a acentuação de uma palavra vc pode usar a classe i3GEO.util: 239 Exemplo, para remover a acentuação de uma palavra vc pode usar a classe i3GEO.util:
238 - 240 +
239 var palavraAcentuada = "coração"; 241 var palavraAcentuada = "coração";
240 var palavraSemAcento = i3GEO.util.removeAcentos(palavraAcentuada); 242 var palavraSemAcento = i3GEO.util.removeAcentos(palavraAcentuada);
241 - 243 +
242 Googlemaps 244 Googlemaps
243 245
244 A chave de registro da API do Google agora deve ser incluída no arquivo i3geo/ms_configura.php na 246 A chave de registro da API do Google agora deve ser incluída no arquivo i3geo/ms_configura.php na
245 variável $googleApiKey. 247 variável $googleApiKey.
246 - 248 +
247 Isso foi necessário porque a API do Google será utilizada em outras ferramentas do i3geo. 249 Isso foi necessário porque a API do Google será utilizada em outras ferramentas do i3geo.
248 - 250 +
249 A ferramenta googlemaps agora é chamada com ferramentas/googlemaps/index.php 251 A ferramenta googlemaps agora é chamada com ferramentas/googlemaps/index.php
250 252
251 Idiomas 253 Idiomas
252 254
253 A lista de palavras e suas traduções foram retiradas do arquivo i3geo/classesjs/configura.js e incluidas no 255 A lista de palavras e suas traduções foram retiradas do arquivo i3geo/classesjs/configura.js e incluidas no
254 novo arquivo i3geo/classesjs/dicionario.js 256 novo arquivo i3geo/classesjs/dicionario.js
255 - 257 +
256 Foi criada uma classe específica para manipular a internacionalização. Veja a documentação em 258 Foi criada uma classe específica para manipular a internacionalização. Veja a documentação em
257 http://localhost/i3geo/documentacao/files/classesjs/classe_idioma-js.html 259 http://localhost/i3geo/documentacao/files/classesjs/classe_idioma-js.html
258 - 260 +
259 Árvore de temas 261 Árvore de temas
260 262
261 A árvore de temas, que aparece na guia "Mapa", agora é montada com a biblioteca YUI. Foi criada uma classe 263 A árvore de temas, que aparece na guia "Mapa", agora é montada com a biblioteca YUI. Foi criada uma classe
262 - javascript específica para manipular essa árvore. Veja a documentação em 264 + javascript específica para manipular essa árvore. Veja a documentação em
263 http://localhost/i3geo/documentacao/files/classesjs/classe_arvoredecamadas-js.html 265 http://localhost/i3geo/documentacao/files/classesjs/classe_arvoredecamadas-js.html
264 Os aplicativos que usam árvores também utilizam agora essa classe, como o i3geo/datadownload.htm 266 Os aplicativos que usam árvores também utilizam agora essa classe, como o i3geo/datadownload.htm
265 267
266 Árvore de camadas 268 Árvore de camadas
267 269
268 A árvore de camadas, que aparece na guia "+ temas", agora é montada com a biblioteca YUI. Foi criada uma classe 270 A árvore de camadas, que aparece na guia "+ temas", agora é montada com a biblioteca YUI. Foi criada uma classe
269 - javascript específica para manipular essa árvore. Veja a documentação em 271 + javascript específica para manipular essa árvore. Veja a documentação em
270 http://localhost/i3geo/documentacao/files/classesjs/classe_arvoredetemas-js.html 272 http://localhost/i3geo/documentacao/files/classesjs/classe_arvoredetemas-js.html
271 273
272 Utilitários 274 Utilitários
@@ -294,9 +296,9 @@ Variáveis de configuração @@ -294,9 +296,9 @@ Variáveis de configuração
294 de configuração do mapa ficam agora na classe i3GEO.configura 296 de configuração do mapa ficam agora na classe i3GEO.configura
295 Por exemplo, para obter o diretório onde o i3geo está instalado, antes utilizava-se g_locaplic, agora utiliza-se 297 Por exemplo, para obter o diretório onde o i3geo está instalado, antes utilizava-se g_locaplic, agora utiliza-se
296 i3GEO.configura.locaplic 298 i3GEO.configura.locaplic
297 - 299 +
298 Chamada aos programas PHP 300 Chamada aos programas PHP
299 301
300 Todas as chamadas a programas PHP via AJAX foram concentradas na classe classe_php.js. 302 Todas as chamadas a programas PHP via AJAX foram concentradas na classe classe_php.js.
301 303
302 - 304 +
ms_configura.php
@@ -305,6 +305,18 @@ if (strtoupper(substr(PHP_OS, 0, 3) == &#39;WIN&#39;)) @@ -305,6 +305,18 @@ if (strtoupper(substr(PHP_OS, 0, 3) == &#39;WIN&#39;))
305 {string} 305 {string}
306 */ 306 */
307 $R_path = "c:/r/win/bin/R.exe"; 307 $R_path = "c:/r/win/bin/R.exe";
  308 + /**
  309 + * TODO listar aqui os nomes das bibliotecas
  310 + **/
  311 + /*
  312 + Variable: R_pathlib
  313 +
  314 + Onde ficam as bibliotecas adicionais necess&aacute;rias ao funcionamento do R
  315 +
  316 + Tipo:
  317 + {string}
  318 + */
  319 + $R_libpath = "c:/r/win/library";
308 /* 320 /*
309 Variable: postgis_mapa 321 Variable: postgis_mapa
310 322
@@ -482,6 +494,10 @@ else //se for linux @@ -482,6 +494,10 @@ else //se for linux
482 ); 494 );
483 $locmapserv = "/cgi-bin/mapserv"; 495 $locmapserv = "/cgi-bin/mapserv";
484 $R_path = "R";//se vc n&atilde;o instalou o R no seu servidor, tente o endere&ccedil;o $R_path = $locaplic."/pacotes/r/linux/r"; 496 $R_path = "R";//se vc n&atilde;o instalou o R no seu servidor, tente o endere&ccedil;o $R_path = $locaplic."/pacotes/r/linux/r";
  497 +/**
  498 + * TODO verificar qual o endereco padrao no Ubuntu
  499 + */
  500 + $R_libpath = "";
485 $postgis_mapa = ""; 501 $postgis_mapa = "";
486 $utilizacgi = "nao"; 502 $utilizacgi = "nao";
487 $expoeMapfile = "sim"; 503 $expoeMapfile = "sim";