Commit 79ff2e03c09fef209f9111a89e301869c0b2dca0
1 parent
b3c6cd25
Exists in
master
and in
7 other branches
Complementação da ferramenta de melhor caminho e inclusão de novas infos no teste de instalação
Showing
5 changed files
with
139 additions
and
35 deletions
Show diff stats
ferramentas/melhorcaminho/LEIAME
| 1 | -para execução do script é necessário executar as seguintes linhas no terminal | 1 | +para execução do script é necessário executar as seguintes linhas no terminal |
| 2 | 2 | ||
| 3 | sudo apt-get install python-pip python-dev build-essential | 3 | sudo apt-get install python-pip python-dev build-essential |
| 4 | sudo pip install --upgrade pip | 4 | sudo pip install --upgrade pip |
| 5 | sudo pip install gdal scikit-image pyyaml | 5 | sudo pip install gdal scikit-image pyyaml |
| 6 | 6 | ||
| 7 | -É necessário instalar tbm o YAML no PHP: | 7 | + Caso ocorra erro no pip experimente instalar com apt-get: |
| 8 | 8 | ||
| 9 | + sudo apt-get install python-gdal | ||
| 10 | + sudo apt-get install python-yaml | ||
| 11 | + sudo apt-get install python-skimage | ||
| 12 | + | ||
| 13 | + Caso ainda ocorram problemas, você pode fazer o download das extensões e instalar com: | ||
| 14 | + | ||
| 15 | + python setup.py install | ||
| 16 | + | ||
| 17 | +É necessário instalar tbm o YAML no PHP: | ||
| 18 | + | ||
| 19 | +sudo apt-get install libyaml-dev | ||
| 20 | +sudo apt-get install php-pear | ||
| 9 | sudo pecl install yaml | 21 | sudo pecl install yaml |
| 10 | 22 | ||
| 11 | -Depois de instalado é necessário incluir no php.ini: | 23 | +Depois de instalado é necessário incluir no php.ini: |
| 24 | + | ||
| 25 | +extension=yaml.so | ||
| 26 | + | ||
| 27 | +ou criar um arquivo ini específico, dessa forma: | ||
| 12 | 28 | ||
| 29 | +cd /etc/php5/apache2/conf.d | ||
| 30 | +sudo vi yaml.ini | ||
| 13 | extension=yaml.so | 31 | extension=yaml.so |
| 14 | 32 | ||
| 15 | e reiniciar o apache | 33 | e reiniciar o apache |
| 16 | 34 | ||
| 17 | 35 | ||
| 18 | -------------------------------------------------------------------------------- | 36 | -------------------------------------------------------------------------------- |
| 19 | -O script lê os parâmetros a partir de um arquivo yaml cujo nome é definido ao executar o programa | 37 | +O script lê os parâmetros a partir de um arquivo yaml cujo nome é definido ao executar o programa |
| 20 | 38 | ||
| 21 | -Para executar o arquivo é necessário invocá-lo no terminal: | 39 | +Para executar o arquivo é necessário invocá-lo no terminal: |
| 22 | 40 | ||
| 23 | ./better_path.py /path/to/source.yaml | 41 | ./better_path.py /path/to/source.yaml |
| 24 | 42 | ||
| @@ -62,26 +80,26 @@ processes: | @@ -62,26 +80,26 @@ processes: | ||
| 62 | 80 | ||
| 63 | 81 | ||
| 64 | -------------------------------------------------------------------------------- | 82 | -------------------------------------------------------------------------------- |
| 65 | -Descrição dos parâmetros: | 83 | +Descrição dos parâmetros: |
| 66 | 84 | ||
| 67 | cost_surface_path: arquivo raster com o valor do custo em cada pixel | 85 | cost_surface_path: arquivo raster com o valor do custo em cada pixel |
| 68 | -pathresult: pasta onde serão guardados os resultados | ||
| 69 | -processes: lista de processos que serão executados | 86 | +pathresult: pasta onde serão guardados os resultados |
| 87 | +processes: lista de processos que serão executados | ||
| 70 | 88 | ||
| 71 | - xxxx: nome do processo (apenas para referência do programa) | 89 | + xxxx: nome do processo (apenas para referência do programa) |
| 72 | 90 | ||
| 73 | - calculation_type: tipo de cálculo que será executado no processo | ||
| 74 | - file_prefix: prefixo que será usado nos arquivos resultantes do processo | ||
| 75 | - lut: parâmetros de reclassificação indicando o range e o valor reclassificado | 91 | + calculation_type: tipo de cálculo que será executado no processo |
| 92 | + file_prefix: prefixo que será usado nos arquivos resultantes do processo | ||
| 93 | + lut: parâmetros de reclassificação indicando o range e o valor reclassificado | ||
| 76 | start_coord: ponto A | 94 | start_coord: ponto A |
| 77 | stop_coord: ponto B | 95 | stop_coord: ponto B |
| 78 | ou | 96 | ou |
| 79 | informed_path: arquivo shapefile com uma linha (opcional) | 97 | informed_path: arquivo shapefile com uma linha (opcional) |
| 80 | 98 | ||
| 81 | - buffer_km: buffer de entorno da linha reta entre A e B que será considerado no cálculo do caminho (opcional) | 99 | + buffer_km: buffer de entorno da linha reta entre A e B que será considerado no cálculo do caminho (opcional) |
| 82 | 100 | ||
| 83 | 101 | ||
| 84 | -------------------------------------------------------------------------------- | 102 | -------------------------------------------------------------------------------- |
| 85 | Resultado: | 103 | Resultado: |
| 86 | 104 | ||
| 87 | -Os arquivos shapefile e o arquivo result.yaml são gerados na pasta de destino especificada no arquivo de parâmetros | 105 | +Os arquivos shapefile e o arquivo result.yaml são gerados na pasta de destino especificada no arquivo de parâmetros |
ferramentas/melhorcaminho/dicionario.js
| @@ -56,7 +56,7 @@ i3GEOF.melhorcaminho.dicionario = { | @@ -56,7 +56,7 @@ i3GEOF.melhorcaminho.dicionario = { | ||
| 56 | es : "" | 56 | es : "" |
| 57 | } ], | 57 | } ], |
| 58 | 'lut' : [ { | 58 | 'lut' : [ { |
| 59 | - pt : "Você pode reclassificar a imagem definindo novos valores para os pixels. Escolha os valores iniciais e finais do original e o novo valor. Podem ser definidos vários valores.", | 59 | + pt : "Você pode reclassificar a imagem definindo novos valores para os pixels. Escolha os valores iniciais e finais do original (intervalos fechados) e o novo valor. Podem ser definidos vários valores.", |
| 60 | en : "", | 60 | en : "", |
| 61 | es : "" | 61 | es : "" |
| 62 | } ], | 62 | } ], |
ferramentas/melhorcaminho/exec.php
| @@ -37,12 +37,95 @@ switch (strtoupper($funcao)) | @@ -37,12 +37,95 @@ switch (strtoupper($funcao)) | ||
| 37 | "by"=>$pontoB->y | 37 | "by"=>$pontoB->y |
| 38 | ); | 38 | ); |
| 39 | break; | 39 | break; |
| 40 | + case "MELHORCAMINHO": | ||
| 41 | + //converte os parametros em um arquivo YAML | ||
| 42 | + $mapa = ms_newMapObj($map_file); | ||
| 43 | + $layer = $mapa->getlayerbyname($raster); | ||
| 44 | + $cost_surface_path = $layer->data; | ||
| 45 | + $prefixo = nomeRandomico(3); | ||
| 46 | + if(file_exists($cost_surface_path)){ | ||
| 47 | + $pathresult = $dir_tmp."/melhorcaminho_".nomeRandomico(); | ||
| 48 | + //$pta = explode(",",$pta); | ||
| 49 | + //$ptb = explode(",",$ptb); | ||
| 50 | + mkdir ($pathresult,0777); | ||
| 51 | + | ||
| 52 | + $best = array( | ||
| 53 | + " p1"=> array( | ||
| 54 | + "calculation_type" =>"best_path", | ||
| 55 | + "file_prefix" => $prefixo, | ||
| 56 | + "start_coord" => "[$pta]", | ||
| 57 | + "stop_coord" => "[$ptb]" | ||
| 58 | + ) | ||
| 59 | + ); | ||
| 60 | + $cart = array( | ||
| 61 | + " p2"=> array( | ||
| 62 | + "calculation_type" =>"cartesian_straight_line_cost", | ||
| 63 | + "file_prefix" => $prefixo, | ||
| 64 | + "start_coord" => "[$pta]", | ||
| 65 | + "stop_coord" => "[$ptb]" | ||
| 66 | + ) | ||
| 67 | + ); | ||
| 68 | + | ||
| 69 | + $processos = array($best,$cart); | ||
| 70 | + | ||
| 71 | + $a = array( | ||
| 72 | + "cost_surface_path" => $cost_surface_path, | ||
| 73 | + "pathresult" => $pathresult, | ||
| 74 | + "processes"=> $processos | ||
| 75 | + ); | ||
| 76 | + $y = $pathresult."/input.yaml"; | ||
| 77 | + $yaml = yaml_emit($a); | ||
| 78 | + //adapta o formato YAML para que o Python entenda | ||
| 79 | + $yaml = str_replace("---","",$yaml); | ||
| 80 | + $yaml = str_replace("...","",$yaml); | ||
| 81 | + $yaml = str_replace("- ","",$yaml); | ||
| 82 | + $yaml = str_replace("'","",$yaml); | ||
| 83 | + $yaml = trim($yaml)."\n"; | ||
| 84 | + //salva o arquivo com os parametros | ||
| 85 | + $fp = fopen($y,"w"); | ||
| 86 | + fwrite($fp,$yaml); | ||
| 87 | + fclose($fp); | ||
| 88 | + exec(dirname(__FILE__)."/better_path.py $y"); | ||
| 89 | + //adiciona o shapefile | ||
| 90 | + if(file_exists($pathresult."/".$prefixo."_best_path.shp")){ | ||
| 91 | + include_once("../../classesphp/classe_mapa.php"); | ||
| 92 | + $m = new Mapa($map_file); | ||
| 93 | + //adiciona ao mapa best_path | ||
| 94 | + $retorno = $m->adicionaTemaSHP($pathresult."/".$prefixo."_best_path.shp"); | ||
| 95 | + $layer = $m->mapa->getlayerbyname($prefixo."_best_path.shp"); | ||
| 96 | + $layer->setmetadata("TEMA","Melhor caminho $prefixo"); | ||
| 97 | + $layer->setmetadata("DOWNLOAD","SIM"); | ||
| 98 | + $layer->setmetadata("TEMALOCAL","SIM"); | ||
| 99 | + $classe = $layer->getclass(0); | ||
| 100 | + $estilo = $classe->getstyle(0); | ||
| 101 | + $cor = $estilo->color; | ||
| 102 | + $cor->setRGB(255,0,0); | ||
| 103 | + //cartesian_straight_line_cost | ||
| 104 | + $retorno = $m->adicionaTemaSHP($pathresult."/".$prefixo."_cartesian_straight_line_cost.shp"); | ||
| 105 | + $layer = $m->mapa->getlayerbyname($prefixo."_cartesian_straight_line_cost.shp"); | ||
| 106 | + $layer->setmetadata("TEMA","Caminho mais curto $prefixo"); | ||
| 107 | + $layer->setmetadata("DOWNLOAD","SIM"); | ||
| 108 | + $layer->setmetadata("TEMALOCAL","SIM"); | ||
| 109 | + $classe = $layer->getclass(0); | ||
| 110 | + $estilo = $classe->getstyle(0); | ||
| 111 | + $cor = $estilo->color; | ||
| 112 | + $cor->setRGB(255,0,255); | ||
| 113 | + $estilo->set("width",2); | ||
| 114 | + $m->salva(); | ||
| 115 | + } | ||
| 116 | + } | ||
| 117 | + else{ | ||
| 118 | + $retorno = "<span style='color:red' >Erro. Arquivo raster não encontrado</span>"; | ||
| 119 | + } | ||
| 120 | + $retorno = ""; | ||
| 121 | + break; | ||
| 40 | } | 122 | } |
| 41 | if (!connection_aborted()){ | 123 | if (!connection_aborted()){ |
| 42 | if(isset($map_file) && isset($postgis_mapa) && $map_file != "") | 124 | if(isset($map_file) && isset($postgis_mapa) && $map_file != "") |
| 43 | restauraCon($map_file,$postgis_mapa); | 125 | restauraCon($map_file,$postgis_mapa); |
| 44 | cpjson($retorno); | 126 | cpjson($retorno); |
| 45 | } | 127 | } |
| 46 | -else | ||
| 47 | -{exit();} | 128 | +else{ |
| 129 | + exit(); | ||
| 130 | +} | ||
| 48 | ?> | 131 | ?> |
| 49 | \ No newline at end of file | 132 | \ No newline at end of file |
ferramentas/melhorcaminho/index.js
| @@ -29,6 +29,10 @@ GNU junto com este programa; se n&atilde;o, escreva para a | @@ -29,6 +29,10 @@ GNU junto com este programa; se n&atilde;o, escreva para a | ||
| 29 | Free Software Foundation, Inc., no endereço | 29 | Free Software Foundation, Inc., no endereço |
| 30 | 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. | 30 | 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. |
| 31 | */ | 31 | */ |
| 32 | +//TODO incluir opcao de buffer | ||
| 33 | +//TODO incluir opcao de selecao de elementos | ||
| 34 | +//TODO calcular valor pelo shapefile | ||
| 35 | +//TODO gerar o relatorio | ||
| 32 | 36 | ||
| 33 | if(typeof(i3GEOF) === 'undefined'){ | 37 | if(typeof(i3GEOF) === 'undefined'){ |
| 34 | var i3GEOF = {}; | 38 | var i3GEOF = {}; |
| @@ -186,6 +190,7 @@ i3GEOF.melhorcaminho = { | @@ -186,6 +190,7 @@ i3GEOF.melhorcaminho = { | ||
| 186 | 190 | ||
| 187 | i3GEO.util.proximoAnterior("i3GEOF.melhorcaminho.t2()","i3GEOF.melhorcaminho.t4()",ins,"i3GEOF.melhorcaminho.t3","i3GEOmelhorcaminhoresultado",true,"i3GEOF.melhorcaminho_rodape"); | 191 | i3GEO.util.proximoAnterior("i3GEOF.melhorcaminho.t2()","i3GEOF.melhorcaminho.t4()",ins,"i3GEOF.melhorcaminho.t3","i3GEOmelhorcaminhoresultado",true,"i3GEOF.melhorcaminho_rodape"); |
| 188 | i3GEO.eventos.cliquePerm.desativa(); | 192 | i3GEO.eventos.cliquePerm.desativa(); |
| 193 | + i3GEO.eventos.removeEventos("MOUSECLIQUE",["i3GEOF.melhorcaminho.capturaPontoB()"]); | ||
| 189 | i3GEO.eventos.adicionaEventos("MOUSECLIQUE",["i3GEOF.melhorcaminho.capturaPontoA()"]); | 194 | i3GEO.eventos.adicionaEventos("MOUSECLIQUE",["i3GEOF.melhorcaminho.capturaPontoA()"]); |
| 190 | //calcula as coordenadas em DD | 195 | //calcula as coordenadas em DD |
| 191 | dms = i3GEO.calculo.dd2dms(retorno.data.ax,retorno.data.ay); | 196 | dms = i3GEO.calculo.dd2dms(retorno.data.ax,retorno.data.ay); |
| @@ -215,6 +220,7 @@ i3GEOF.melhorcaminho = { | @@ -215,6 +220,7 @@ i3GEOF.melhorcaminho = { | ||
| 215 | i3GEO.util.proximoAnterior("i3GEOF.melhorcaminho.t3()","i3GEOF.melhorcaminho.t5()",ins,"i3GEOF.melhorcaminho.t4","i3GEOmelhorcaminhoresultado",true,"i3GEOF.melhorcaminho_rodape"); | 220 | i3GEO.util.proximoAnterior("i3GEOF.melhorcaminho.t3()","i3GEOF.melhorcaminho.t5()",ins,"i3GEOF.melhorcaminho.t4","i3GEOmelhorcaminhoresultado",true,"i3GEOF.melhorcaminho_rodape"); |
| 216 | 221 | ||
| 217 | i3GEO.eventos.cliquePerm.desativa(); | 222 | i3GEO.eventos.cliquePerm.desativa(); |
| 223 | + i3GEO.eventos.removeEventos("MOUSECLIQUE",["i3GEOF.melhorcaminho.capturaPontoA()"]); | ||
| 218 | i3GEO.eventos.adicionaEventos("MOUSECLIQUE",["i3GEOF.melhorcaminho.capturaPontoB()"]); | 224 | i3GEO.eventos.adicionaEventos("MOUSECLIQUE",["i3GEOF.melhorcaminho.capturaPontoB()"]); |
| 219 | //calcula as coordenadas em DD | 225 | //calcula as coordenadas em DD |
| 220 | dms = i3GEO.calculo.dd2dms(retorno.data.bx,retorno.data.by); | 226 | dms = i3GEO.calculo.dd2dms(retorno.data.bx,retorno.data.by); |
| @@ -248,6 +254,7 @@ i3GEOF.melhorcaminho = { | @@ -248,6 +254,7 @@ i3GEOF.melhorcaminho = { | ||
| 248 | t6: function(){ | 254 | t6: function(){ |
| 249 | var b,ins = "<p class='paragrafo'><b>"+$trad('fim',i3GEOF.melhorcaminho.dicionario)+"</b>"; | 255 | var b,ins = "<p class='paragrafo'><b>"+$trad('fim',i3GEOF.melhorcaminho.dicionario)+"</b>"; |
| 250 | ins += "<p class='paragrafo'><input id=i3GEOmelhorcaminhobotao1 size=18 class=executar type='button' value='"+$trad('executa',i3GEOF.melhorcaminho.dicionario)+"' />"; | 256 | ins += "<p class='paragrafo'><input id=i3GEOmelhorcaminhobotao1 size=18 class=executar type='button' value='"+$trad('executa',i3GEOF.melhorcaminho.dicionario)+"' />"; |
| 257 | + ins += "<br><br><div class=paragrafo id=i3GEOmelhorcaminhoresultadoFim ></div>"; | ||
| 251 | i3GEO.util.proximoAnterior("i3GEOF.melhorcaminho.t5()","",ins,"i3GEOF.melhorcaminho.t6","i3GEOmelhorcaminhoresultado",true,"i3GEOF.melhorcaminho_rodape"); | 258 | i3GEO.util.proximoAnterior("i3GEOF.melhorcaminho.t5()","",ins,"i3GEOF.melhorcaminho.t6","i3GEOmelhorcaminhoresultado",true,"i3GEOF.melhorcaminho_rodape"); |
| 252 | b = new YAHOO.widget.Button( | 259 | b = new YAHOO.widget.Button( |
| 253 | "i3GEOmelhorcaminhobotao1", | 260 | "i3GEOmelhorcaminhobotao1", |
| @@ -361,8 +368,9 @@ i3GEOF.melhorcaminho = { | @@ -361,8 +368,9 @@ i3GEOF.melhorcaminho = { | ||
| 361 | ptay = i3GEO.calculo.dms2dd($i("i3GEOmelhorcaminhoyg").value,$i("i3GEOmelhorcaminhoym").value,$i("i3GEOmelhorcaminhoys").value); | 368 | ptay = i3GEO.calculo.dms2dd($i("i3GEOmelhorcaminhoyg").value,$i("i3GEOmelhorcaminhoym").value,$i("i3GEOmelhorcaminhoys").value); |
| 362 | ptbx = i3GEO.calculo.dms2dd($i("i3GEOmelhorcaminhoixg").value,$i("i3GEOmelhorcaminhoixm").value,$i("i3GEOmelhorcaminhoixs").value); | 369 | ptbx = i3GEO.calculo.dms2dd($i("i3GEOmelhorcaminhoixg").value,$i("i3GEOmelhorcaminhoixm").value,$i("i3GEOmelhorcaminhoixs").value); |
| 363 | ptby = i3GEO.calculo.dms2dd($i("i3GEOmelhorcaminhoiyg").value,$i("i3GEOmelhorcaminhoiym").value,$i("i3GEOmelhorcaminhoiys").value); | 370 | ptby = i3GEO.calculo.dms2dd($i("i3GEOmelhorcaminhoiyg").value,$i("i3GEOmelhorcaminhoiym").value,$i("i3GEOmelhorcaminhoiys").value); |
| 364 | - pta = ptax+","+ptay; | ||
| 365 | - ptb = ptbx+","+ptby; | 371 | + //nao tire o espaco apos a virgula |
| 372 | + pta = ptax+", "+ptay; | ||
| 373 | + ptb = ptbx+", "+ptby; | ||
| 366 | } catch(e){ | 374 | } catch(e){ |
| 367 | i3GEO.janela.tempoMsg($trad('mesf2',i3GEOF.melhorcaminho.dicionario));return; | 375 | i3GEO.janela.tempoMsg($trad('mesf2',i3GEOF.melhorcaminho.dicionario));return; |
| 368 | } | 376 | } |
| @@ -373,17 +381,17 @@ i3GEOF.melhorcaminho = { | @@ -373,17 +381,17 @@ i3GEOF.melhorcaminho = { | ||
| 373 | lut.push(lutObjs[i].name); | 381 | lut.push(lutObjs[i].name); |
| 374 | } | 382 | } |
| 375 | lut = lut.join("|"); | 383 | lut = lut.join("|"); |
| 376 | - /* | ||
| 377 | i3GEOF.melhorcaminho.aguarde.visibility = "visible"; | 384 | i3GEOF.melhorcaminho.aguarde.visibility = "visible"; |
| 378 | fim = function(retorno){ | 385 | fim = function(retorno){ |
| 379 | i3GEOF.melhorcaminho.aguarde.visibility = "hidden"; | 386 | i3GEOF.melhorcaminho.aguarde.visibility = "hidden"; |
| 380 | i3GEO.atualiza(""); | 387 | i3GEO.atualiza(""); |
| 388 | + $i("i3GEOmelhorcaminhoresultadoFim").innerHTML = retorno.data; | ||
| 381 | }; | 389 | }; |
| 382 | - p = i3GEO.configura.locaplic+"/ferramentas/melhorcaminho/exec.php?g_sid="+i3GEO.configura.sid+"&proj="+proj+"&funcao=gradedepol&xdd="+dx+"&ydd="+dy+"&px="+ix+"&py="+iy+"&nptx="+nptx+"&npty="+npty; | 390 | + p = i3GEO.configura.locaplic+"/ferramentas/melhorcaminho/exec.php?g_sid="+i3GEO.configura.sid |
| 391 | + +"&funcao=melhorcaminho&pta="+pta+"&ptb="+ptb+"&lut="+lut+"&raster="+raster; | ||
| 383 | cp = new cpaint(); | 392 | cp = new cpaint(); |
| 384 | cp.set_response_type("JSON"); | 393 | cp.set_response_type("JSON"); |
| 385 | cp.call(p,"melhorcaminho",fim); | 394 | cp.call(p,"melhorcaminho",fim); |
| 386 | - */ | ||
| 387 | - alert("Tema: "+raster+"<br>A: "+pta+"<br>B: "+ptb+"<br>Lut: "+lut); | 395 | + //alert("Tema: "+raster+"<br>A: "+pta+"<br>B: "+ptb+"<br>Lut: "+lut); |
| 388 | } | 396 | } |
| 389 | }; | 397 | }; |
testainstal.php
| @@ -86,23 +86,22 @@ catch(ee) | @@ -86,23 +86,22 @@ catch(ee) | ||
| 86 | echo "<br><b>TESTE DE INSTALACAO DO i3Geo</b><br>\n"; | 86 | echo "<br><b>TESTE DE INSTALACAO DO i3Geo</b><br>\n"; |
| 87 | include ("versao.php"); | 87 | include ("versao.php"); |
| 88 | echo "<br><b>$mensagemInicia </b><br><br> \n"; | 88 | echo "<br><b>$mensagemInicia </b><br><br> \n"; |
| 89 | + echo "<br>Para mais informações sobre a instalação de pacotes complementares, como o SAIKU e ferramentas que precisam de softwares específicos, veja o link <a href='http://moodle.gvsig-training.com/course/view.php?id=11' >http://moodle.gvsig-training.com/course/view.php?id=11</a></b><br><br> \n"; | ||
| 89 | //ip | 90 | //ip |
| 90 | $ip = "UNKNOWN"; | 91 | $ip = "UNKNOWN"; |
| 91 | if (getenv("HTTP_CLIENT_IP")) $ip = getenv("HTTP_CLIENT_IP"); | 92 | if (getenv("HTTP_CLIENT_IP")) $ip = getenv("HTTP_CLIENT_IP"); |
| 92 | else if(getenv("HTTP_X_FORWARDED_FOR")) $ip = getenv("HTTP_X_FORWARDED_FOR"); | 93 | else if(getenv("HTTP_X_FORWARDED_FOR")) $ip = getenv("HTTP_X_FORWARDED_FOR"); |
| 93 | else if(getenv("REMOTE_ADDR")) $ip = getenv("REMOTE_ADDR"); | 94 | else if(getenv("REMOTE_ADDR")) $ip = getenv("REMOTE_ADDR"); |
| 94 | else $ip = "UNKNOWN"; | 95 | else $ip = "UNKNOWN"; |
| 95 | - echo "<br>Seu endereço IP: ".$ip."<br><br>\n"; | ||
| 96 | - | ||
| 97 | - echo "<br><br>PHP (a versão deve ser a 5x): "; | ||
| 98 | - echo "<br>".phpversion()."<br>\n"; | 96 | + echo "<br>Seu endereço IP: ".$ip."<br>\n"; |
| 97 | + echo "<br>Sistema operacional: ".PHP_OS."<br>\n"; | ||
| 98 | + echo "<br>PHP (a versão deve ser a 5x): ".phpversion()."<br>\n"; | ||
| 99 | include_once("classesphp/carrega_ext.php"); | 99 | include_once("classesphp/carrega_ext.php"); |
| 100 | include_once("classesphp/funcoes_gerais.php"); | 100 | include_once("classesphp/funcoes_gerais.php"); |
| 101 | $versao = versao(); | 101 | $versao = versao(); |
| 102 | $versao = $versao["principal"]; | 102 | $versao = $versao["principal"]; |
| 103 | $exts = get_loaded_extensions(); | 103 | $exts = get_loaded_extensions(); |
| 104 | - echo "MapServer (a versão deve ser >= 5.2 para que a sobreposição de temas funcione na interface Google Maps): <br>"; | ||
| 105 | - echo "Versão:<br>"; | 104 | + echo "<br>MapServer: <br>"; |
| 106 | echo ms_GetVersion(); | 105 | echo ms_GetVersion(); |
| 107 | echo "<br><br>"; | 106 | echo "<br><br>"; |
| 108 | var_dump (versao())."<br><br>"; | 107 | var_dump (versao())."<br><br>"; |
| @@ -110,15 +109,11 @@ catch(ee) | @@ -110,15 +109,11 @@ catch(ee) | ||
| 110 | { | 109 | { |
| 111 | echo "<span style=color:red >PARECE QUE O MAPSERVER NAO ESTA INSTALADO!!!<br><br>"; | 110 | echo "<span style=color:red >PARECE QUE O MAPSERVER NAO ESTA INSTALADO!!!<br><br>"; |
| 112 | } | 111 | } |
| 113 | - echo "<br>---<br>"; | ||
| 114 | - | ||
| 115 | if (get_cfg_var("safe_mode") == 1){ | 112 | if (get_cfg_var("safe_mode") == 1){ |
| 116 | echo "<span style=color:red >Problema: safe_mode no php.ini deveria estar como 'Off'. O i3Geo não irá funcionar!!!<br></span>"; | 113 | echo "<span style=color:red >Problema: safe_mode no php.ini deveria estar como 'Off'. O i3Geo não irá funcionar!!!<br></span>"; |
| 117 | - echo "<br>---<br>"; | ||
| 118 | } | 114 | } |
| 119 | - echo "As seguintes letras devem aparecer corretamente acentuadas: çÇãâáÁóÓ"; | 115 | + echo "<br><br>As seguintes letras devem aparecer corretamente acentuadas: çÇãâáÁóÓ"; |
| 120 | echo "<br>Caso contrário, certifique-se que o parâmetro de configuração do Apache <b>AddDefaultCharset</b> esteja desativado."; | 116 | echo "<br>Caso contrário, certifique-se que o parâmetro de configuração do Apache <b>AddDefaultCharset</b> esteja desativado."; |
| 121 | - echo "<br>---<br>"; | ||
| 122 | //executa as opcoes linux definidas no formulario | 117 | //executa as opcoes linux definidas no formulario |
| 123 | if(!empty($_POST["criaPastaMstmp"]) && $_POST["criaPastaMstmp"] == "on"){ | 118 | if(!empty($_POST["criaPastaMstmp"]) && $_POST["criaPastaMstmp"] == "on"){ |
| 124 | echo "<br>Criando a pasta $dir_tmp \n"; | 119 | echo "<br>Criando a pasta $dir_tmp \n"; |
| @@ -161,7 +156,7 @@ catch(ee) | @@ -161,7 +156,7 @@ catch(ee) | ||
| 161 | echo "...OK\n"; | 156 | echo "...OK\n"; |
| 162 | } | 157 | } |
| 163 | } | 158 | } |
| 164 | - echo "<br><pre>Extensões:<br>"; | 159 | + echo "<br><br>Extensões PHP:<br><pre>"; |
| 165 | if (!extension_loaded("curl")){ | 160 | if (!extension_loaded("curl")){ |
| 166 | echo "<span style=color:red >Problema: não está instalado a curl que pode afetar algumas funcionalidades do i3Geo<br></span>"; | 161 | echo "<span style=color:red >Problema: não está instalado a curl que pode afetar algumas funcionalidades do i3Geo<br></span>"; |
| 167 | } | 162 | } |