Commit c6f036e7f41f2807ffaf188b340bc544080ba67b

Authored by Edmar Moretti
1 parent df91d95e

Inclusão de opção de entrada de pontos por direção e distância

classesphp/classe_analise.php
... ... @@ -915,12 +915,13 @@ $locaplic - Localização do I3geo.
915 915 if ($layerPt->getNumresults() > 0){$existesel = "sim";}
916 916 if ($existesel == "nao")
917 917 {
918   - $qstring = "/.*/";
919   - if($layerPt->connectiontype == MS_POSTGIS)
920   - {$layerPt->queryByrect($this->mapa->extent);}
  918 + $layerPt->queryByrect($this->mapa->extent);
  919 + //$qstring = "/.*/";
  920 + //if($layerPt->connectiontype == MS_POSTGIS)
  921 + //{$layerPt->queryByrect($this->mapa->extent);}
921 922 //$qstring = $itemspt[0].' ~* \'^.\' ';
922   - else
923   - {$layerPt->queryByAttributes($itemspt[0], $qstring, 1);}
  923 + //else
  924 + //{$layerPt->queryByAttributes($itemspt[0], $qstring, 1);}
924 925 }
925 926 $res_count = $layerPt->getNumresults();
926 927 $pontos = array();
... ...
classesphp/mapa_controle.php
... ... @@ -1434,6 +1434,20 @@ Include:
1434 1434 redesenhaMapa();
1435 1435 break;
1436 1436 /*
  1437 +Property: insereSHPdd
  1438 +
  1439 +Insere um ponto em um shape file tendo como referência o último ponto existente no tema, a direção e a distância.
  1440 +
  1441 +Include:
  1442 +<classe_shp.php>
  1443 +*/
  1444 + case "pegaxyUltimoPonto":
  1445 + include_once("classe_shp.php");
  1446 + $m = new SHP($map_file,$tema);
  1447 + $cp->set_data($m->ultimoXY());
  1448 + break;
  1449 +
  1450 +/*
1437 1451 Property: insereSHPgrafico
1438 1452  
1439 1453 Cria um gráfico e insere no mapa em um local clicado no mapa.
... ...
ferramentas/inserexy2/index.htm
... ... @@ -9,10 +9,11 @@
9 9 <body class="yui-skin-sam" >
10 10 <div class=verdeescuro style="top:0px;cursor:pointer;left:0px;">
11 11 <div id=guia1 >Tema</div>
12   - <div id=guia2 >Digitar</div>
13   - <div id=guia3 >Colar</div>
14   - <div id=guia4 >Conversor</div>
15   - <div id=guia5 >Coordenadas</div>
  12 + <div id=guia2 >Direc/dist</div>
  13 + <div id=guia3 >Digitar</div>
  14 + <div id=guia4 >Colar</div>
  15 + <div id=guia5 >Conversor</div>
  16 + <div id=guia6 >Coordenadas</div>
16 17 </div>
17 18 <div id=geral style="left:0px;top:0px;">
18 19 <div id=projecao style='left:0px;display:none'>
... ... @@ -38,6 +39,25 @@
38 39 </div>
39 40 </div>
40 41 <div class=guiaobj id="guia2obj" style="display:none;;left:1px" >
  42 + <div>
  43 + Direção:<br>
  44 + <input class=digitar id='xgdd' title='grau' type=text size=3 value='00'/>
  45 + <input class=digitar id='xmdd' title='minuto' type=text size=3 value='00'/>
  46 + <input class=digitar id='xsdd' title='segundo' type=text size=3 value='0.0'/><br><br>
  47 + Distância em Km:<br>
  48 + <input class=digitar id='distdd' title='km' type=text size=5 value='0.0'/>
  49 + </div>
  50 + <div id=opcdd style="display:block;top:15px;left:0px">
  51 + <div style=top:0px;left:0px;text-align:left onclick='inserirdd()' >
  52 + <input id=botaodd type='button' size=14 value='Insere' />
  53 + </div>
  54 + </div>
  55 + <div id=mendd style="display:block;position:relative;left:0px;top:20px">
  56 + O próximo ponto será incluído em relação ao último ponto existente no tema, considerando-se apenas os pontos visíveis na extensão do mapa atual.
  57 + <br>Digite o ângulo em relação ao Norte e a distância em Km.
  58 + </div>
  59 + </div>
  60 + <div class=guiaobj id="guia3obj" style="display:none;;left:1px" >
41 61 <div id=tipodig style="display:block;top:5px;left:0px">
42 62 Tipo de entrada:
43 63 <table summary="Tipo de entrada" class=lista >
... ... @@ -74,7 +94,7 @@
74 94 <br>O valor correspondente ao Grau deve receber o sinal de negativo("-") nos casos de longitude oeste (todo o Brasil est&aacute; nesse caso) e nos casos de latitude Sul.<br><br><br>
75 95 </div>
76 96 </div>
77   - <div class=guiaobj id="guia3obj" style="display:none;left:1px;top:5px" >
  97 + <div class=guiaobj id="guia4obj" style="display:none;left:1px;top:5px" >
78 98  
79 99 <div id=opc3 style="top:0px;left:0px;text-align:left;">
80 100 Cole ou digite a lista de coordenadas:
... ... @@ -87,7 +107,7 @@
87 107 Cole os valores de X e Y, em d&eacute;cimos de grau, com sinal de negativo para oeste e sul, exemplo:<br> -54.23 -12.5 -50 -5.33<br>
88 108 </div>
89 109 </div>
90   - <div class=guiaobj id="guia4obj" style="display:none;left:1px;top:5px" >
  110 + <div class=guiaobj id="guia5obj" style="display:none;left:1px;top:5px" >
91 111 <div id=opc4 style="top:0px;left:0px">
92 112 <div style=top:0px;left:0px;text-align:left onclick='wkt()'>
93 113 <input id=botao3 type='button' size=25 value='Lista wkt' /><br><br>
... ... @@ -102,7 +122,7 @@
102 122 <div id=wktres style="display:block;position:relative;top:5px;left:0px">
103 123 </div>
104 124 </div>
105   - <div class=guiaobj id="guia5obj" style="display:none;left:1px;top:5px" >
  125 + <div class=guiaobj id="guia6obj" style="display:none;left:1px;top:5px" >
106 126 <div id="resultado" style="display:block;position:relative;top:10px;left:0px;font-size:12px"></div>
107 127 </div>
108 128 </div>
... ...
ferramentas/inserexy2/index.js
... ... @@ -28,18 +28,21 @@ mostraGuia(&quot;guia1&quot;)
28 28 $i("guia1").onclick = function()
29 29 {mostraGuia("guia1");$i("projecao").style.display="none";}
30 30 $i("guia2").onclick = function()
31   -{mostraGuia("guia2");$i("projecao").style.display="block";}
  31 +{mostraGuia("guia2");$i("projecao").style.display="none";}
32 32 $i("guia3").onclick = function()
33 33 {mostraGuia("guia3");$i("projecao").style.display="block";}
34 34 $i("guia4").onclick = function()
35   -{mostraGuia("guia4");$i("projecao").style.display="none";}
  35 +{mostraGuia("guia4");$i("projecao").style.display="block";}
36 36 $i("guia5").onclick = function()
37 37 {mostraGuia("guia5");$i("projecao").style.display="none";}
  38 +$i("guia6").onclick = function()
  39 +{mostraGuia("guia6");$i("projecao").style.display="none";}
38 40  
39 41 window.parent.g_nomepin = ""
40 42 mensagemAjuda("men1",$i("men1").innerHTML)
41 43 mensagemAjuda("men2",$i("men2").innerHTML)
42 44 mensagemAjuda("men3",$i("men3").innerHTML)
  45 +mensagemAjuda("mendd",$i("mendd").innerHTML)
43 46  
44 47 radioepsg
45 48 (
... ... @@ -73,6 +76,7 @@ function montaComboLocal()
73 76 new YAHOO.widget.Button("botao4");
74 77 new YAHOO.widget.Button("botao5");
75 78 new YAHOO.widget.Button("botao6");
  79 + new YAHOO.widget.Button("botaodd");
76 80 }
77 81 YAHOO.util.Event.onContentReady("botao1", onPushButtonsMarkupReady);
78 82 }()
... ... @@ -271,7 +275,7 @@ function inserir()
271 275 {var projecao = inputs[i].value}
272 276 }
273 277 var projecao = pegaProj()
274   - var p = g_locaplic+"/classesphp/mapa_controle.php?g_sid="+g_sid+"&"+g_sid+"&funcao=insereSHP&tema="+window.parent.g_nomepin+"&xy="+xxx+" "+yyy+"&projecao="+projecao;
  278 + var p = g_locaplic+"/classesphp/mapa_controle.php?g_sid="+g_sid+"&"+g_sid+"&funcao=insereSHP&tema="+window.parent.g_nomepin+"&xy="+xxx+" "+yyy+"&projecao="+projecao+"&item="+$i("itemtema").value+"&valor="+$i("valorItem").value;
275 279 var cp = new cpaint();
276 280 //cp.set_debug(2)
277 281 cp.set_response_type("JSON");
... ... @@ -279,6 +283,47 @@ function inserir()
279 283 $i("longitude").value = ""
280 284 $i("latitude").value = ""
281 285 }
  286 +//insere um ponto com base no ângulo e distância
  287 +function inserirdd()
  288 +{
  289 + aguarde("block")
  290 + var reg = new RegExp("w|W|l|L|o|O|'|G|r", "g");
  291 + var regv = new RegExp(",", "g");
  292 + var xgv = $i("xgdd").value;
  293 + var xmv = $i("xmdd").value;
  294 + var xsv = $i("xsdd").value;
  295 + var xsv = xsv.replace(regv,".");
  296 +
  297 + var direcao = window.parent.i3GEO.calculo.dms2dd(xgv,xmv,xsv);
  298 +
  299 + var redesenha = function()
  300 + {aguarde("none");window.parent.i3GEO.atualiza("");}
  301 +
  302 + var inserePT = function(retorno){
  303 + try{
  304 + var x = retorno.data.mapprj.x
  305 + var y = retorno.data.mapprj.y
  306 +
  307 + var xy = window.parent.i3GEO.calculo.destinoDD(x,y,$i("distdd").value,direcao)
  308 + var p = g_locaplic+"/classesphp/mapa_controle.php?g_sid="+g_sid+"&funcao=insereSHP&tema="+window.parent.g_nomepin+"&xy="+xy[0]+" "+xy[1]+"&item="+$i("itemtema").value+"&valor="+$i("valorItem").value;
  309 + var cp = new cpaint();
  310 + //cp.set_debug(2)
  311 + cp.set_response_type("JSON");
  312 + cp.call(p,"insereSHP",redesenha);
  313 + var ins = $i("resultado").innerHTML
  314 + ins = ins + "<div style='display:block;position:relative;top:5px;left:0px;font-size:12px' >" + x +" " + y + "</div><br>"
  315 + $i("resultado").innerHTML = ins
  316 + }
  317 + catch(e){alert(e)}
  318 + }
  319 +
  320 + var p = g_locaplic+"/classesphp/mapa_controle.php?g_sid="+g_sid+"&funcao=pegaxyUltimoPonto&tema="+window.parent.g_nomepin;
  321 + var cp = new cpaint();
  322 + //cp.set_debug(2)
  323 + cp.set_response_type("JSON");
  324 + cp.call(p,"pegaxyUltimoPonto",inserePT);
  325 +}
  326 +
282 327 function verificaproj()
283 328 {
284 329 var p = pegaProj()
... ... @@ -304,7 +349,7 @@ function colar()
304 349 var regv = new RegExp(",", "g");
305 350 $i("colar").value = $i("colar").value.replace(regv,".")
306 351 var xys = $i("colar").value.split(" ")
307   - var p = g_locaplic+"/classesphp/mapa_controle.php?g_sid="+g_sid+"&funcao=insereSHP&tema="+window.parent.g_nomepin+"&xy="+$i("colar").value;
  352 + var p = g_locaplic+"/classesphp/mapa_controle.php?g_sid="+g_sid+"&funcao=insereSHP&tema="+window.parent.g_nomepin+"&xy="+$i("colar").value+"&item="+$i("itemtema").value+"&valor="+$i("valorItem").value;
308 353 var cp = new cpaint();
309 354 //cp.set_debug(2)
310 355 cp.set_response_type("JSON");
... ...