Commit 5ad75a0b9f9c67fb8d25b46bba90ecf2dafa2648
1 parent
cf8c8a83
Exists in
master
and in
7 other branches
Adicionado o aplicativo ogc.htm que possibilita ao usuário descobrir os endereço…
…s dos serviços OGC disponíveis no menutemas.xml
Showing
2 changed files
with
244 additions
and
4 deletions
Show diff stats
classesphp/classe_menutemas.php
| ... | ... | @@ -174,16 +174,20 @@ array |
| 174 | 174 | foreach($this->xml->TEMA as $temar) |
| 175 | 175 | { |
| 176 | 176 | $down = "nao"; |
| 177 | + $ogc = "sim"; | |
| 177 | 178 | $temp = mb_convert_encoding($temar->DOWNLOAD,"HTML-ENTITIES","auto"); |
| 178 | 179 | if (($temp == "sim") || ($temp == "SIM")) |
| 179 | 180 | {$down = "sim";} |
| 181 | + $temp = mb_convert_encoding($temar->OGC,"HTML-ENTITIES","auto"); | |
| 182 | + if (($temp == "nao") || ($temp == "NAO")) | |
| 183 | + {$down = "nao";} | |
| 180 | 184 | $link = " "; |
| 181 | 185 | $temp = mb_convert_encoding($temar->TLINK,"HTML-ENTITIES","auto"); |
| 182 | 186 | if ($temp != "") |
| 183 | 187 | {$link = $temp;} |
| 184 | 188 | $tid = mb_convert_encoding($temar->TID,"HTML-ENTITIES","auto"); |
| 185 | 189 | $nome = mb_convert_encoding($temar->TNOME,"HTML-ENTITIES","auto"); |
| 186 | - $temasraiz[] = array("tid"=>$tid,"nome"=>$nome,"link"=>$link,"down"=>$down); | |
| 190 | + $temasraiz[] = array("tid"=>$tid,"nome"=>$nome,"link"=>$link,"down"=>$down,"ogc"=>$ogc); | |
| 187 | 191 | } |
| 188 | 192 | foreach($this->xml->GRUPO as $grupo) |
| 189 | 193 | { |
| ... | ... | @@ -203,16 +207,20 @@ array |
| 203 | 207 | foreach($grupo->TEMA as $temar) |
| 204 | 208 | { |
| 205 | 209 | $down = "nao"; |
| 210 | + $ogc = "sim"; | |
| 206 | 211 | $temp = mb_convert_encoding($temar->DOWNLOAD,"HTML-ENTITIES","auto"); |
| 207 | 212 | if (($temp == "sim") || ($temp == "SIM")) |
| 208 | 213 | {$down = "sim";} |
| 214 | + $temp = mb_convert_encoding($temar->OGC,"HTML-ENTITIES","auto"); | |
| 215 | + if (($temp == "nao") || ($temp == "NAO")) | |
| 216 | + {$ogc = "nao";} | |
| 209 | 217 | $link = " "; |
| 210 | 218 | $temp = mb_convert_encoding($temar->TLINK,"HTML-ENTITIES","auto"); |
| 211 | 219 | if ($temp != "") |
| 212 | 220 | {$link = $temp;} |
| 213 | 221 | $tid = mb_convert_encoding($temar->TID,"HTML-ENTITIES","auto"); |
| 214 | 222 | $nome = mb_convert_encoding($temar->TNOME,"HTML-ENTITIES","auto"); |
| 215 | - $temas[] = array("tid"=>$tid,"nome"=>$nome,"link"=>$link,"down"=>$down); | |
| 223 | + $temas[] = array("tid"=>$tid,"nome"=>$nome,"link"=>$link,"down"=>$down,"ogc"=>$ogc); | |
| 216 | 224 | } |
| 217 | 225 | $subgrupos = array(); |
| 218 | 226 | foreach($grupo->SGRUPO as $sgrupo) |
| ... | ... | @@ -230,14 +238,18 @@ array |
| 230 | 238 | { |
| 231 | 239 | //verifica se existem temas que podem receber download |
| 232 | 240 | $down = "nao"; |
| 241 | + $ogc = "nao"; | |
| 233 | 242 | foreach($sgrupo->TEMA as $tema) |
| 234 | 243 | { |
| 235 | 244 | $temp = mb_convert_encoding($tema->DOWNLOAD,"HTML-ENTITIES","auto"); |
| 236 | 245 | if (($temp == "sim") || ($temp == "SIM")) |
| 237 | 246 | {$down = "sim";} |
| 247 | + $temp = mb_convert_encoding($temar->OGC,"HTML-ENTITIES","auto"); | |
| 248 | + if (($temp != "nao") || ($temp != "NAO")) | |
| 249 | + {$ogc = "sim";} | |
| 238 | 250 | } |
| 239 | 251 | $nome = mb_convert_encoding($sgrupo->SDTIPO,"HTML-ENTITIES","auto"); |
| 240 | - $subgrupos[] = array("nome"=>$nome,"download"=>$down); | |
| 252 | + $subgrupos[] = array("nome"=>$nome,"download"=>$down,"ogc"=>$ogc); | |
| 241 | 253 | } |
| 242 | 254 | } |
| 243 | 255 | if (function_exists("mb_convert_encoding")) |
| ... | ... | @@ -358,6 +370,9 @@ array |
| 358 | 370 | $down = "nao"; |
| 359 | 371 | if (($tema->DOWNLOAD == "sim") || ($tema->DOWNLOAD == "SIM")) |
| 360 | 372 | {$down = "sim";} |
| 373 | + $ogc = "sim"; | |
| 374 | + if (($tema->OGC == "nao") || ($tema->OGC == "NAO")) | |
| 375 | + {$ogc = "nao";} | |
| 361 | 376 | $link = " "; |
| 362 | 377 | if ($tema->TLINK != "") |
| 363 | 378 | {$link = mb_convert_encoding($tema->TLINK,"HTML-ENTITIES","auto");} |
| ... | ... | @@ -366,7 +381,7 @@ array |
| 366 | 381 | {$nome = mb_convert_encoding($tema->TNOME,"HTML-ENTITIES","auto");} |
| 367 | 382 | else |
| 368 | 383 | {$nome = $tema->TNOME;} |
| 369 | - $temas[] = array("tid"=>$tid,"nome"=>$nome,"link"=>$link,"down"=>$down); | |
| 384 | + $temas[] = array("tid"=>$tid,"nome"=>$nome,"link"=>$link,"down"=>$down,"ogc"=>$ogc); | |
| 370 | 385 | } |
| 371 | 386 | } |
| 372 | 387 | } | ... | ... |
| ... | ... | @@ -0,0 +1,225 @@ |
| 1 | +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd"> | |
| 2 | +<html> | |
| 3 | +<head> | |
| 4 | +<title>WMS</title> | |
| 5 | +<meta name="description" content="Mapa interativo do MMA"> | |
| 6 | +<meta name="keywords" content="WMS OGC mapa sig gis webmapping geo geoprocessamento interativo meio ambiente MMA cartografia geografia"> | |
| 7 | +<meta name="robots" content="index,follow"> | |
| 8 | +<!-- Leitura dos arquivos de estilos --> | |
| 9 | +<link rel="stylesheet" type="text/css" href="css/geral.css"> | |
| 10 | +<link rel="stylesheet" type="text/css" href="classesjs/jsobjects/documentation.css"> | |
| 11 | +<style> | |
| 12 | +P | |
| 13 | +{COLOR: #2F4632;text-align: justify;font-size: 12px;font-family: Verdana, Arial, Helvetica, sans-serif;} | |
| 14 | +#banner | |
| 15 | +{position:absolute;top:0px;left:0px;} | |
| 16 | +#arvoreTemas | |
| 17 | +{overflow:auto;height:400px;width:280px;position:absolute;top:60px;left:0px;} | |
| 18 | +#corpo | |
| 19 | +{width:425px;position:absolute;top:60px;left:285px;background:rgb(250,250,250);} | |
| 20 | +</style> | |
| 21 | +<!-- Leitura dos programas javaScript. Pode-se ler os arquivos não compactados, bastando excluir a palavra _compacto --> | |
| 22 | +<script src="classesjs/cpaint/cpaint2.inc.compressed.js" type="text/javascript"></script> | |
| 23 | +<script type="text/javascript" src="classesjs/jsobjects/jsUI-Global/common.js"></script> | |
| 24 | +<script type="text/javascript" src="classesjs/jsobjects/jsUI-Global/uiCommon.js"></script> | |
| 25 | +<script type="text/javascript" src="classesjs/jsobjects/jsUI-Treeview/component.js"></script> | |
| 26 | +</head> | |
| 27 | +<body style="background-color:white"> | |
| 28 | + | |
| 29 | +<div id=banner ><img src="imagens/barrasuperior_geradordelinks_2006.jpg" width="765" ></div> | |
| 30 | + | |
| 31 | +<!-- aqui vai o menu de opções --> | |
| 32 | +<div id=arvoreTemas > | |
| 33 | +<!--<span style='text-align:left' >Veja também os dados referentes ao mapeamento dos remanescentes de vegetação dos biomas brasileiros: | |
| 34 | +<a href="http://mapas.mma.gov.br/mapas/aplic/probio/datadownload.htm" >link</a> | |
| 35 | +</span><br><br> --> | |
| 36 | +</div> | |
| 37 | +<!-- aqui vai o corpo da aplicação --> | |
| 38 | +<div id=corpo style="background-color:rgb(250,250,250)"> | |
| 39 | +<H1>Download de dados geográficos</H1> | |
| 40 | +<p>Navegue pela árvore ao lado para localizar o tema desejado para download. | |
| 41 | +<p>Ao lado do nome de cada tema está disponível um link para a documentação dos dados. | |
| 42 | +<p>Apenas os dados armazenados no servidor de arquivos do I3Geo, e autorizados pela fonte produtora ou obtidos de locais públicos, estão disponíveis para download. | |
| 43 | +<p>Caso exista interesse por algum outro arquivo não listado aqui, entre em contato com webmaster@mma.gov.br | |
| 44 | +<p>Dependendo do tráfego na web, o download pode não operar corretamente. Após escolhido o tema, será gerado um tema no formato "shape file". | |
| 45 | +O formato "shape file" é composto por três arquivos (shp, shx e dbf) que devem ser obtidos separadamente e armazenados em um mesmo local em seu disco rígido. | |
| 46 | +<p>Para abrir o "shape file", você poderá utilizar softwares livres como o | |
| 47 | + <a href="http://www.gvsig.gva.es/index.php?id=gvsig&L=0" target=blank>GVSIG</a>, <a href="http://qgis.org/" target=blank > QGIS</a>, ou <a href="http://jump-pilot.sourceforge.net/OpenJUMP.html" target=blank >JUMP</a>. | |
| 48 | +<p>Conheça também o <a href="http://mapas.mma.gov.br/i3geo/ms_criamapa.php" target=blank >mapa interativo do MMA.</a> | |
| 49 | +</div> | |
| 50 | + | |
| 51 | +</body> | |
| 52 | +<script> | |
| 53 | +/* | |
| 54 | +Title: Ajuda OGC | |
| 55 | + | |
| 56 | +Ajuda o usuário a escolher . | |
| 57 | + | |
| 58 | +A lista de dados pode vir do arquivo menutemas.xml ou de um diretório no servidor. | |
| 59 | + | |
| 60 | +File: datadownload.js | |
| 61 | +About: Licença | |
| 62 | + | |
| 63 | +I3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet | |
| 64 | + | |
| 65 | +Direitos Autorais Reservados (c) 2006 Ministério do Meio Ambiente Brasil | |
| 66 | +Desenvolvedor: Edmar Moretti edmar.moretti@mma.gov.br | |
| 67 | + | |
| 68 | +Este programa é software livre; você pode redistribuí-lo | |
| 69 | +e/ou modificá-lo sob os termos da Licença Pública Geral | |
| 70 | +GNU conforme publicada pela Free Software Foundation; | |
| 71 | +tanto a versão 2 da Licença. | |
| 72 | +Este programa é distribuído na expectativa de que seja útil, | |
| 73 | +porém, SEM NENHUMA GARANTIA; nem mesmo a garantia implícita | |
| 74 | +de COMERCIABILIDADE OU ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. | |
| 75 | +Consulte a Licença Pública Geral do GNU para mais detalhes. | |
| 76 | +Você deve ter recebido uma cópia da Licença Pública Geral do | |
| 77 | +GNU junto com este programa; se não, escreva para a | |
| 78 | +Free Software Foundation, Inc., no endereço | |
| 79 | +59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. | |
| 80 | +*/ | |
| 81 | +g_locaplic = "." | |
| 82 | +g_arvoreClicks = "" | |
| 83 | +var p = "classesphp/mapa_controle.php?funcao=pegalistadegrupos&map_file=''"; | |
| 84 | +var cp = new cpaint(); | |
| 85 | +//cp.set_debug(2) | |
| 86 | +cp.set_response_type("JSON"); | |
| 87 | +cp.call(p,"pegaListaDeGrupos",processaGrupos); | |
| 88 | + | |
| 89 | +/* | |
| 90 | +Function: processaGrupos | |
| 91 | + | |
| 92 | +Recebe os dados da função Ajax com a lista de grupos e subgrupos. | |
| 93 | + | |
| 94 | +Monta a árvore para adição de um novo tema no mapa. | |
| 95 | + | |
| 96 | +Parameters: | |
| 97 | + | |
| 98 | +retorno - string formatada com os dados para montagem da árvore. | |
| 99 | +*/ | |
| 100 | +function processaGrupos(retorno) | |
| 101 | +{ | |
| 102 | + if ((retorno.data != "erro") && (retorno.data != undefined)) | |
| 103 | + { | |
| 104 | + mytreeview2 = new Object(); | |
| 105 | + mytreeview2 = treeviewNew("mytreeview2", "default", "arvoreTemas", null); | |
| 106 | + mytreeview2.createItem("item1", "<b>Temas</b>", "imagens/temas.png", true, true, true, null); | |
| 107 | + mytreeview2.itemExpand = expandeGrupo; | |
| 108 | + for (ig=0;ig<retorno.data.grupos.length; ig++) | |
| 109 | + { | |
| 110 | + ogc = "nao"; | |
| 111 | + //verifica se existe no grupo temas para download | |
| 112 | + if (retorno.data.grupos[ig].subgrupos) | |
| 113 | + { | |
| 114 | + var ngSgrupo = retorno.data.grupos[ig].subgrupos; | |
| 115 | + if (retorno.data.grupos[ig].subgrupos) | |
| 116 | + { | |
| 117 | + for (sg=0;sg<ngSgrupo.length;sg++) | |
| 118 | + { | |
| 119 | + if (ngSgrupo[sg].ogc == "sim") | |
| 120 | + {ogc = "sim"} | |
| 121 | + } | |
| 122 | + } | |
| 123 | + if (ogc == "sim") | |
| 124 | + { | |
| 125 | + var nomeGrupo = retorno.data.grupos[ig].nome; | |
| 126 | + mytreeview2.createItem("grupo"+ig, nomeGrupo, "imagens/folder-s.gif", true, true, true, "item1"); | |
| 127 | + var cor = "rgb(230,230,230)"; | |
| 128 | + for (sg=0;sg<ngSgrupo.length;sg++) | |
| 129 | + { | |
| 130 | + if (ngSgrupo[sg].ogc == "sim") | |
| 131 | + { | |
| 132 | + var nomeSgrupo = "<span style='background-color:"+cor+"' >"+ngSgrupo[sg].nome+"</span>"; | |
| 133 | + mytreeview2.createItem("sgrupo_"+ig+"_"+sg, nomeSgrupo, "imagens/branco0.gif", true, true, false, "grupo"+ig); | |
| 134 | + if (cor == "rgb(230,230,230)"){var cor = "rgb(255,255,255)";} | |
| 135 | + else | |
| 136 | + {var cor = "rgb(230,230,230)";} | |
| 137 | + } | |
| 138 | + } | |
| 139 | + } | |
| 140 | + } | |
| 141 | + } | |
| 142 | + } | |
| 143 | +} | |
| 144 | +/* | |
| 145 | +Function: expandeGrupo | |
| 146 | + | |
| 147 | +Chama a função ajax que pega a lista de temas de um subgrupo no menu de temas. | |
| 148 | + | |
| 149 | +Parameters: | |
| 150 | + | |
| 151 | +itemID - string Id do nó que foi expandido na árvore de grupos e subgrupos. | |
| 152 | +*/ | |
| 153 | +function expandeGrupo(itemID) | |
| 154 | +{ | |
| 155 | + g_arvoreClick = itemID; | |
| 156 | + if ((itemID.search("sgrupo") > -1) && (g_arvoreClicks.search(itemID) == -1 )) | |
| 157 | + { | |
| 158 | + var codigos = itemID.split("_"); | |
| 159 | + var p = g_locaplic+"/classesphp/mapa_controle.php?map_file=''&funcao=pegalistadetemas&grupo="+codigos[1]+"&subgrupo="+codigos[2]; | |
| 160 | + var cp = new cpaint(); | |
| 161 | + //cp.set_debug(2); | |
| 162 | + cp.set_response_type("json"); | |
| 163 | + cp.call(p,"pegaListaDeTemas",processaTemas); | |
| 164 | + } | |
| 165 | +} | |
| 166 | +/* | |
| 167 | +Function: processaTemas | |
| 168 | + | |
| 169 | +Recebe os dados da função Ajax com a lista de temas de um subgrupo. | |
| 170 | + | |
| 171 | +Monta a árvore para adição de um novo tema no mapa. | |
| 172 | + | |
| 173 | +Parameters: | |
| 174 | + | |
| 175 | +retorno - string formatada com os dados para montagem da árvore. | |
| 176 | +*/ | |
| 177 | +function processaTemas(retorno) | |
| 178 | +{ | |
| 179 | + if ((retorno.data != "erro") && (retorno.data != undefined)) | |
| 180 | + { | |
| 181 | + var cor = "rgb(251,246,184)"; | |
| 182 | + for (st=0;st<retorno.data.temas.length; st++) | |
| 183 | + { | |
| 184 | + var inp = ""; | |
| 185 | + var nome = retorno.data.temas[st].nome; | |
| 186 | + var lk = ""; | |
| 187 | + if (retorno.data.temas[st].link != " ") | |
| 188 | + {var lk = "<a href="+retorno.data.temas[st].link+" target=blank> fonte</a>";} | |
| 189 | + if (retorno.data.temas[st].ogc=="sim") | |
| 190 | + { | |
| 191 | + var inp = "<img style='text-align:left;' src="+g_locaplic+"/imagens/tic.png />"; | |
| 192 | + nomeTema = "<span style='text-align:left;' title='clique para ver' onclick='endereco(\""+retorno.data.temas[st].tid+"\")' style='cursor:pointer;background-color:"+cor+"' >"+inp+nome+lk+"</span>"; | |
| 193 | + mytreeview2.createItem("tema"+ig+""+sg+""+st, nomeTema, g_locaplic+"/imagens/branco0.gif", false, true, true, g_arvoreClick); | |
| 194 | + if (cor == "rgb(251,246,184)"){var cor = "rgb(255,255,255)";} | |
| 195 | + else | |
| 196 | + {var cor = "rgb(251,246,184)";} | |
| 197 | + } | |
| 198 | + } | |
| 199 | + //inclui um item em branco | |
| 200 | + mytreeview2.createItem("vazio", "", g_locaplic+"/imagens/branco0.gif", false, true, true, g_arvoreClick); | |
| 201 | + g_arvoreClicks += ","+g_arvoreClick; | |
| 202 | + } | |
| 203 | +} | |
| 204 | +/* | |
| 205 | +Function: endereco | |
| 206 | + | |
| 207 | +Gera o endereço do webservice do tema escolhido | |
| 208 | + | |
| 209 | +Parameters: | |
| 210 | + | |
| 211 | +tema - tema para download | |
| 212 | +*/ | |
| 213 | +function endereco(tema) | |
| 214 | +{ | |
| 215 | + ins = "<H1>Endereço do web service:</H1><br>" | |
| 216 | + var re = new RegExp(".htm", "g"); | |
| 217 | + var servico = window.location.href.replace(re,'.php?tema=')+tema | |
| 218 | + ins += "<p>"+servico | |
| 219 | + ins += "<p><a target=blank href='"+servico+"&service=wms&version=1.1.0&request=getmap&layers="+tema+"' />testar</a>" | |
| 220 | + document.getElementById("corpo").innerHTML = ins | |
| 221 | +} | |
| 222 | + | |
| 223 | + | |
| 224 | +</script> | |
| 225 | +</html> | ... | ... |