diff --git a/admin/admin.db b/admin/admin.db index 750fbc1..3fd022c 100644 Binary files a/admin/admin.db and b/admin/admin.db differ diff --git a/admin/js/estat_editor.js b/admin/js/estat_editor.js index 6e120d3..adb6d5d 100644 --- a/admin/js/estat_editor.js +++ b/admin/js/estat_editor.js @@ -163,10 +163,9 @@ i3GEOadmin.editor = { "
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.
"; + } + + ?> + -?> -