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> | ... | ... |