Commit 65f5c6ed3314e9f74c098f5edb10737df30b184f

Authored by Edmar Moretti
1 parent d537f5cb

v6 - opção para projetar shp ao fazer o upload para o banco de dados

admin/js/estat_editor.js
... ... @@ -514,6 +514,14 @@ i3GEOadmin.editor = {
514 514 "i3GEOuploadsubmit",
515 515 {onclick:{fn: i3GEOadmin.editor.uploadshp.submit}}
516 516 );
  517 + i3GEO.util.comboEpsg("comboInSrid","selInSrid","i3GEOadmin.editor.uploadshp.mudaComboInSrid",4326);
  518 + i3GEO.util.comboEpsg("comboOutSrid","selOutSrid","i3GEOadmin.editor.uploadshp.mudaComboOutSrid",4326);
  519 + },
  520 + mudaComboInSrid: function(obj){
  521 + $i("insrid").value = obj.value;
  522 + },
  523 + mudaComboOutSrid: function(obj){
  524 + $i("outsrid").value = obj.value;
517 525 },
518 526 formulario: function(){
519 527 var ins = '<fieldset><form id=i3GEOuploadf target="i3GEOuploadiframe" action="../php/metaestat_uploadshp_submit.php" method="post" ENCTYPE="multipart/form-data">' +
... ... @@ -531,7 +539,14 @@ i3GEOadmin.editor = {
531 539 '<option value=incluir >Adicionar novos registros</option>' +
532 540 '<option value=apagar >Apagar dados atuais e incluir do SHP</option>' +
533 541 '</select></p>' +
534   - '<p class="paragrafo" >C&oacute;digo da proje&ccedil;&atilde;o (SRID) Assegure-se que o shapefile esteja na proje&ccedil;&atilde;o geogr&aacute;fica se voc&ecirc; for usar com o sistema de metadados estat&iacute;sticos :<br><input class=digitar type="text" value="4326" size=20 id="srid" name="srid" style="top:0px;left:0px;cursor:pointer;"></p>' +
  542 +
  543 + '<p class="paragrafo" >Assegure-se que o shapefile esteja na proje&ccedil;&atilde;o geogr&aacute;fica se voc&ecirc; for usar com o sistema de metadados estat&iacute;sticos.</p>' +
  544 +
  545 + '<p class="paragrafo" >C&oacute;digo da proje&ccedil;&atilde;o (SRID) do arquivo</p>' +
  546 + '<p><div id=selInSrid ></div><input class=digitar type="text" value="4326" size=20 id="insrid" name="insrid" style="top:0px;left:0px;cursor:pointer;"></p>' +
  547 + '<p class="paragrafo" >Projetar o arquivo para (deixe em branco caso n&atilde;o deva ser feita a proje&ccedil;&atilde;o dos dados):</p>' +
  548 + '<p><div id=selOutSrid ></div><input class=digitar type="text" value="" size=20 id="outsrid" name="outsrid" style="top:0px;left:0px;cursor:pointer;"></p>' +
  549 +
535 550 '<p class="paragrafo" ><input type="checkbox" id="incluiserialshp" name="incluiserialshp" style="cursor:pointer;position:relative;top:2px;">&nbsp;Inclui uma coluna gid do tipo serial e chave prim&aacute;ria com c&oacute;digo &uacute;nico</p>' +
536 551 '<p class="paragrafo" ><input id=i3GEOuploadsubmit type="button" value="Enviar" size=12 />' +
537 552 '<input type="hidden" name="MAX_FILE_SIZE" value="1000000">' +
... ... @@ -556,7 +571,7 @@ i3GEOadmin.editor = {
556 571 alert("Digite o nome da tabela a ser criada");
557 572 return;
558 573 }
559   - if($i("srid").value == ""){
  574 + if($i("insrid").value == ""){
560 575 alert("Digite o valor do SRID");
561 576 return;
562 577 }
... ...
admin/php/metaestat_uploadshp_submit.php
... ... @@ -24,7 +24,7 @@ if($_POST[&quot;tabelaDestino&quot;] == &quot;&quot;){
24 24 echo "Nome da tabela n&atilde;o definido";
25 25 exit;
26 26 }
27   -if($_POST["srid"] == ""){
  27 +if($_POST["insrid"] == ""){
28 28 echo "SRID n&atilde;o definido";
29 29 exit;
30 30 }
... ... @@ -210,11 +210,17 @@ if (isset($_FILES[&#39;i3GEOuploadshp&#39;][&#39;name&#39;])){
210 210 $vs[] = $valor;
211 211 }
212 212 }
213   - $vs[] = "st_geomfromtext('".$s->toWkt()."','".$_POST["srid"]."')";
  213 + if(($_POST["insrid"] == $_POST["outsrid"]) || $_POST["outsrid"] == ""){
  214 + $vs[] = "st_geomfromtext('".$s->toWkt()."','".$_POST["insrid"]."')";
  215 + }
  216 + else{
  217 + $vs[] = "st_transform(st_geomfromtext('".$s->toWkt()."','".$_POST["insrid"]."'),'".$_POST["outsrid"]."')";
  218 + }
214 219 $str = implode(",",$vs);
215 220 $str = str_replace("nulo",'null',$str);
216 221 $linhas[] = $insert."VALUES(".$str.")";
217 222 }
  223 + //echo $linhas[0];exit;
218 224 //echo "<pre>".var_dump($linhas);exit;
219 225 $layer->close();
220 226 echo "<br>Incluindo dados";
... ...