Commit 2f0ecbf62b9b62492aa77e0bc85b62823c4a7436

Authored by Edmar Moretti
1 parent 8e89acdf

--no commit message

admin/admin.db
No preview for this file type
admin/php/classe_metaestat.php
@@ -432,9 +432,6 @@ class Metaestat{ @@ -432,9 +432,6 @@ class Metaestat{
432 //outros metadados tambem sao utilizados, veja em admin/php/editormapfile.php 432 //outros metadados tambem sao utilizados, veja em admin/php/editormapfile.php
433 $arq = $this->dir_tmp."/".$this->nomecache.".map"; 433 $arq = $this->dir_tmp."/".$this->nomecache.".map";
434 if(!file_exists($arq)){ 434 if(!file_exists($arq)){
435 - if(empty($tipolayer)){  
436 - $tipolayer = "polygon";  
437 - }  
438 $meta = $this->listaMedidaVariavel("",$id_medida_variavel); 435 $meta = $this->listaMedidaVariavel("",$id_medida_variavel);
439 //evita agregar regioes qd nao e necessario 436 //evita agregar regioes qd nao e necessario
440 if($meta["codigo_tipo_regiao"] == $codigo_tipo_regiao || empty($codigo_tipo_regiao) ){ 437 if($meta["codigo_tipo_regiao"] == $codigo_tipo_regiao || empty($codigo_tipo_regiao) ){
@@ -450,6 +447,14 @@ class Metaestat{ @@ -450,6 +447,14 @@ class Metaestat{
450 $d = $this->listaMedidaVariavel("",$id_medida_variavel); 447 $d = $this->listaMedidaVariavel("",$id_medida_variavel);
451 $codigo_tipo_regiao = $d["codigo_tipo_regiao"]; 448 $codigo_tipo_regiao = $d["codigo_tipo_regiao"];
452 } 449 }
  450 + //define o tipo correto de layer
  451 + $dg = $this->listaDadosGeometriaRegiao($codigo_tipo_regiao);
  452 + if(empty($tipolayer) || $dg["dimension"] == 0){
  453 + $tipolayer = "point";
  454 + }
  455 + if($dg["dimension"] == 1){
  456 + $tipolayer = "line";
  457 + }
453 $sqlf = $sql["sqlmapserver"]; 458 $sqlf = $sql["sqlmapserver"];
454 //echo $sqlf;exit; 459 //echo $sqlf;exit;
455 if(!empty($filtro)){ 460 if(!empty($filtro)){
@@ -567,6 +572,14 @@ class Metaestat{ @@ -567,6 +572,14 @@ class Metaestat{
567 } 572 }
568 if(!file_exists($arq)){ 573 if(!file_exists($arq)){
569 $tipolayer = "polygon"; 574 $tipolayer = "polygon";
  575 + //define o tipo correto de layer
  576 + $dg = $this->listaDadosGeometriaRegiao($codigo_tipo_regiao);
  577 + if(empty($tipolayer) || $dg["dimension"] == 0){
  578 + $tipolayer = "point";
  579 + }
  580 + if($dg["dimension"] == 1){
  581 + $tipolayer = "line";
  582 + }
570 $meta = $this->listaTipoRegiao($codigo_tipo_regiao); 583 $meta = $this->listaTipoRegiao($codigo_tipo_regiao);
571 $titulolayer = $meta["nome_tipo_regiao"]; 584 $titulolayer = $meta["nome_tipo_regiao"];
572 $titulolayer = mb_convert_encoding($titulolayer,"ISO-8859-1",mb_detect_encoding($titulolayer)); 585 $titulolayer = mb_convert_encoding($titulolayer,"ISO-8859-1",mb_detect_encoding($titulolayer));
@@ -603,8 +616,16 @@ class Metaestat{ @@ -603,8 +616,16 @@ class Metaestat{
603 $dados[] = ' NAME ""'; 616 $dados[] = ' NAME ""';
604 $dados[] = ' STYLE'; 617 $dados[] = ' STYLE';
605 $dados[] = ' OUTLINECOLOR '.$outlinecolor; 618 $dados[] = ' OUTLINECOLOR '.$outlinecolor;
606 - $dados[] = ' COLOR -1 -1 -1'; 619 +
607 $dados[] = ' WIDTH '.$width; 620 $dados[] = ' WIDTH '.$width;
  621 + if(strtolower($tipolayer) == "point"){
  622 + $dados[] = ' SYMBOL "ponto"';
  623 + $dados[] = ' SIZE 5';
  624 + $dados[] = ' COLOR 0 0 0 ';
  625 + }
  626 + else{
  627 + $dados[] = ' COLOR -1 -1 -1';
  628 + }
608 $dados[] = ' END'; 629 $dados[] = ' END';
609 //$dados[] = ' STYLE'; 630 //$dados[] = ' STYLE';
610 //$dados[] = ' OUTLINECOLOR -1 -1 -1'; 631 //$dados[] = ' OUTLINECOLOR -1 -1 -1';
@@ -1578,6 +1599,22 @@ class Metaestat{ @@ -1578,6 +1599,22 @@ class Metaestat{
1578 } 1599 }
1579 return $r; 1600 return $r;
1580 } 1601 }
  1602 + function listaDadosGeometriaRegiao($codigo_tipo_regiao){
  1603 + //pega a tabela, esquema e conexao para acessar os dados da regiao
  1604 + $regiao = $this->listaTipoRegiao($codigo_tipo_regiao);
  1605 + $c = $this->listaConexao($regiao["codigo_estat_conexao"],true);
  1606 + $dbh = new PDO('pgsql:dbname='.$c["bancodedados"].';user='.$c["usuario"].';password='.$c["senha"].';host='.$c["host"].';port='.$c["porta"]);
  1607 + $c = $regiao["colunageo"];
  1608 + $s = "ST_dimension($c) as dimension ";
  1609 + $sql = "select $s,".$regiao["colunanomeregiao"]." as nome_regiao,".$regiao["identificador"]." as identificador_regiao from ".$regiao["esquemadb"].".".$regiao["tabela"];
  1610 + $sql .= " limit 1";
  1611 + $q = $dbh->query($sql,PDO::FETCH_ASSOC);
  1612 + $r = array();
  1613 + if($q){
  1614 + $r = $q->fetchAll()[0];
  1615 + }
  1616 + return $r;
  1617 + }
1581 function listaAgregaRegiao($codigo_tipo_regiao,$id_agregaregiao=""){ 1618 function listaAgregaRegiao($codigo_tipo_regiao,$id_agregaregiao=""){
1582 $sql = "select * from ".$this->esquemaadmin."i3geoestat_agregaregiao "; 1619 $sql = "select * from ".$this->esquemaadmin."i3geoestat_agregaregiao ";
1583 if($id_agregaregiao != ""){ 1620 if($id_agregaregiao != ""){
admin/php/metaestat_uploadshp_submit.php
@@ -72,11 +72,12 @@ if (isset($_FILES['i3GEOuploadshp']['name'])){ @@ -72,11 +72,12 @@ if (isset($_FILES['i3GEOuploadshp']['name'])){
72 $colunasTemp = $layer->getItems(); 72 $colunasTemp = $layer->getItems();
73 $colunas = array(); 73 $colunas = array();
74 foreach($colunasTemp as $c){ 74 foreach($colunasTemp as $c){
75 - if(!is_numeric($c)){ 75 + //abaixo gid e forçado a entrar
  76 + if(!is_numeric($c) && strtolower($c) != "gid"){
76 $colunas[] = $c; 77 $colunas[] = $c;
77 } 78 }
78 } 79 }
79 - 80 +
80 echo "<br>Numshapes: ". $numshapes; 81 echo "<br>Numshapes: ". $numshapes;
81 $tipo = $shapefileObj->type; 82 $tipo = $shapefileObj->type;
82 echo "<br>Tipo: ". $tipo; 83 echo "<br>Tipo: ". $tipo;
@@ -142,7 +143,7 @@ if (isset($_FILES[&#39;i3GEOuploadshp&#39;][&#39;name&#39;])){ @@ -142,7 +143,7 @@ if (isset($_FILES[&#39;i3GEOuploadshp&#39;][&#39;name&#39;])){
142 } catch (PDOException $e) { 143 } catch (PDOException $e) {
143 echo 'Connection failed: ' . $e->getMessage(); 144 echo 'Connection failed: ' . $e->getMessage();
144 } 145 }
145 - 146 +
146 foreach($sqltabela as $linha){ 147 foreach($sqltabela as $linha){
147 try { 148 try {
148 $dbh->query($linha); 149 $dbh->query($linha);