From 915c2695e09cf00c36ad3a99cffeb3870cece6da Mon Sep 17 00:00:00 2001
From: Edmar Moretti Crie uma tabela no banco contendo limites ou localidades que poderá ser utilizada para espacializar os dados estatísticos existentes em outras tabelas Crie uma tabela nova a partir de um arquivo CSV. Utilize essa opção para armazenar no banco os dados que serão relacionados às tabelas contendo limites ou localidades Crie uma tabela nova a partir de um arquivo CSV. Utilize essa opção para armazenar no banco os dados que serão relacionados às tabelas contendo limites ou localidades. Se no CSV existirem colunas com as coordenadas, a tabela criada poderá armazenar a geometria possibilitando seu uso como localidades.
" +
"
Crie uma tabela vazia no banco de dados, definindo o nome e os tipos de colunas
CSV (utilize ponto como separador de valores decimais ou a importação poderá não ocorrer):
Nome da nova tabela (não utilize caracteres incompatíveis com o banco de dados, como -, acentos ou espaços em branco):
Inclui uma coluna gid do tipo serial e chave primária com código único
' + - + 'Opcional: coluna que contém as latitudes (Y) coluna que contém as longitudes (X)
' + '' + '' + '' + diff --git a/admin/php/metaestat_uploadcsv_submit.php b/admin/php/metaestat_uploadcsv_submit.php index 70f7ab4..5afc6b0 100644 --- a/admin/php/metaestat_uploadcsv_submit.php +++ b/admin/php/metaestat_uploadcsv_submit.php @@ -115,6 +115,10 @@ if (ob_get_level() == 0) ob_start(); foreach($colunas as $coluna){ $temp[] = strtolower($coluna)." ".$tipoColuna[$coluna]; } + if($_POST["colunaxcsv"] != "" && $_POST["colunaycsv"] != ""){ + $temp[] = "the_geom geometry"; + $colunas[] = "the_geom"; + } $sql .= implode(",",$temp).") WITH(OIDS=FALSE)"; $sqltabela[] = $sql; $sqltabela[] = "ALTER TABLE ".$_POST["i3GEOuploadcsvesquema"].".".$_POST["tabelaDestinocsv"]." OWNER TO ".$conexao["usuario"]; @@ -132,6 +136,8 @@ if (ob_get_level() == 0) ob_start(); $linhasql = array(); $insert = "INSERT INTO ".$_POST["i3GEOuploadcsvesquema"].".".$_POST["tabelaDestinocsv"]."(".strtolower(implode(",",$colunas)).")"; $nlinhas = count($linhas); + $valorX = 0; + $valorY = 0; for ($i=0; $i<$nlinhas;$i++){ $s = $linhas[$i]; $vs = array(); @@ -147,45 +153,55 @@ if (ob_get_level() == 0) ob_start(); $vs[] = $s[$j]; } } + if($colunas[$j] == $_POST["colunaxcsv"]){ + $valorX = $s[$j]; + } + if($colunas[$j] == $_POST["colunaycsv"]){ + $valorY = $s[$j]; + } + } + if($_POST["colunaxcsv"] != "" && $_POST["colunaycsv"] != ""){ + $vs[] = "ST_PointFromText('POINT(". str_replace(",",".",$valorX)." ".str_replace(",",".",$valorY).")',4326)"; } $linhasql[] = $insert."VALUES(".implode(",",$vs).")"; } - //echo "
"; + echo ""; //var_dump($linhasql);exit; try { $dbh = new PDO('pgsql:dbname='.$conexao["bancodedados"].';user='.$conexao["usuario"].';password='.$conexao["senha"].';host='.$conexao["host"].';port='.$conexao["porta"]); } catch (PDOException $e) { - echo 'Connection failed: ' . $e->getMessage(); - } - echo "
Incluindo dados"; - echo ""; - ob_flush(); - flush(); - sleep(1); - if($_POST["incluiserialcsv"] == "on"){ - $linhasql[] = "alter table ".$_POST["i3GEOuploadcsvesquema"].".".$_POST["tabelaDestinocsv"]." add gid serial CONSTRAINT gid_pkey PRIMARY KEY"; - } - foreach($sqltabela as $linha){ - try { - $dbh->query($linha); - } catch (PDOException $e) { - echo 'Erro: ' . $e->getMessage(); - } - } - foreach($linhasql as $linha){ - try { - $dbh->query($linha); - } catch (PDOException $e) { - echo 'Erro: ' . $e->getMessage(); - } - } - echo "
Feito!!!
Faça o reload da página"; + echo 'Connection failed: ' . $e->getMessage(); + } + echo "
Incluindo dados"; + echo ""; + ob_flush(); + flush(); + sleep(1); + if($_POST["incluiserialcsv"] == "on"){ + $linhasql[] = "alter table ".$_POST["i3GEOuploadcsvesquema"].".".$_POST["tabelaDestinocsv"]." add gid serial CONSTRAINT gid_pkey PRIMARY KEY"; + } + foreach($sqltabela as $linha){ + try { + $dbh->query($linha); + } catch (PDOException $e) { + echo 'Erro: ' . $e->getMessage(); + } + } + foreach($linhasql as $linha){ + try { + $dbh->query($linha); + } catch (PDOException $e) { + echo 'Erro: ' . $e->getMessage(); + } + } + echo "
Feito!!!
Faça o reload da página"; } else{ - echo "Erro ao enviar o arquivo. Talvez o tamanho do arquivo seja maior do que o permitido.
"; -} + echo "Erro ao enviar o arquivo. Talvez o tamanho do arquivo seja maior do que o permitido.
"; + } + + ?> + -?> -