From 2f0ecbf62b9b62492aa77e0bc85b62823c4a7436 Mon Sep 17 00:00:00 2001 From: Edmar Moretti Date: Fri, 17 May 2013 21:54:27 +0000 Subject: [PATCH] --- admin/admin.db | Bin 197632 -> 0 bytes admin/php/classe_metaestat.php | 45 +++++++++++++++++++++++++++++++++++++++++---- admin/php/metaestat_uploadshp_submit.php | 7 ++++--- 3 files changed, 45 insertions(+), 7 deletions(-) diff --git a/admin/admin.db b/admin/admin.db index 19f5b71..807dc8f 100644 Binary files a/admin/admin.db and b/admin/admin.db differ diff --git a/admin/php/classe_metaestat.php b/admin/php/classe_metaestat.php index 9a77aac..0ac5d49 100755 --- a/admin/php/classe_metaestat.php +++ b/admin/php/classe_metaestat.php @@ -432,9 +432,6 @@ class Metaestat{ //outros metadados tambem sao utilizados, veja em admin/php/editormapfile.php $arq = $this->dir_tmp."/".$this->nomecache.".map"; if(!file_exists($arq)){ - if(empty($tipolayer)){ - $tipolayer = "polygon"; - } $meta = $this->listaMedidaVariavel("",$id_medida_variavel); //evita agregar regioes qd nao e necessario if($meta["codigo_tipo_regiao"] == $codigo_tipo_regiao || empty($codigo_tipo_regiao) ){ @@ -450,6 +447,14 @@ class Metaestat{ $d = $this->listaMedidaVariavel("",$id_medida_variavel); $codigo_tipo_regiao = $d["codigo_tipo_regiao"]; } + //define o tipo correto de layer + $dg = $this->listaDadosGeometriaRegiao($codigo_tipo_regiao); + if(empty($tipolayer) || $dg["dimension"] == 0){ + $tipolayer = "point"; + } + if($dg["dimension"] == 1){ + $tipolayer = "line"; + } $sqlf = $sql["sqlmapserver"]; //echo $sqlf;exit; if(!empty($filtro)){ @@ -567,6 +572,14 @@ class Metaestat{ } if(!file_exists($arq)){ $tipolayer = "polygon"; + //define o tipo correto de layer + $dg = $this->listaDadosGeometriaRegiao($codigo_tipo_regiao); + if(empty($tipolayer) || $dg["dimension"] == 0){ + $tipolayer = "point"; + } + if($dg["dimension"] == 1){ + $tipolayer = "line"; + } $meta = $this->listaTipoRegiao($codigo_tipo_regiao); $titulolayer = $meta["nome_tipo_regiao"]; $titulolayer = mb_convert_encoding($titulolayer,"ISO-8859-1",mb_detect_encoding($titulolayer)); @@ -603,8 +616,16 @@ class Metaestat{ $dados[] = ' NAME ""'; $dados[] = ' STYLE'; $dados[] = ' OUTLINECOLOR '.$outlinecolor; - $dados[] = ' COLOR -1 -1 -1'; + $dados[] = ' WIDTH '.$width; + if(strtolower($tipolayer) == "point"){ + $dados[] = ' SYMBOL "ponto"'; + $dados[] = ' SIZE 5'; + $dados[] = ' COLOR 0 0 0 '; + } + else{ + $dados[] = ' COLOR -1 -1 -1'; + } $dados[] = ' END'; //$dados[] = ' STYLE'; //$dados[] = ' OUTLINECOLOR -1 -1 -1'; @@ -1578,6 +1599,22 @@ class Metaestat{ } return $r; } + function listaDadosGeometriaRegiao($codigo_tipo_regiao){ + //pega a tabela, esquema e conexao para acessar os dados da regiao + $regiao = $this->listaTipoRegiao($codigo_tipo_regiao); + $c = $this->listaConexao($regiao["codigo_estat_conexao"],true); + $dbh = new PDO('pgsql:dbname='.$c["bancodedados"].';user='.$c["usuario"].';password='.$c["senha"].';host='.$c["host"].';port='.$c["porta"]); + $c = $regiao["colunageo"]; + $s = "ST_dimension($c) as dimension "; + $sql = "select $s,".$regiao["colunanomeregiao"]." as nome_regiao,".$regiao["identificador"]." as identificador_regiao from ".$regiao["esquemadb"].".".$regiao["tabela"]; + $sql .= " limit 1"; + $q = $dbh->query($sql,PDO::FETCH_ASSOC); + $r = array(); + if($q){ + $r = $q->fetchAll()[0]; + } + return $r; + } function listaAgregaRegiao($codigo_tipo_regiao,$id_agregaregiao=""){ $sql = "select * from ".$this->esquemaadmin."i3geoestat_agregaregiao "; if($id_agregaregiao != ""){ diff --git a/admin/php/metaestat_uploadshp_submit.php b/admin/php/metaestat_uploadshp_submit.php index d488a71..f81dfb6 100755 --- a/admin/php/metaestat_uploadshp_submit.php +++ b/admin/php/metaestat_uploadshp_submit.php @@ -72,11 +72,12 @@ if (isset($_FILES['i3GEOuploadshp']['name'])){ $colunasTemp = $layer->getItems(); $colunas = array(); foreach($colunasTemp as $c){ - if(!is_numeric($c)){ + //abaixo gid e forçado a entrar + if(!is_numeric($c) && strtolower($c) != "gid"){ $colunas[] = $c; } } - + echo "
Numshapes: ". $numshapes; $tipo = $shapefileObj->type; echo "
Tipo: ". $tipo; @@ -142,7 +143,7 @@ if (isset($_FILES['i3GEOuploadshp']['name'])){ } catch (PDOException $e) { echo 'Connection failed: ' . $e->getMessage(); } - + foreach($sqltabela as $linha){ try { $dbh->query($linha); -- libgit2 0.21.2