Commit 254be226ad4178a5f9ed12104165cc489f327fde

Authored by Edmar Moretti
1 parent e3f0c75c

Inclusão de plugin que permite adicionar camadas com parâmetros de substituição …

…de string no item data do mapfile
admin/admin.db
No preview for this file type
aplicmap/dados/biomas.dbf
No preview for this file type
classesjs/classe_plugini3geo.js
1 /** 1 /**
2 * Title: PluginI3Geo 2 * Title: PluginI3Geo
3 - * 3 + *
4 * i3GEO.pluginI3geo 4 * i3GEO.pluginI3geo
5 - *  
6 - * Implementa os plugins do i3Geo que adicionam camadas especiais ao mapa, normalmente dados vetoriais processados no navegador Web.  
7 - * 5 + *
  6 + * Implementa os plugins do i3Geo que adicionam camadas especiais ao mapa,
  7 + * normalmente dados vetoriais processados no navegador Web.
  8 + *
8 * Arquivo: 9 * Arquivo:
9 - * 10 + *
10 * i3geo/classesjs/classe_plugini3geo.js 11 * i3geo/classesjs/classe_plugini3geo.js
11 - * 12 + *
12 * Licença: 13 * Licença:
13 - * 14 + *
14 * GPL2 15 * GPL2
15 - * 16 + *
16 * i3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet 17 * i3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet
17 - *  
18 - * Direitos Autorais Reservados (c) 2006 Ministério do Meio Ambiente Brasil Desenvolvedor: Edmar Moretti edmar.moretti@gmail.com  
19 - *  
20 - * Este programa é software livre; você pode redistribuí-lo e/ou modificá-lo sob os termos da Licença  
21 - * Pública Geral GNU conforme publicada pela Free Software Foundation;  
22 - *  
23 - * Este programa é distribuído na expectativa de que seja útil, porém, SEM NENHUMA GARANTIA; nem mesmo a  
24 - * garantia implícita de COMERCIABILIDADE OU ADEQUACÃO A UMA FINALIDADE ESPECÍFICA. Consulte a Licença  
25 - * Pública Geral do GNU para mais detalhes. Você deve ter recebido uma cópia da Licença Pública Geral do  
26 - * GNU junto com este programa; se não, escreva para a Free Software Foundation, Inc., no endereço 59 Temple Street, Suite  
27 - * 330, Boston, MA 02111-1307 USA. 18 + *
  19 + * Direitos Autorais Reservados (c) 2006 Ministério do Meio Ambiente
  20 + * Brasil Desenvolvedor: Edmar Moretti edmar.moretti@gmail.com
  21 + *
  22 + * Este programa é software livre; você pode redistribuí-lo
  23 + * e/ou modificá-lo sob os termos da Licença Pública Geral
  24 + * GNU conforme publicada pela Free Software Foundation;
  25 + *
  26 + * Este programa é distribuído na expectativa de que seja
  27 + * útil, porém, SEM NENHUMA GARANTIA; nem mesmo a garantia
  28 + * implícita de COMERCIABILIDADE OU ADEQUACÃO A UMA FINALIDADE
  29 + * ESPECÍFICA. Consulte a Licença Pública Geral do GNU para
  30 + * mais detalhes. Você deve ter recebido uma cópia da
  31 + * Licença Pública Geral do GNU junto com este programa; se
  32 + * não, escreva para a Free Software Foundation, Inc., no endereço
  33 + * 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA.
28 */ 34 */
29 if (typeof (i3GEO) === 'undefined') { 35 if (typeof (i3GEO) === 'undefined') {
30 var i3GEO = {}; 36 var i3GEO = {};
@@ -34,7 +40,7 @@ i3GEO.pluginI3geo = @@ -34,7 +40,7 @@ i3GEO.pluginI3geo =
34 OBJETOS : {}, 40 OBJETOS : {},
35 /** 41 /**
36 * Lista de plugins 42 * Lista de plugins
37 - * 43 + *
38 * Utilizado no editor de mapfiles do sistema de administracao 44 * Utilizado no editor de mapfiles do sistema de administracao
39 */ 45 */
40 PLUGINS : [ 46 PLUGINS : [
@@ -53,21 +59,30 @@ i3GEO.pluginI3geo = @@ -53,21 +59,30 @@ i3GEO.pluginI3geo =
53 "classe" : "layerkml", 59 "classe" : "layerkml",
54 "nome" : "Camada Kml", 60 "nome" : "Camada Kml",
55 "editor" : true 61 "editor" : true
  62 + },
  63 + {
  64 + "classe" : "parametrossql",
  65 + "nome" : "SQL parametrizado",
  66 + "editor" : true
56 } 67 }
57 ], 68 ],
58 /** 69 /**
59 * Inicia a execucao de um plugin 70 * Inicia a execucao de um plugin
60 - *  
61 - * Camada e um objeto gerado pelo i3Geo quando uma camada e adicionada ao mapa O objeto i3GEO.arvoreDeCamadas.CAMADAS guarda todas  
62 - * as camadas adicionadas ao mapa Ao adicionar uma camada pelo catalogo, o i3Geo verifica se a camada possui plugin e direciona para  
63 - * ca Os plugins sao definidos como metadados em cada mapfile de cada tema  
64 - * 71 + *
  72 + * Camada e um objeto gerado pelo i3Geo quando uma camada e adicionada
  73 + * ao mapa O objeto i3GEO.arvoreDeCamadas.CAMADAS guarda todas as
  74 + * camadas adicionadas ao mapa Ao adicionar uma camada pelo catalogo, o
  75 + * i3Geo verifica se a camada possui plugin e direciona para ca Os
  76 + * plugins sao definidos como metadados em cada mapfile de cada tema
  77 + *
65 * Veja em i3geo/classesphp/classe_mapa.php funcao parametrostemas 78 * Veja em i3geo/classesphp/classe_mapa.php funcao parametrostemas
66 */ 79 */
67 inicia : function(camada) { 80 inicia : function(camada) {
68 if (i3GEO.janela) { 81 if (i3GEO.janela) {
69 i3GEO.janela.AGUARDEMODAL = true; 82 i3GEO.janela.AGUARDEMODAL = true;
70 - i3GEO.janela.abreAguarde("aguardePlugin", "Plugin..."); 83 + i3GEO.janela.abreAguarde(
  84 + "aguardePlugin",
  85 + "Plugin...");
71 i3GEO.janela.AGUARDEMODAL = false; 86 i3GEO.janela.AGUARDEMODAL = false;
72 } 87 }
73 // chama a funcao conforme o tipo de plugin e a interface atual 88 // chama a funcao conforme o tipo de plugin e a interface atual
@@ -86,21 +101,24 @@ i3GEO.pluginI3geo = @@ -86,21 +101,24 @@ i3GEO.pluginI3geo =
86 return i3GEO.pluginI3geo[plugin].linkAjuda(); 101 return i3GEO.pluginI3geo[plugin].linkAjuda();
87 }, 102 },
88 ligaCamada : function(nomecamada) { 103 ligaCamada : function(nomecamada) {
89 - if (i3GEO.pluginI3geo.OBJETOS[nomecamada] && i3GEO.pluginI3geo.OBJETOS[nomecamada].ligaCamada) { 104 + if (i3GEO.pluginI3geo.OBJETOS[nomecamada]
  105 + && i3GEO.pluginI3geo.OBJETOS[nomecamada].ligaCamada) {
90 i3GEO.pluginI3geo.OBJETOS[nomecamada].ligaCamada(); 106 i3GEO.pluginI3geo.OBJETOS[nomecamada].ligaCamada();
91 return true; 107 return true;
92 } 108 }
93 return false; 109 return false;
94 }, 110 },
95 desligaCamada : function(nomecamada) { 111 desligaCamada : function(nomecamada) {
96 - if (i3GEO.pluginI3geo.OBJETOS[nomecamada] && i3GEO.pluginI3geo.OBJETOS[nomecamada].desLigaCamada) { 112 + if (i3GEO.pluginI3geo.OBJETOS[nomecamada]
  113 + && i3GEO.pluginI3geo.OBJETOS[nomecamada].desLigaCamada) {
97 i3GEO.pluginI3geo.OBJETOS[nomecamada].desLigaCamada(); 114 i3GEO.pluginI3geo.OBJETOS[nomecamada].desLigaCamada();
98 return true; 115 return true;
99 } 116 }
100 return false; 117 return false;
101 }, 118 },
102 removeCamada : function(nomecamada) { 119 removeCamada : function(nomecamada) {
103 - if (i3GEO.pluginI3geo.OBJETOS[nomecamada] && i3GEO.pluginI3geo.OBJETOS[nomecamada].removeCamada) { 120 + if (i3GEO.pluginI3geo.OBJETOS[nomecamada]
  121 + && i3GEO.pluginI3geo.OBJETOS[nomecamada].removeCamada) {
104 i3GEO.pluginI3geo.OBJETOS[nomecamada].removeCamada(); 122 i3GEO.pluginI3geo.OBJETOS[nomecamada].removeCamada();
105 delete (i3GEO.pluginI3geo.OBJETOS[nomecamada]); 123 delete (i3GEO.pluginI3geo.OBJETOS[nomecamada]);
106 return true; 124 return true;
@@ -108,64 +126,76 @@ i3GEO.pluginI3geo = @@ -108,64 +126,76 @@ i3GEO.pluginI3geo =
108 return false; 126 return false;
109 }, 127 },
110 atualizaCamada : function(nomecamada) { 128 atualizaCamada : function(nomecamada) {
111 - if (i3GEO.pluginI3geo.OBJETOS[nomecamada] && i3GEO.pluginI3geo.OBJETOS[nomecamada].atualizaCamada) { 129 + if (i3GEO.pluginI3geo.OBJETOS[nomecamada]
  130 + && i3GEO.pluginI3geo.OBJETOS[nomecamada].atualizaCamada) {
112 i3GEO.pluginI3geo.OBJETOS[nomecamada].atualizaCamada(); 131 i3GEO.pluginI3geo.OBJETOS[nomecamada].atualizaCamada();
113 return true; 132 return true;
114 } 133 }
115 return false; 134 return false;
116 }, 135 },
117 existeObjeto : function(nomecamada) { 136 existeObjeto : function(nomecamada) {
118 - if (i3GEO.pluginI3geo.OBJETOS[nomecamada] && i3GEO.pluginI3geo.OBJETOS[nomecamada].atualizaCamada) { 137 + if (i3GEO.pluginI3geo.OBJETOS[nomecamada]
  138 + && i3GEO.pluginI3geo.OBJETOS[nomecamada].atualizaCamada) {
119 return true; 139 return true;
120 } 140 }
121 return false; 141 return false;
122 }, 142 },
123 /** 143 /**
124 * Aplica as propriedades em um objeto do tipo tema 144 * Aplica as propriedades em um objeto do tipo tema
125 - *  
126 - * tema e fornecido por i3GEO.arvoreDeCamadas o ajuste das propriedades e necessario para que as propriedades aparecam de forma  
127 - * correta na arvore de camadas 145 + *
  146 + * tema e fornecido por i3GEO.arvoreDeCamadas o ajuste das propriedades
  147 + * e necessario para que as propriedades aparecam de forma correta na
  148 + * arvore de camadas
128 */ 149 */
129 aplicaPropriedades : function(camada) { 150 aplicaPropriedades : function(camada) {
130 - if (camada.plugini3geo && camada.plugini3geo != "") { 151 + if (camada.plugini3geo
  152 + && camada.plugini3geo != "") {
131 camada = i3GEO.pluginI3geo[camada.plugini3geo.plugin][i3GEO.Interface.ATUAL].aplicaPropriedades(camada); 153 camada = i3GEO.pluginI3geo[camada.plugini3geo.plugin][i3GEO.Interface.ATUAL].aplicaPropriedades(camada);
132 } 154 }
133 return camada; 155 return camada;
134 }, 156 },
135 /** 157 /**
136 * Function: heatmap 158 * Function: heatmap
137 - * 159 + *
138 * Mapa de calor 160 * Mapa de calor
139 - * 161 + *
140 * Gera um layer do tipo mapa de calor e adiciona ao mapa 162 * Gera um layer do tipo mapa de calor e adiciona ao mapa
141 - *  
142 - * As dependências em javascript sao carregadas via script tag por meio de ferramentas/heatmap  
143 - *  
144 - * Esse programa também obtém os dados necessários ao plugin  
145 - *  
146 - * O layer existente no mapfile deve conter um metadata chamado PLUGINI3GEO  
147 - *  
148 - * Esse matadado deve conter uma string que será transformada em um objeto javascript para uso no plugin  
149 - * 163 + *
  164 + * As dependências em javascript sao carregadas via script tag por
  165 + * meio de ferramentas/heatmap
  166 + *
  167 + * Esse programa também obtém os dados necessários
  168 + * ao plugin
  169 + *
  170 + * O layer existente no mapfile deve conter um metadata chamado
  171 + * PLUGINI3GEO
  172 + *
  173 + * Esse matadado deve conter uma string que será transformada em
  174 + * um objeto javascript para uso no plugin
  175 + *
150 * Exemplo: 176 * Exemplo:
151 - *  
152 - * "PLUGINI3GEO" '{"plugin":"heatmap","parametros":{"tipoGradiente": "default","coluna":"teste","max":"10","radius":"15"}}'  
153 - *  
154 - * Coluna é a que contém os dados numéricos que definem a quantidade de uma medida em cada ponto e é  
155 - * usada para gerar a representação. Se for vazia, considera-se o valor como 1  
156 - *  
157 - * As cores das classes existentes no LAYER serão utilizadas para calcular as cores do mapa de calor. Se tipoGradiente for  
158 - * igual a "default" será utilizado o gradiente padrão.  
159 - * 177 + *
  178 + * "PLUGINI3GEO" '{"plugin":"heatmap","parametros":{"tipoGradiente":
  179 + * "default","coluna":"teste","max":"10","radius":"15"}}'
  180 + *
  181 + * Coluna é a que contém os dados numéricos que
  182 + * definem a quantidade de uma medida em cada ponto e é usada
  183 + * para gerar a representação. Se for vazia, considera-se
  184 + * o valor como 1
  185 + *
  186 + * As cores das classes existentes no LAYER serão utilizadas para
  187 + * calcular as cores do mapa de calor. Se tipoGradiente for igual a
  188 + * "default" será utilizado o gradiente padrão.
  189 + *
160 */ 190 */
161 heatmap : { 191 heatmap : {
162 linkAjuda : function() { 192 linkAjuda : function() {
163 - return i3GEO.configura.locaplic + "/ajuda_usuario.php?idcategoria=3&idajuda=121"; 193 + return i3GEO.configura.locaplic
  194 + + "/ajuda_usuario.php?idcategoria=3&idajuda=121";
164 }, 195 },
165 formAdmin : function(config) { 196 formAdmin : function(config) {
166 // {"plugin":"heatmap","parametros":{"coluna":"","radius":15,"max":10}} 197 // {"plugin":"heatmap","parametros":{"coluna":"","radius":15,"max":10}}
167 - var parametros, ins = "", configDefault =  
168 - '{"plugin":"heatmap","parametros":{"tipoGradiente": "default","valorPonto":1,"coluna":"","radius":15}}'; 198 + var parametros, ins = "", configDefault = '{"plugin":"heatmap","parametros":{"tipoGradiente": "default","valorPonto":1,"coluna":"","radius":15}}';
169 if (config === "") { 199 if (config === "") {
170 config = configDefault; 200 config = configDefault;
171 } 201 }
@@ -174,31 +204,30 @@ i3GEO.pluginI3geo = @@ -174,31 +204,30 @@ i3GEO.pluginI3geo =
174 config = YAHOO.lang.JSON.parse(configDefault); 204 config = YAHOO.lang.JSON.parse(configDefault);
175 } 205 }
176 parametros = config.parametros; 206 parametros = config.parametros;
177 - ins +=  
178 - ""  
179 - + "<p>Coluna que cont&eacute;m os dados:"  
180 - + "<br><input name='coluna' type='text' value='"  
181 - + parametros.coluna  
182 - + "' size='30'></p>"  
183 - + "<p>Ou valor num&eacute;rico para cada ponto:"  
184 - + "<br><input name='valorPonto' type='text' value='"  
185 - + parametros.valorPonto  
186 - + "' size='30'></p>"  
187 - + "<p>Raio de cada ponto em pixels:"  
188 - + "<br><input name='radius' type='text' value='"  
189 - + parametros.radius  
190 - + "' size='30'></p>"  
191 - // + "<p>Valor m&aacute;ximo em cada ponto:"  
192 - // + "<br><input name='max' type='text' value='"  
193 - // + parametros.max  
194 - // + "' size='30'></p>"  
195 - + "<p>Tipo de gradiente (deixe vazio para utilizar as classes definidas no Layer ou escreva 'default' para usar o normal):"  
196 - + "<br><input name='tipoGradiente' type='text' value='"  
197 - + parametros.tipoGradiente  
198 - + "' size='30'></p>"  
199 - + "<p>Para definir os cortes no gradiente de cores utilize valores entre 0 e 1."  
200 - + " As cores s&atilde;o definidas nas classes do LAYER, sendo que o nome define o valor superior do gradiente e COLOR define a cor."  
201 - + " Veja o exemplo utilizado no tema _lmapadecalor.map</p>"; 207 + ins += ""
  208 + + "<p>Coluna que cont&eacute;m os dados:"
  209 + + "<br><input name='coluna' type='text' value='"
  210 + + parametros.coluna
  211 + + "' size='30'></p>"
  212 + + "<p>Ou valor num&eacute;rico para cada ponto:"
  213 + + "<br><input name='valorPonto' type='text' value='"
  214 + + parametros.valorPonto
  215 + + "' size='30'></p>"
  216 + + "<p>Raio de cada ponto em pixels:"
  217 + + "<br><input name='radius' type='text' value='"
  218 + + parametros.radius
  219 + + "' size='30'></p>"
  220 + // + "<p>Valor m&aacute;ximo em cada ponto:"
  221 + // + "<br><input name='max' type='text' value='"
  222 + // + parametros.max
  223 + // + "' size='30'></p>"
  224 + + "<p>Tipo de gradiente (deixe vazio para utilizar as classes definidas no Layer ou escreva 'default' para usar o normal):"
  225 + + "<br><input name='tipoGradiente' type='text' value='"
  226 + + parametros.tipoGradiente
  227 + + "' size='30'></p>"
  228 + + "<p>Para definir os cortes no gradiente de cores utilize valores entre 0 e 1."
  229 + + " As cores s&atilde;o definidas nas classes do LAYER, sendo que o nome define o valor superior do gradiente e COLOR define a cor."
  230 + + " Veja o exemplo utilizado no tema _lmapadecalor.map</p>";
202 return ins; 231 return ins;
203 }, 232 },
204 googlemaps : { 233 googlemaps : {
@@ -219,25 +248,26 @@ i3GEO.pluginI3geo = @@ -219,25 +248,26 @@ i3GEO.pluginI3geo =
219 return camada; 248 return camada;
220 }, 249 },
221 inicia : function(camada) { 250 inicia : function(camada) {
222 - var nomeScript = "heatmap_script", p = i3GEO.configura.locaplic + "/ferramentas/heatmap/googlemaps_js.php", carregaJs =  
223 - "nao", criaLayer; 251 + var nomeScript = "heatmap_script", p = i3GEO.configura.locaplic
  252 + + "/ferramentas/heatmap/googlemaps_js.php", carregaJs = "nao", criaLayer;
224 criaLayer = function() { 253 criaLayer = function() {
225 var heatmap, pontos; 254 var heatmap, pontos;
226 255
227 - heatmap = new HeatmapOverlay(i3GeoMap, camada.name, {  
228 - "radius" : camada.plugini3geo.parametros.radius,  
229 - "visible" : true,  
230 - "opacity" : camada.transparency,  
231 - "gradient" : heatmap_config.gradient,  
232 - "legend" : {  
233 - "title" : camada.tema,  
234 - "position" : "bl",  
235 - "offset" : [  
236 - 5,  
237 - 50  
238 - ]  
239 - }  
240 - }); 256 + heatmap = new HeatmapOverlay(
  257 + i3GeoMap, camada.name, {
  258 + "radius" : camada.plugini3geo.parametros.radius,
  259 + "visible" : true,
  260 + "opacity" : camada.transparency,
  261 + "gradient" : heatmap_config.gradient,
  262 + "legend" : {
  263 + "title" : camada.tema,
  264 + "position" : "bl",
  265 + "offset" : [
  266 + 5,
  267 + 50
  268 + ]
  269 + }
  270 + });
241 // i3GeoMap.overlayMapTypes.insertAt(0, heatmap); 271 // i3GeoMap.overlayMapTypes.insertAt(0, heatmap);
242 pontos = { 272 pontos = {
243 max : camada.plugini3geo.parametros.max, 273 max : camada.plugini3geo.parametros.max,
@@ -267,17 +297,28 @@ i3GEO.pluginI3geo = @@ -267,17 +297,28 @@ i3GEO.pluginI3geo =
267 } else { 297 } else {
268 nomeScript = ""; 298 nomeScript = "";
269 } 299 }
270 - p +=  
271 - "?carregajs=" + carregaJs + "&layer=" + camada.name + "&coluna=" + camada.plugini3geo.parametros.coluna  
272 - + "&tipoGradiente=" + camada.plugini3geo.parametros.tipoGradiente + "&g_sid=" + i3GEO.configura.sid  
273 - + "&nomevariavel=heatmap_dados&nomevariavelConfig=heatmap_config";  
274 - i3GEO.util.scriptTag(p, criaLayer, nomeScript); 300 + p += "?carregajs="
  301 + + carregaJs
  302 + + "&layer="
  303 + + camada.name
  304 + + "&coluna="
  305 + + camada.plugini3geo.parametros.coluna
  306 + + "&tipoGradiente="
  307 + + camada.plugini3geo.parametros.tipoGradiente
  308 + + "&g_sid="
  309 + + i3GEO.configura.sid
  310 + + "&nomevariavel=heatmap_dados&nomevariavelConfig=heatmap_config";
  311 + i3GEO.util.scriptTag(
  312 + p,
  313 + criaLayer,
  314 + nomeScript);
275 } 315 }
276 }, 316 },
277 // 317 //
278 // O script que adiciona a camada 318 // O script que adiciona a camada
279 // define os eventos visibilitychanged, moveend e removed 319 // define os eventos visibilitychanged, moveend e removed
280 - // A camada e adicionada como um objeto layer, permitindo que as funcoes 320 + // A camada e adicionada como um objeto layer, permitindo que as
  321 + // funcoes
281 // do i3Geo operem normalmente, sem muitas modificacoes 322 // do i3Geo operem normalmente, sem muitas modificacoes
282 // 323 //
283 openlayers : { 324 openlayers : {
@@ -298,8 +339,8 @@ i3GEO.pluginI3geo = @@ -298,8 +339,8 @@ i3GEO.pluginI3geo =
298 return camada; 339 return camada;
299 }, 340 },
300 inicia : function(camada, objMapa) { 341 inicia : function(camada, objMapa) {
301 - var nomeScript = "heatmap_script", p = i3GEO.configura.locaplic + "/ferramentas/heatmap/openlayers_js.php", carregaJs =  
302 - "nao", criaLayer; 342 + var nomeScript = "heatmap_script", p = i3GEO.configura.locaplic
  343 + + "/ferramentas/heatmap/openlayers_js.php", carregaJs = "nao", criaLayer;
303 criaLayer = function() { 344 criaLayer = function() {
304 var temp, heatmap, transformedTestData = { 345 var temp, heatmap, transformedTestData = {
305 max : 1, 346 max : 1,
@@ -319,32 +360,37 @@ i3GEO.pluginI3geo = @@ -319,32 +360,37 @@ i3GEO.pluginI3geo =
319 while (datalen--) { 360 while (datalen--) {
320 temp = heatmap_dados[datalen].count; 361 temp = heatmap_dados[datalen].count;
321 nudata.push({ 362 nudata.push({
322 - lonlat : new OpenLayers.LonLat(data[datalen].lng, heatmap_dados[datalen].lat), 363 + lonlat : new OpenLayers.LonLat(
  364 + data[datalen].lng, heatmap_dados[datalen].lat),
323 count : temp 365 count : temp
324 }); 366 });
325 - max = Math.max(max, temp); 367 + max = Math.max(
  368 + max,
  369 + temp);
326 } 370 }
327 transformedTestData.max = max; 371 transformedTestData.max = max;
328 transformedTestData.data = nudata; 372 transformedTestData.data = nudata;
329 // create our heatmap layer 373 // create our heatmap layer
330 - heatmap = new OpenLayers.Layer.Heatmap(camada.name, objMapa, objMapa.baseLayer, {  
331 - "visible" : true,  
332 - "opacity" : camada.transparency,  
333 - "radius" : camada.plugini3geo.parametros.radius,  
334 - "gradient" : heatmap_config.gradient,  
335 - "legend" : {  
336 - "title" : camada.tema,  
337 - "position" : "bl",  
338 - "offset" : [  
339 - 5,  
340 - 50  
341 - ]  
342 - }  
343 - }, {  
344 - isBaseLayer : false,  
345 - projection : new OpenLayers.Projection("EPSG:4326"),  
346 - displayInLayerSwitcher : true  
347 - }); 374 + heatmap = new OpenLayers.Layer.Heatmap(
  375 + camada.name, objMapa, objMapa.baseLayer, {
  376 + "visible" : true,
  377 + "opacity" : camada.transparency,
  378 + "radius" : camada.plugini3geo.parametros.radius,
  379 + "gradient" : heatmap_config.gradient,
  380 + "legend" : {
  381 + "title" : camada.tema,
  382 + "position" : "bl",
  383 + "offset" : [
  384 + 5,
  385 + 50
  386 + ]
  387 + }
  388 + }, {
  389 + isBaseLayer : false,
  390 + projection : new OpenLayers.Projection(
  391 + "EPSG:4326"),
  392 + displayInLayerSwitcher : true
  393 + });
348 heatmap.ligaCamada = function() { 394 heatmap.ligaCamada = function() {
349 this.toggle(); 395 this.toggle();
350 this.updateLayer(); 396 this.updateLayer();
@@ -375,14 +421,25 @@ i3GEO.pluginI3geo = @@ -375,14 +421,25 @@ i3GEO.pluginI3geo =
375 } else { 421 } else {
376 nomeScript = ""; 422 nomeScript = "";
377 } 423 }
378 - if (!i3GEO.configura || !i3GEO.configura.sid) { 424 + if (!i3GEO.configura
  425 + || !i3GEO.configura.sid) {
379 i3GEO.configura.sid = ""; 426 i3GEO.configura.sid = "";
380 } 427 }
381 - p +=  
382 - "?carregajs=" + carregaJs + "&layer=" + camada.name + "&coluna=" + camada.plugini3geo.parametros.coluna  
383 - + "&tipoGradiente=" + camada.plugini3geo.parametros.tipoGradiente + "&g_sid=" + i3GEO.configura.sid  
384 - + "&nomevariavel=heatmap_dados&nomevariavelConfig=heatmap_config";  
385 - i3GEO.util.scriptTag(p, criaLayer, nomeScript); 428 + p += "?carregajs="
  429 + + carregaJs
  430 + + "&layer="
  431 + + camada.name
  432 + + "&coluna="
  433 + + camada.plugini3geo.parametros.coluna
  434 + + "&tipoGradiente="
  435 + + camada.plugini3geo.parametros.tipoGradiente
  436 + + "&g_sid="
  437 + + i3GEO.configura.sid
  438 + + "&nomevariavel=heatmap_dados&nomevariavelConfig=heatmap_config";
  439 + i3GEO.util.scriptTag(
  440 + p,
  441 + criaLayer,
  442 + nomeScript);
386 } 443 }
387 }, 444 },
388 googleearth : { 445 googleearth : {
@@ -393,34 +450,42 @@ i3GEO.pluginI3geo = @@ -393,34 +450,42 @@ i3GEO.pluginI3geo =
393 }, 450 },
394 /** 451 /**
395 * Function: markercluster 452 * Function: markercluster
396 - * 453 + *
397 * Markercluster 454 * Markercluster
398 - *  
399 - * Gera um layer que agrupa pontos conforme a dist&acirc;ncia entre eles e insere um contador adiciona ao mapa  
400 - *  
401 - * As depend&ecirc;ncias em javascript sao carregadas via script tag por meio de ferramentas/markercluster  
402 - *  
403 - * Esse programa tamb&eacute;m obt&eacute;m os dados necess&aacute;rios ao plugin  
404 - *  
405 - * O layer existente no mapfile deve conter um metadata chamado PLUGINI3GEO  
406 - *  
407 - * Esse matadado deve conter uma string que ser&aacute; transformada em um objeto javascript para uso no plugin  
408 - * 455 + *
  456 + * Gera um layer que agrupa pontos conforme a dist&acirc;ncia entre eles
  457 + * e insere um contador adiciona ao mapa
  458 + *
  459 + * As depend&ecirc;ncias em javascript sao carregadas via script tag por
  460 + * meio de ferramentas/markercluster
  461 + *
  462 + * Esse programa tamb&eacute;m obt&eacute;m os dados necess&aacute;rios
  463 + * ao plugin
  464 + *
  465 + * O layer existente no mapfile deve conter um metadata chamado
  466 + * PLUGINI3GEO
  467 + *
  468 + * Esse matadado deve conter uma string que ser&aacute; transformada em
  469 + * um objeto javascript para uso no plugin
  470 + *
409 * Exemplo: 471 * Exemplo:
410 - *  
411 - * "PLUGINI3GEO" '{"plugin":"markercluster","parametros":{"coluna":"teste","gridSize":"50"}}'  
412 - *  
413 - * Coluna &eacute; a que cont&eacute;m os dados num&eacute;ricos que definem a quantidade de uma medida em cada ponto e &eacute;  
414 - * usada para gerar a representa&ccedil;&atilde;o. Se for vazia, considera-se o valor como 1  
415 - * 472 + *
  473 + * "PLUGINI3GEO"
  474 + * '{"plugin":"markercluster","parametros":{"coluna":"teste","gridSize":"50"}}'
  475 + *
  476 + * Coluna &eacute; a que cont&eacute;m os dados num&eacute;ricos que
  477 + * definem a quantidade de uma medida em cada ponto e &eacute; usada
  478 + * para gerar a representa&ccedil;&atilde;o. Se for vazia, considera-se
  479 + * o valor como 1
  480 + *
416 */ 481 */
417 markercluster : { 482 markercluster : {
418 linkAjuda : function() { 483 linkAjuda : function() {
419 - return i3GEO.configura.locaplic + "/ajuda_usuario.php?idcategoria=3&idajuda=121"; 484 + return i3GEO.configura.locaplic
  485 + + "/ajuda_usuario.php?idcategoria=3&idajuda=121";
420 }, 486 },
421 formAdmin : function(config) { 487 formAdmin : function(config) {
422 - var parametros, ins = "", configDefault =  
423 - '{"plugin":"markercluster","parametros":{"tipoEstilos": "default","gridSize":50}}'; 488 + var parametros, ins = "", configDefault = '{"plugin":"markercluster","parametros":{"tipoEstilos": "default","gridSize":50}}';
424 if (config === "") { 489 if (config === "") {
425 config = configDefault; 490 config = configDefault;
426 } 491 }
@@ -429,16 +494,17 @@ i3GEO.pluginI3geo = @@ -429,16 +494,17 @@ i3GEO.pluginI3geo =
429 config = YAHOO.lang.JSON.parse(configDefault); 494 config = YAHOO.lang.JSON.parse(configDefault);
430 } 495 }
431 parametros = config.parametros; 496 parametros = config.parametros;
432 - ins +=  
433 - ""  
434 - + "<p>Dist&acirc;ncia m&aacute;xima entre ponto em pixels:"  
435 - + "<br><input name='gridSize' type='text' value='"  
436 - + parametros.gridSize  
437 - + "' size='30'></p>"  
438 - + "<p>Tipo de estilos (deixe vazio para utilizar as classes definidas no Layer ou escreva 'default' para usar o normal):"  
439 - + "<br><input name='tipoEstilos' type='text' value='" + parametros.tipoEstilos + "' size='30'></p>"  
440 - + "<p>Os s&iacute;mbolos utilizados podem ser customizados alterando-se as classes do Mapfile</p>"  
441 - + "<p>Veja o exemplo utilizado no tema _lmapadecluster.map</p>"; 497 + ins += ""
  498 + + "<p>Dist&acirc;ncia m&aacute;xima entre ponto em pixels:"
  499 + + "<br><input name='gridSize' type='text' value='"
  500 + + parametros.gridSize
  501 + + "' size='30'></p>"
  502 + + "<p>Tipo de estilos (deixe vazio para utilizar as classes definidas no Layer ou escreva 'default' para usar o normal):"
  503 + + "<br><input name='tipoEstilos' type='text' value='"
  504 + + parametros.tipoEstilos
  505 + + "' size='30'></p>"
  506 + + "<p>Os s&iacute;mbolos utilizados podem ser customizados alterando-se as classes do Mapfile</p>"
  507 + + "<p>Veja o exemplo utilizado no tema _lmapadecluster.map</p>";
442 508
443 return ins; 509 return ins;
444 }, 510 },
@@ -460,30 +526,36 @@ i3GEO.pluginI3geo = @@ -460,30 +526,36 @@ i3GEO.pluginI3geo =
460 return camada; 526 return camada;
461 }, 527 },
462 inicia : function(camada) { 528 inicia : function(camada) {
463 - var nomeScript = "markercluster_script", p = i3GEO.configura.locaplic + "/ferramentas/markercluster/googlemaps_js.php", carregaJs =  
464 - "nao", criaLayer; 529 + var nomeScript = "markercluster_script", p = i3GEO.configura.locaplic
  530 + + "/ferramentas/markercluster/googlemaps_js.php", carregaJs = "nao", criaLayer;
465 criaLayer = function() { 531 criaLayer = function() {
466 var markercluster, marcas, latLng, marker, n, i; 532 var markercluster, marcas, latLng, marker, n, i;
467 n = markercluster_dados.length; 533 n = markercluster_dados.length;
468 marcas = []; 534 marcas = [];
469 for (i = 0; i < n; i++) { 535 for (i = 0; i < n; i++) {
470 - latLng = new google.maps.LatLng(markercluster_dados[i].lat, markercluster_dados[i].lng);  
471 - marker = new google.maps.Marker({  
472 - 'position' : latLng,  
473 - icon : {  
474 - url : markercluster_config.ponto.url,  
475 - scaledSize : new google.maps.Size(markercluster_config.ponto.width, markercluster_config.ponto.height)  
476 - }  
477 - }); 536 + latLng = new google.maps.LatLng(
  537 + markercluster_dados[i].lat, markercluster_dados[i].lng);
  538 + marker = new google.maps.Marker(
  539 + {
  540 + 'position' : latLng,
  541 + icon : {
  542 + url : markercluster_config.ponto.url,
  543 + scaledSize : new google.maps.Size(
  544 + markercluster_config.ponto.width, markercluster_config.ponto.height)
  545 + }
  546 + });
478 marcas.push(marker); 547 marcas.push(marker);
479 } 548 }
480 - markercluster = new MarkerClusterer(i3GeoMap, marcas, {  
481 - "gridSize" : parseInt(camada.plugini3geo.parametros.gridSize, 10),  
482 - "visible" : true,  
483 - "opacity" : camada.transparency,  
484 - "name" : camada.name,  
485 - "styles" : markercluster_config.estilos  
486 - }); 549 + markercluster = new MarkerClusterer(
  550 + i3GeoMap, marcas, {
  551 + "gridSize" : parseInt(
  552 + camada.plugini3geo.parametros.gridSize,
  553 + 10),
  554 + "visible" : true,
  555 + "opacity" : camada.transparency,
  556 + "name" : camada.name,
  557 + "styles" : markercluster_config.estilos
  558 + });
487 i3GEO.janela.fechaAguarde("aguardePlugin"); 559 i3GEO.janela.fechaAguarde("aguardePlugin");
488 i3GEO.eventos.cliquePerm.ativo = false; 560 i3GEO.eventos.cliquePerm.ativo = false;
489 561
@@ -516,11 +588,19 @@ i3GEO.pluginI3geo = @@ -516,11 +588,19 @@ i3GEO.pluginI3geo =
516 } else { 588 } else {
517 nomeScript = ""; 589 nomeScript = "";
518 } 590 }
519 - p +=  
520 - "?carregajs=" + carregaJs + "&layer=" + camada.name + "&g_sid=" + i3GEO.configura.sid + "&tipoEstilos="  
521 - + camada.plugini3geo.parametros.tipoEstilos  
522 - + "&nomevariavel=markercluster_dados&nomevariavelConfig=markercluster_config";  
523 - i3GEO.util.scriptTag(p, criaLayer, nomeScript); 591 + p += "?carregajs="
  592 + + carregaJs
  593 + + "&layer="
  594 + + camada.name
  595 + + "&g_sid="
  596 + + i3GEO.configura.sid
  597 + + "&tipoEstilos="
  598 + + camada.plugini3geo.parametros.tipoEstilos
  599 + + "&nomevariavel=markercluster_dados&nomevariavelConfig=markercluster_config";
  600 + i3GEO.util.scriptTag(
  601 + p,
  602 + criaLayer,
  603 + nomeScript);
524 } 604 }
525 }, 605 },
526 openlayers : { 606 openlayers : {
@@ -541,61 +621,70 @@ i3GEO.pluginI3geo = @@ -541,61 +621,70 @@ i3GEO.pluginI3geo =
541 return camada; 621 return camada;
542 }, 622 },
543 inicia : function(camada, objMapa) { 623 inicia : function(camada, objMapa) {
544 - var nomeScript = "markercluster_script", p = i3GEO.configura.locaplic + "/ferramentas/markercluster/openlayers_js.php", carregaJs =  
545 - "nao", criaLayer;  
546 - criaLayer =  
547 - function() {  
548 - var layerListeners, logMax, logMin, classes, min, max, markercluster, marcas, lonlat, n, i, style, nestilos, intervalo, regra, regras =  
549 - []; 624 + var nomeScript = "markercluster_script", p = i3GEO.configura.locaplic
  625 + + "/ferramentas/markercluster/openlayers_js.php", carregaJs = "nao", criaLayer;
  626 + criaLayer = function() {
  627 + var layerListeners, logMax, logMin, classes, min, max, markercluster, marcas, lonlat, n, i, style, nestilos, intervalo, regra, regras = [];
550 628
551 - nestilos = markercluster_config.estilos.length;  
552 - n = markercluster_dados.length; 629 + nestilos = markercluster_config.estilos.length;
  630 + n = markercluster_dados.length;
553 631
554 - classes = Array();  
555 - logMax = Math.log(n) / Math.LN10; // max decimal logarithm (or base  
556 - // 10)  
557 - logMin = Math.log(1) / Math.LN10;  
558 - intervalo = (logMax - logMin) / nestilos;  
559 - // we compute log bounds  
560 - for (i = 0; i < nestilos; i++) {  
561 - if (i == 0) {  
562 - classes[i] = logMin;  
563 - } else {  
564 - classes[i] = classes[i - 1] + intervalo;  
565 - } 632 + classes = Array();
  633 + logMax = Math.log(n)
  634 + / Math.LN10; // max decimal logarithm (or base
  635 + // 10)
  636 + logMin = Math.log(1)
  637 + / Math.LN10;
  638 + intervalo = (logMax - logMin)
  639 + / nestilos;
  640 + // we compute log bounds
  641 + for (i = 0; i < nestilos; i++) {
  642 + if (i == 0) {
  643 + classes[i] = logMin;
  644 + } else {
  645 + classes[i] = classes[i - 1]
  646 + + intervalo;
566 } 647 }
567 - // we compute antilog  
568 - classes = classes.map(function(x) {  
569 - return Math.pow(10, x);  
570 - });  
571 - // and we finally add max value  
572 - classes.push(n); 648 + }
  649 + // we compute antilog
  650 + classes = classes.map(function(x) {
  651 + return Math.pow(
  652 + 10,
  653 + x);
  654 + });
  655 + // and we finally add max value
  656 + classes.push(n);
573 657
574 - // ponto sozinho  
575 - regra = new OpenLayers.Rule({  
576 - filter : new OpenLayers.Filter.Comparison({  
577 - type : OpenLayers.Filter.Comparison.LESS_THAN,  
578 - property : "count",  
579 - value : 2  
580 - }), 658 + // ponto sozinho
  659 + regra = new OpenLayers.Rule(
  660 + {
  661 + filter : new OpenLayers.Filter.Comparison(
  662 + {
  663 + type : OpenLayers.Filter.Comparison.LESS_THAN,
  664 + property : "count",
  665 + value : 2
  666 + }),
581 symbolizer : { 667 symbolizer : {
582 externalGraphic : markercluster_config.ponto.url, 668 externalGraphic : markercluster_config.ponto.url,
583 graphicWidth : markercluster_config.ponto.width, 669 graphicWidth : markercluster_config.ponto.width,
584 graphicHeight : markercluster_config.ponto.height, 670 graphicHeight : markercluster_config.ponto.height,
585 - graphicYOffset : (markercluster_config.ponto.height / 2) * -1 671 + graphicYOffset : (markercluster_config.ponto.height / 2)
  672 + * -1
586 } 673 }
587 }); 674 });
588 - regras.push(regra);  
589 - min = 2;  
590 - for (i = 0; i < nestilos; i++) {  
591 - max = classes[i + 1];  
592 - regra = new OpenLayers.Rule({  
593 - filter : new OpenLayers.Filter.Comparison({  
594 - type : OpenLayers.Filter.Comparison.BETWEEN,  
595 - property : "count",  
596 - lowerBoundary : min,  
597 - upperBoundary : max  
598 - }), 675 + regras.push(regra);
  676 + min = 2;
  677 + for (i = 0; i < nestilos; i++) {
  678 + max = classes[i + 1];
  679 + regra = new OpenLayers.Rule(
  680 + {
  681 + filter : new OpenLayers.Filter.Comparison(
  682 + {
  683 + type : OpenLayers.Filter.Comparison.BETWEEN,
  684 + property : "count",
  685 + lowerBoundary : min,
  686 + upperBoundary : max
  687 + }),
599 symbolizer : { 688 symbolizer : {
600 externalGraphic : markercluster_config.estilos[i].url, 689 externalGraphic : markercluster_config.estilos[i].url,
601 graphicWidth : markercluster_config.estilos[i].width, 690 graphicWidth : markercluster_config.estilos[i].width,
@@ -607,75 +696,92 @@ i3GEO.pluginI3geo = @@ -607,75 +696,92 @@ i3GEO.pluginI3geo =
607 fontSize : "12px" 696 fontSize : "12px"
608 } 697 }
609 }); 698 });
610 - regras.push(regra);  
611 - min = max;  
612 - } 699 + regras.push(regra);
  700 + min = max;
  701 + }
613 702
614 - // Create a Style that uses the three previous rules  
615 - style = new OpenLayers.Style(null, { 703 + // Create a Style that uses the three previous rules
  704 + style = new OpenLayers.Style(
  705 + null, {
616 rules : regras 706 rules : regras
617 }); 707 });
618 - // para uso com o mashup  
619 - if (!objMapa) {  
620 - objMapa = i3geoOL;  
621 - } 708 + // para uso com o mashup
  709 + if (!objMapa) {
  710 + objMapa = i3geoOL;
  711 + }
622 712
623 - layerListeners = {  
624 - featureclick : function(e) {  
625 - if (e.feature.cluster.length > 1) {  
626 - objMapa.setCenter([ 713 + layerListeners = {
  714 + featureclick : function(e) {
  715 + if (e.feature.cluster.length > 1) {
  716 + objMapa.setCenter(
  717 + [
627 e.feature.geometry.x, 718 e.feature.geometry.x,
628 e.feature.geometry.y 719 e.feature.geometry.y
629 - ], objMapa.getZoom() + 1, false, false);  
630 - // objMapa.zoomIn();  
631 - }  
632 - return false; 720 + ],
  721 + objMapa.getZoom() + 1,
  722 + false,
  723 + false);
  724 + // objMapa.zoomIn();
633 } 725 }
634 - }; 726 + return false;
  727 + }
  728 + };
635 729
636 - markercluster = new OpenLayers.Layer.Vector(camada.name, { 730 + markercluster = new OpenLayers.Layer.Vector(
  731 + camada.name, {
637 renderers : [ 732 renderers : [
638 'Canvas', 733 'Canvas',
639 'SVG' 734 'SVG'
640 ], 735 ],
641 strategies : [ 736 strategies : [
642 - new OpenLayers.Strategy.AnimatedCluster({  
643 - distance : parseInt(camada.plugini3geo.parametros.gridSize, 10)  
644 - }) 737 + new OpenLayers.Strategy.AnimatedCluster(
  738 + {
  739 + distance : parseInt(
  740 + camada.plugini3geo.parametros.gridSize,
  741 + 10)
  742 + })
645 ], 743 ],
646 - styleMap : new OpenLayers.StyleMap(style), 744 + styleMap : new OpenLayers.StyleMap(
  745 + style),
647 eventListeners : layerListeners 746 eventListeners : layerListeners
648 }); 747 });
649 - objMapa.addLayer(markercluster); 748 + objMapa.addLayer(markercluster);
650 749
651 - marcas = [];  
652 - for (i = 0; i < n; i++) {  
653 - lonlat = new OpenLayers.LonLat(markercluster_dados[i].lng, markercluster_dados[i].lat);  
654 - if (i3GEO.Interface.openlayers.googleLike === true) {  
655 - lonlat.transform(new OpenLayers.Projection("EPSG:4326"), new OpenLayers.Projection("EPSG:900913"));  
656 - }  
657 - marcas.push(new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Point(lonlat.lon, lonlat.lat))); 750 + marcas = [];
  751 + for (i = 0; i < n; i++) {
  752 + lonlat = new OpenLayers.LonLat(
  753 + markercluster_dados[i].lng, markercluster_dados[i].lat);
  754 + if (i3GEO.Interface.openlayers.googleLike === true) {
  755 + lonlat.transform(
  756 + new OpenLayers.Projection(
  757 + "EPSG:4326"),
  758 + new OpenLayers.Projection(
  759 + "EPSG:900913"));
658 } 760 }
659 - markercluster.addFeatures(marcas); 761 + marcas.push(new OpenLayers.Feature.Vector(
  762 + new OpenLayers.Geometry.Point(
  763 + lonlat.lon, lonlat.lat)));
  764 + }
  765 + markercluster.addFeatures(marcas);
660 766
661 - i3GEO.janela.fechaAguarde("aguardePlugin");  
662 - i3GEO.eventos.cliquePerm.ativo = false; 767 + i3GEO.janela.fechaAguarde("aguardePlugin");
  768 + i3GEO.eventos.cliquePerm.ativo = false;
663 769
664 - markercluster.ligaCamada = function() {  
665 - i3GEO.eventos.cliquePerm.ativo = false;  
666 - };  
667 - markercluster.desLigaCamada = function() {  
668 - i3GEO.eventos.cliquePerm.ativo = true;  
669 - };  
670 - markercluster.removeCamada = function() {  
671 - i3GEO.eventos.cliquePerm.ativo = true;  
672 - };  
673 - markercluster.atualizaCamada = function() {  
674 - i3GEO.eventos.cliquePerm.ativo = false;  
675 - };  
676 - i3GEO.pluginI3geo.OBJETOS[camada.name] = markercluster;  
677 - markercluster_dados = null; 770 + markercluster.ligaCamada = function() {
  771 + i3GEO.eventos.cliquePerm.ativo = false;
678 }; 772 };
  773 + markercluster.desLigaCamada = function() {
  774 + i3GEO.eventos.cliquePerm.ativo = true;
  775 + };
  776 + markercluster.removeCamada = function() {
  777 + i3GEO.eventos.cliquePerm.ativo = true;
  778 + };
  779 + markercluster.atualizaCamada = function() {
  780 + i3GEO.eventos.cliquePerm.ativo = false;
  781 + };
  782 + i3GEO.pluginI3geo.OBJETOS[camada.name] = markercluster;
  783 + markercluster_dados = null;
  784 + };
679 // se o script nao existir carrega o codigo e os dados 785 // se o script nao existir carrega o codigo e os dados
680 // caso contrario, carrega apenas os dados no script 786 // caso contrario, carrega apenas os dados no script
681 if (!$i(nomeScript)) { 787 if (!$i(nomeScript)) {
@@ -683,36 +789,48 @@ i3GEO.pluginI3geo = @@ -683,36 +789,48 @@ i3GEO.pluginI3geo =
683 } else { 789 } else {
684 nomeScript = ""; 790 nomeScript = "";
685 } 791 }
686 - p +=  
687 - "?carregajs=" + carregaJs + "&layer=" + camada.name + "&g_sid=" + i3GEO.configura.sid + "&tipoEstilos="  
688 - + camada.plugini3geo.parametros.tipoEstilos  
689 - + "&nomevariavel=markercluster_dados&nomevariavelConfig=markercluster_config";  
690 - i3GEO.util.scriptTag(p, criaLayer, nomeScript); 792 + p += "?carregajs="
  793 + + carregaJs
  794 + + "&layer="
  795 + + camada.name
  796 + + "&g_sid="
  797 + + i3GEO.configura.sid
  798 + + "&tipoEstilos="
  799 + + camada.plugini3geo.parametros.tipoEstilos
  800 + + "&nomevariavel=markercluster_dados&nomevariavelConfig=markercluster_config";
  801 + i3GEO.util.scriptTag(
  802 + p,
  803 + criaLayer,
  804 + nomeScript);
691 } 805 }
692 } 806 }
693 }, 807 },
694 /** 808 /**
695 * Function: layerkml 809 * Function: layerkml
696 - * 810 + *
697 * Adiciona ao mapa uma camada vetorial baseada em um arquivo Kml 811 * Adiciona ao mapa uma camada vetorial baseada em um arquivo Kml
698 - *  
699 - * As depend&ecirc;ncias em javascript sao carregadas via script tag por meio de ferramentas/markercluster  
700 - *  
701 - * Esse programa tamb&eacute;m obt&eacute;m os dados necess&aacute;rios ao plugin  
702 - *  
703 - * O layer existente no mapfile deve conter um metadata chamado PLUGINI3GEO  
704 - *  
705 - * Esse matadado deve conter uma string que ser&aacute; transformada em um objeto javascript para uso no plugin  
706 - * 812 + *
  813 + * As depend&ecirc;ncias em javascript sao carregadas via script tag por
  814 + * meio de ferramentas/markercluster
  815 + *
  816 + * Esse programa tamb&eacute;m obt&eacute;m os dados necess&aacute;rios
  817 + * ao plugin
  818 + *
  819 + * O layer existente no mapfile deve conter um metadata chamado
  820 + * PLUGINI3GEO
  821 + *
  822 + * Esse matadado deve conter uma string que ser&aacute; transformada em
  823 + * um objeto javascript para uso no plugin
  824 + *
707 * Exemplo: 825 * Exemplo:
708 - * 826 + *
709 * "PLUGINI3GEO" '{"plugin":"layerkml","parametros":{"url":"teste"}}' 827 * "PLUGINI3GEO" '{"plugin":"layerkml","parametros":{"url":"teste"}}'
710 - * 828 + *
711 */ 829 */
712 layerkml : { 830 layerkml : {
713 linkAjuda : function() { 831 linkAjuda : function() {
714 - // TODO  
715 - return i3GEO.configura.locaplic + "/ajuda_usuario.php?idcategoria=3&idajuda=121"; 832 + return i3GEO.configura.locaplic
  833 + + "/ajuda_usuario.php?idcategoria=3&idajuda=121";
716 // http://localhost/i3geo/aplicmap/dados/sundials.kml 834 // http://localhost/i3geo/aplicmap/dados/sundials.kml
717 // http://dev.openlayers.org/examples/kml/sundials.kml 835 // http://dev.openlayers.org/examples/kml/sundials.kml
718 }, 836 },
@@ -726,9 +844,10 @@ i3GEO.pluginI3geo = @@ -726,9 +844,10 @@ i3GEO.pluginI3geo =
726 config = YAHOO.lang.JSON.parse(configDefault); 844 config = YAHOO.lang.JSON.parse(configDefault);
727 } 845 }
728 parametros = config.parametros; 846 parametros = config.parametros;
729 - ins +=  
730 - "<p>Url do arquivo Kml:<br><input name='url' type='text' value='" + parametros.url + "'/></p>"  
731 - + "<p>Veja o exemplo utilizado no tema _lmapakml.map</p>"; 847 + ins += "<p>Url do arquivo Kml:<br><input name='url' type='text' value='"
  848 + + parametros.url
  849 + + "'/></p>"
  850 + + "<p>Veja o exemplo utilizado no tema _lmapakml.map</p>";
732 return ins; 851 return ins;
733 }, 852 },
734 googlemaps : { 853 googlemaps : {
@@ -749,11 +868,12 @@ i3GEO.pluginI3geo = @@ -749,11 +868,12 @@ i3GEO.pluginI3geo =
749 return camada; 868 return camada;
750 }, 869 },
751 inicia : function(camada) { 870 inicia : function(camada) {
752 - var layerkml = new google.maps.KmlLayer(camada.plugini3geo.parametros.url, {  
753 - map : i3GeoMap,  
754 - preserveViewport : true,  
755 - name : camada.name  
756 - }); 871 + var layerkml = new google.maps.KmlLayer(
  872 + camada.plugini3geo.parametros.url, {
  873 + map : i3GeoMap,
  874 + preserveViewport : true,
  875 + name : camada.name
  876 + });
757 i3GEO.janela.fechaAguarde("aguardePlugin"); 877 i3GEO.janela.fechaAguarde("aguardePlugin");
758 layerkml.ligaCamada = function() { 878 layerkml.ligaCamada = function() {
759 i3GEO.pluginI3geo.OBJETOS[camada.name].setMap(i3GeoMap); 879 i3GEO.pluginI3geo.OBJETOS[camada.name].setMap(i3GeoMap);
@@ -792,65 +912,67 @@ i3GEO.pluginI3geo = @@ -792,65 +912,67 @@ i3GEO.pluginI3geo =
792 }, 912 },
793 inicia : function(camada, objMapa) { 913 inicia : function(camada, objMapa) {
794 var layerkml; 914 var layerkml;
795 - url = i3GEO.configura.locaplic + "/classesphp/proxy.php?url=" + camada.plugini3geo.parametros.url;  
796 - layerkml = new OpenLayers.Layer.Vector(camada.name, {  
797 - displayOutsideMaxExtent : true,  
798 - displayInLayerSwitcher : false,  
799 - visibility : true,  
800 - strategies : [  
801 - new OpenLayers.Strategy.Fixed()  
802 - ],  
803 - protocol : new OpenLayers.Protocol.HTTP({  
804 - url : url,  
805 - format : new OpenLayers.Format.KML({  
806 - extractStyles : true,  
807 - extractAttributes : true,  
808 - maxDepth : 5  
809 - })  
810 - })  
811 - }); 915 + url = i3GEO.configura.locaplic
  916 + + "/classesphp/proxy.php?url="
  917 + + camada.plugini3geo.parametros.url;
  918 + layerkml = new OpenLayers.Layer.Vector(
  919 + camada.name, {
  920 + displayOutsideMaxExtent : true,
  921 + displayInLayerSwitcher : false,
  922 + visibility : true,
  923 + strategies : [
  924 + new OpenLayers.Strategy.Fixed()
  925 + ],
  926 + protocol : new OpenLayers.Protocol.HTTP(
  927 + {
  928 + url : url,
  929 + format : new OpenLayers.Format.KML(
  930 + {
  931 + extractStyles : true,
  932 + extractAttributes : true,
  933 + maxDepth : 5
  934 + })
  935 + })
  936 + });
812 i3geoOL.addLayer(layerkml); 937 i3geoOL.addLayer(layerkml);
813 938
814 if (!objMapa) { 939 if (!objMapa) {
815 objMapa = i3geoOL; 940 objMapa = i3geoOL;
816 } 941 }
817 - layerkml.div.onclick =  
818 - function(e) {  
819 - var targ = "", id, temp, features, n, i, j = "", html = "";  
820 - if (!e) {  
821 - e = window.event;  
822 - }  
823 - if (e.target) {  
824 - targ = e.target;  
825 - } else if (e.srcElement) {  
826 - targ = e.srcElement;  
827 - }  
828 - if (targ.id) {  
829 - temp = targ.id.split("_Point");  
830 - if (temp[0] === "OpenLayers_Geometry") {  
831 - id = targ.id;  
832 - temp = i3geoOL.getLayer(this.id);  
833 - features = temp.features;  
834 - n = features.length;  
835 - for (i = 0; i < n; i++) {  
836 - if (features[i].geometry.id === id) {  
837 - for (j in features[i].attributes) {  
838 - html += j + ": " + features[i].attributes[j];  
839 - }  
840 - g = features[i].geometry;  
841 - i3geoOL.addPopup(new OpenLayers.Popup.FramedCloud(  
842 - "kml",  
843 - new OpenLayers.LonLat(g.x, g.y),  
844 - null,  
845 - html,  
846 - null,  
847 - true));  
848 - 942 + layerkml.div.onclick = function(e) {
  943 + var targ = "", id, temp, features, n, i, j = "", html = "";
  944 + if (!e) {
  945 + e = window.event;
  946 + }
  947 + if (e.target) {
  948 + targ = e.target;
  949 + } else if (e.srcElement) {
  950 + targ = e.srcElement;
  951 + }
  952 + if (targ.id) {
  953 + temp = targ.id.split("_Point");
  954 + if (temp[0] === "OpenLayers_Geometry") {
  955 + id = targ.id;
  956 + temp = i3geoOL.getLayer(this.id);
  957 + features = temp.features;
  958 + n = features.length;
  959 + for (i = 0; i < n; i++) {
  960 + if (features[i].geometry.id === id) {
  961 + for (j in features[i].attributes) {
  962 + html += j
  963 + + ": "
  964 + + features[i].attributes[j];
849 } 965 }
  966 + g = features[i].geometry;
  967 + i3geoOL.addPopup(new OpenLayers.Popup.FramedCloud(
  968 + "kml", new OpenLayers.LonLat(
  969 + g.x, g.y), null, html, null, true));
  970 +
850 } 971 }
851 } 972 }
852 } 973 }
853 - }; 974 + }
  975 + };
854 976
855 i3GEO.janela.fechaAguarde("aguardePlugin"); 977 i3GEO.janela.fechaAguarde("aguardePlugin");
856 i3GEO.eventos.cliquePerm.ativo = false; 978 i3GEO.eventos.cliquePerm.ativo = false;
@@ -868,7 +990,124 @@ i3GEO.pluginI3geo = @@ -868,7 +990,124 @@ i3GEO.pluginI3geo =
868 i3GEO.eventos.cliquePerm.ativo = false; 990 i3GEO.eventos.cliquePerm.ativo = false;
869 }; 991 };
870 i3GEO.pluginI3geo.OBJETOS[camada.name] = layerkml; 992 i3GEO.pluginI3geo.OBJETOS[camada.name] = layerkml;
871 - 993 + }
  994 + }
  995 + },
  996 + /**
  997 + * Function: parametrossql
  998 + *
  999 + * Adiciona ao mapa uma camada vetorial baseada em um arquivo mapfile
  1000 + * normal por&eacute;m permite substituir par&acirc;metros no item DATA
  1001 + * do LAYER
  1002 + *
  1003 + * Com o plugin, o i3GEO ir&aacute; mostrar um formul&aacute;rio com
  1004 + * par&acirc;metros quando o usu&aacute;rio adicionar uma camada ao mapa
  1005 + *
  1006 + * O formul&aacute;rio colhe os valores que ser&atilde;o utilizados para
  1007 + * substituir chaves inseridas no SQL
  1008 + *
  1009 + * O layer existente no mapfile deve conter um metadata chamado
  1010 + * PLUGINI3GEO
  1011 + *
  1012 + * Esse matadado deve conter uma string que ser&aacute; transformada em
  1013 + * um objeto javascript para uso no plugin
  1014 + *
  1015 + * Exemplo:
  1016 + *
  1017 + * "PLUGINI3GEO"
  1018 + * '{"plugin":"parametrossql","parametros":{[{"titulo":"","tipo":"input|select","valores":[],"chave":""}]}}'
  1019 + *
  1020 + */
  1021 + parametrossql : {
  1022 + linkAjuda : function() {
  1023 + // TODO
  1024 + return i3GEO.configura.locaplic
  1025 + + "/ajuda_usuario.php?idcategoria=3&idajuda=121";
  1026 + },
  1027 + formAdmin : function(config) {
  1028 + var n, i, parametros, ins = "", configDefault =
  1029 + '{"plugin":"parametrossql","parametros":[{"titulo":"","tipo":"input","valores":[],"chave":""},{"titulo":"","tipo":"input","valores":[],"chave":""},{"titulo":"","tipo":"input","valores":[],"chave":""},{"titulo":"","tipo":"input","valores":[],"chave":""}]}';
  1030 + if (config === "") {
  1031 + config = configDefault;
  1032 + }
  1033 + config = YAHOO.lang.JSON.parse(config);
  1034 + if (config.plugin != "parametrossql") {
  1035 + config = YAHOO.lang.JSON.parse(configDefault);
  1036 + }
  1037 + parametros = config.parametros;
  1038 + n = parametros.length;
  1039 + ins += "<table><tr><td>T&iacute;tulo</td><td>Chave</td><td>Tipo (input ou select)</td><td>Valores</td></tr>";
  1040 + for (i = 0; i < n; i++) {
  1041 + ins += "<tr><td><input name='titulo' type=text size=20 value='"
  1042 + + parametros[i].titulo
  1043 + + "' /></td>"
  1044 + + "<td><input name='chave' type=text size=20 value='"
  1045 + + parametros[i].chave
  1046 + + "' /></td>"
  1047 + + "<td><input name='tipo' type=text size=20 value='"
  1048 + + parametros[i].tipo
  1049 + + "' /></td> "
  1050 + + "<td><input name='valores' type=text size=20 value='"
  1051 + + parametros[i].valores
  1052 + + "' /></td></tr>";
  1053 + }
  1054 + ins +=
  1055 + "</table>"
  1056 + + "<p class='paragrafo'>As chaves s&atilde;o palavras que devem existir no SQL definido em DATA."
  1057 + + "<br>O usu&aacute;rio ir&aacute; fornecer os valores que ser&atilde;o ent&atilde;o utilizados para substituir as chaves de forma din&acirc;mica"
  1058 + + "<br>Ser&aacute; mostrado ao usu&aacute;rio um formul&aacute;rio com op&ccedil;&otilde;es. Cada op&ccedil;&atilde;o conter&aacute; um t&iacute;tulo e um campo de formul&aacute;rio"
  1059 + + "<br>Cada campo de formul&aacute;rio pode ser dos tipos input (para digitar um valor) ou select (caixa de op&ccedil;&otilde;es)."
  1060 + + "<br>Em valores deve ser definida a lista ou o valor default que ser&aacute; mostrado. No caso de listas, utilize v&iacute;rgula para separar os valores.";
  1061 + return ins;
  1062 + },
  1063 + // pega os valores do formulario quando e aberto no sistema de
  1064 + // administracao
  1065 + // ver i3geo/admin/editormapfile.js funcao salvarDadosEditorPlugin
  1066 + parametrosFormAdmin : function(onde) {
  1067 + var campo = 0,nlinhas = 4, ncampos = 4, campos = onde.getElementsByTagName("input"), par = [], temp = [], i, j;
  1068 + for (j = 0; j < nlinhas; j++) {
  1069 + temp = [];
  1070 + for (i = 0; i < ncampos; i++) {
  1071 + if(campos[campo]){
  1072 + temp.push('"'+campos[campo].name
  1073 + + '" : "'
  1074 + + campos[campo].value
  1075 + + '"');
  1076 + }
  1077 + campo++;
  1078 + }
  1079 + par.push("{"
  1080 + + temp.join(",")
  1081 + + "}");
  1082 + }
  1083 + return '{"plugin":"parametrossql","parametros":['
  1084 + + par.join(",")
  1085 + + ']}';
  1086 + },
  1087 + inicia : function(camada) {
  1088 + i3GEO.janela.fechaAguarde("aguardePlugin");
  1089 + var iniciaform = function() {
  1090 + i3GEOF.parametrossql.iniciaJanelaFlutuante(camada);
  1091 + };
  1092 + i3GEO.util.scriptTag(
  1093 + (i3GEO.configura.locaplic + "/ferramentas/parametrossql/dependencias.php"),
  1094 + iniciaform,
  1095 + "parametrossql_script");
  1096 + },
  1097 + googlemaps : {
  1098 + inicia : function(camada) {
  1099 + i3GEO.pluginI3geo.parametrossql.inicia(camada);
  1100 + },
  1101 + aplicaPropriedades : function(camada) {
  1102 + return camada;
  1103 + }
  1104 + },
  1105 + openlayers : {
  1106 + inicia : function(camada) {
  1107 + i3GEO.pluginI3geo.parametrossql.inicia(camada);
  1108 + },
  1109 + aplicaPropriedades : function(camada) {
  1110 + return camada;
872 } 1111 }
873 } 1112 }
874 } 1113 }
classesjs/compactados/classe_plugini3geo_compacto.js
1 -if(typeof(i3GEO)==='undefined'){var i3GEO={}}i3GEO.pluginI3geo={OBJETOS:{},PLUGINS:[{"classe":"heatmap","nome":"Mapa de calor","editor":true},{"classe":"markercluster","nome":"Agrupamento de pontos (cluster)","editor":true},{"classe":"layerkml","nome":"Camada Kml","editor":true}],inicia:function(camada){if(i3GEO.janela){i3GEO.janela.AGUARDEMODAL=true;i3GEO.janela.abreAguarde("aguardePlugin","Plugin...");i3GEO.janela.AGUARDEMODAL=false}i3GEO.pluginI3geo[camada.plugini3geo.plugin][i3GEO.Interface.ATUAL].inicia(camada)},formAdmin:function(plugin,configString){return i3GEO.pluginI3geo[plugin].formAdmin(configString)},linkAjuda:function(plugin){return i3GEO.pluginI3geo[plugin].linkAjuda()},ligaCamada:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].ligaCamada){i3GEO.pluginI3geo.OBJETOS[nomecamada].ligaCamada();return true}return false},desligaCamada:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].desLigaCamada){i3GEO.pluginI3geo.OBJETOS[nomecamada].desLigaCamada();return true}return false},removeCamada:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].removeCamada){i3GEO.pluginI3geo.OBJETOS[nomecamada].removeCamada();delete(i3GEO.pluginI3geo.OBJETOS[nomecamada]);return true}return false},atualizaCamada:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].atualizaCamada){i3GEO.pluginI3geo.OBJETOS[nomecamada].atualizaCamada();return true}return false},existeObjeto:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].atualizaCamada){return true}return false},aplicaPropriedades:function(camada){if(camada.plugini3geo&&camada.plugini3geo!=""){camada=i3GEO.pluginI3geo[camada.plugini3geo.plugin][i3GEO.Interface.ATUAL].aplicaPropriedades(camada)}return camada},heatmap:{linkAjuda:function(){return i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=3&idajuda=121"},formAdmin:function(config){var parametros,ins="",configDefault='{"plugin":"heatmap","parametros":{"tipoGradiente": "default","valorPonto":1,"coluna":"","radius":15}}';if(config===""){config=configDefault}config=YAHOO.lang.JSON.parse(config);if(config.plugin!="heatmap"){config=YAHOO.lang.JSON.parse(configDefault)}parametros=config.parametros;ins+=""+"<p>Coluna que cont&eacute;m os dados:"+"<br><input name='coluna' type='text' value='"+parametros.coluna+"' size='30'></p>"+"<p>Ou valor num&eacute;rico para cada ponto:"+"<br><input name='valorPonto' type='text' value='"+parametros.valorPonto+"' size='30'></p>"+"<p>Raio de cada ponto em pixels:"+"<br><input name='radius' type='text' value='"+parametros.radius+"' size='30'></p>"+"<p>Tipo de gradiente (deixe vazio para utilizar as classes definidas no Layer ou escreva 'default' para usar o normal):"+"<br><input name='tipoGradiente' type='text' value='"+parametros.tipoGradiente+"' size='30'></p>"+"<p>Para definir os cortes no gradiente de cores utilize valores entre 0 e 1."+" As cores s&atilde;o definidas nas classes do LAYER, sendo que o nome define o valor superior do gradiente e COLOR define a cor."+" Veja o exemplo utilizado no tema _lmapadecalor.map</p>";return ins},googlemaps:{aplicaPropriedades:function(camada){camada.sel="nao";camada.download="nao";camada.AGUARDALEGENDA=false;camada.temporizador="";camada.copia=false;camada.procurar=false;camada.toponimia=false;camada.etiquetas=false;camada.tabela=false;camada.grafico=false;camada.destacar=false;camada.wms=false;camada.classe="NAO";return camada},inicia:function(camada){var nomeScript="heatmap_script",p=i3GEO.configura.locaplic+"/ferramentas/heatmap/googlemaps_js.php",carregaJs="nao",criaLayer;criaLayer=function(){var heatmap,pontos;heatmap=new HeatmapOverlay(i3GeoMap,camada.name,{"radius":camada.plugini3geo.parametros.radius,"visible":true,"opacity":camada.transparency,"gradient":heatmap_config.gradient,"legend":{"title":camada.tema,"position":"bl","offset":[5,50]}});pontos={max:camada.plugini3geo.parametros.max,data:heatmap_dados};i3GEO.janela.fechaAguarde("aguardePlugin");heatmap.setDataSet(pontos);heatmap.ligaCamada=function(){this.liga()};heatmap.desLigaCamada=function(){this.desliga()};heatmap.removeCamada=function(){this.destroy()};heatmap.atualizaCamada=function(){this.draw()};i3GEO.pluginI3geo.OBJETOS[camada.name]=heatmap;heatmap_dados=null};if(!$i(nomeScript)){carregaJs="sim"}else{nomeScript=""}p+="?carregajs="+carregaJs+"&layer="+camada.name+"&coluna="+camada.plugini3geo.parametros.coluna+"&tipoGradiente="+camada.plugini3geo.parametros.tipoGradiente+"&g_sid="+i3GEO.configura.sid+"&nomevariavel=heatmap_dados&nomevariavelConfig=heatmap_config";i3GEO.util.scriptTag(p,criaLayer,nomeScript)}},openlayers:{aplicaPropriedades:function(camada){camada.sel="nao";camada.download="nao";camada.AGUARDALEGENDA=false;camada.temporizador="";camada.copia=false;camada.procurar=false;camada.toponimia=false;camada.etiquetas=false;camada.tabela=false;camada.grafico=false;camada.destacar=false;camada.wms=false;camada.classe="NAO";return camada},inicia:function(camada,objMapa){var nomeScript="heatmap_script",p=i3GEO.configura.locaplic+"/ferramentas/heatmap/openlayers_js.php",carregaJs="nao",criaLayer;criaLayer=function(){var temp,heatmap,transformedTestData={max:1,data:[]},data=heatmap_dados,datalen=heatmap_dados.length,nudata=[],max=0;if(!objMapa){objMapa=i3geoOL}while(datalen--){temp=heatmap_dados[datalen].count;nudata.push({lonlat:new OpenLayers.LonLat(data[datalen].lng,heatmap_dados[datalen].lat),count:temp});max=Math.max(max,temp)}transformedTestData.max=max;transformedTestData.data=nudata;heatmap=new OpenLayers.Layer.Heatmap(camada.name,objMapa,objMapa.baseLayer,{"visible":true,"opacity":camada.transparency,"radius":camada.plugini3geo.parametros.radius,"gradient":heatmap_config.gradient,"legend":{"title":camada.tema,"position":"bl","offset":[5,50]}},{isBaseLayer:false,projection:new OpenLayers.Projection("EPSG:4326"),displayInLayerSwitcher:true});heatmap.ligaCamada=function(){this.toggle();this.updateLayer()};heatmap.desLigaCamada=function(){this.toggle();this.updateLayer()};heatmap.removeCamada=function(){this.destroy()};heatmap.atualizaCamada=function(){this.updateLayer()};i3GEO.pluginI3geo.OBJETOS[camada.name]=heatmap;objMapa.addLayer(heatmap);heatmap.setDataSet(transformedTestData);heatmap_dados=null;if(i3GEO.janela){i3GEO.janela.fechaAguarde("aguardePlugin")}};if(!$i(nomeScript)){carregaJs="sim"}else{nomeScript=""}if(!i3GEO.configura||!i3GEO.configura.sid){i3GEO.configura.sid=""}p+="?carregajs="+carregaJs+"&layer="+camada.name+"&coluna="+camada.plugini3geo.parametros.coluna+"&tipoGradiente="+camada.plugini3geo.parametros.tipoGradiente+"&g_sid="+i3GEO.configura.sid+"&nomevariavel=heatmap_dados&nomevariavelConfig=heatmap_config";i3GEO.util.scriptTag(p,criaLayer,nomeScript)}},googleearth:{inicia:function(){alert("Plugin nao disponivel")}}},markercluster:{linkAjuda:function(){return i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=3&idajuda=121"},formAdmin:function(config){var parametros,ins="",configDefault='{"plugin":"markercluster","parametros":{"tipoEstilos": "default","gridSize":50}}';if(config===""){config=configDefault}config=YAHOO.lang.JSON.parse(config);if(config.plugin!="markercluster"){config=YAHOO.lang.JSON.parse(configDefault)}parametros=config.parametros;ins+=""+"<p>Dist&acirc;ncia m&aacute;xima entre ponto em pixels:"+"<br><input name='gridSize' type='text' value='"+parametros.gridSize+"' size='30'></p>"+"<p>Tipo de estilos (deixe vazio para utilizar as classes definidas no Layer ou escreva 'default' para usar o normal):"+"<br><input name='tipoEstilos' type='text' value='"+parametros.tipoEstilos+"' size='30'></p>"+"<p>Os s&iacute;mbolos utilizados podem ser customizados alterando-se as classes do Mapfile</p>"+"<p>Veja o exemplo utilizado no tema _lmapadecluster.map</p>";return ins},googlemaps:{aplicaPropriedades:function(camada){camada.sel="nao";camada.download="nao";camada.AGUARDALEGENDA=false;camada.temporizador="";camada.copia=false;camada.procurar=false;camada.toponimia=false;camada.etiquetas=false;camada.tabela=false;camada.grafico=false;camada.destacar=false;camada.wms=false;camada.classe="NAO";return camada},inicia:function(camada){var nomeScript="markercluster_script",p=i3GEO.configura.locaplic+"/ferramentas/markercluster/googlemaps_js.php",carregaJs="nao",criaLayer;criaLayer=function(){var markercluster,marcas,latLng,marker,n,i;n=markercluster_dados.length;marcas=[];for(i=0;i<n;i++){latLng=new google.maps.LatLng(markercluster_dados[i].lat,markercluster_dados[i].lng);marker=new google.maps.Marker({'position':latLng,icon:{url:markercluster_config.ponto.url,scaledSize:new google.maps.Size(markercluster_config.ponto.width,markercluster_config.ponto.height)}});marcas.push(marker)}markercluster=new MarkerClusterer(i3GeoMap,marcas,{"gridSize":parseInt(camada.plugini3geo.parametros.gridSize,10),"visible":true,"opacity":camada.transparency,"name":camada.name,"styles":markercluster_config.estilos});i3GEO.janela.fechaAguarde("aguardePlugin");i3GEO.eventos.cliquePerm.ativo=false;markercluster.ligaCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].ready_=true;i3GEO.pluginI3geo.OBJETOS[camada.name].redraw();i3GEO.eventos.cliquePerm.ativo=false};markercluster.desLigaCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].resetViewport(true);i3GEO.pluginI3geo.OBJETOS[camada.name].ready_=false;i3GEO.eventos.cliquePerm.ativo=true};markercluster.removeCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].clearMarkers();i3GEO.eventos.cliquePerm.ativo=true};markercluster.atualizaCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].ready_=true;i3GEO.pluginI3geo.OBJETOS[camada.name].redraw();i3GEO.eventos.cliquePerm.ativo=false};i3GEO.pluginI3geo.OBJETOS[camada.name]=markercluster;markercluster_dados=null};if(!$i(nomeScript)){carregaJs="sim"}else{nomeScript=""}p+="?carregajs="+carregaJs+"&layer="+camada.name+"&g_sid="+i3GEO.configura.sid+"&tipoEstilos="+camada.plugini3geo.parametros.tipoEstilos+"&nomevariavel=markercluster_dados&nomevariavelConfig=markercluster_config";i3GEO.util.scriptTag(p,criaLayer,nomeScript)}},openlayers:{aplicaPropriedades:function(camada){camada.sel="nao";camada.download="nao";camada.AGUARDALEGENDA=false;camada.temporizador="";camada.copia=false;camada.procurar=false;camada.toponimia=false;camada.etiquetas=false;camada.tabela=false;camada.grafico=false;camada.destacar=false;camada.wms=false;camada.classe="NAO";return camada},inicia:function(camada,objMapa){var nomeScript="markercluster_script",p=i3GEO.configura.locaplic+"/ferramentas/markercluster/openlayers_js.php",carregaJs="nao",criaLayer;criaLayer=function(){var layerListeners,logMax,logMin,classes,min,max,markercluster,marcas,lonlat,n,i,style,nestilos,intervalo,regra,regras=[];nestilos=markercluster_config.estilos.length;n=markercluster_dados.length;classes=Array();logMax=Math.log(n)/Math.LN10; logMin=Math.log(1)/Math.LN10;intervalo=(logMax-logMin)/nestilos;for(i=0;i<nestilos;i++){if(i==0){classes[i]=logMin}else{classes[i]=classes[i-1]+intervalo}}classes=classes.map(function(x){return Math.pow(10,x)});classes.push(n);regra=new OpenLayers.Rule({filter:new OpenLayers.Filter.Comparison({type:OpenLayers.Filter.Comparison.LESS_THAN,property:"count",value:2}),symbolizer:{externalGraphic:markercluster_config.ponto.url,graphicWidth:markercluster_config.ponto.width,graphicHeight:markercluster_config.ponto.height,graphicYOffset:(markercluster_config.ponto.height/2)*-1}});regras.push(regra);min=2;for(i=0;i<nestilos;i++){max=classes[i+1];regra=new OpenLayers.Rule({filter:new OpenLayers.Filter.Comparison({type:OpenLayers.Filter.Comparison.BETWEEN,property:"count",lowerBoundary:min,upperBoundary:max}),symbolizer:{externalGraphic:markercluster_config.estilos[i].url,graphicWidth:markercluster_config.estilos[i].width,graphicHeight:markercluster_config.estilos[i].height,label:"${count}",labelOutlineWidth:1,fontColor:"#000000",fontOpacity:1,fontSize:"12px"}});regras.push(regra);min=max}style=new OpenLayers.Style(null,{rules:regras});if(!objMapa){objMapa=i3geoOL}layerListeners={featureclick:function(e){if(e.feature.cluster.length>1){objMapa.setCenter([e.feature.geometry.x,e.feature.geometry.y],objMapa.getZoom()+1,false,false)}return false}};markercluster=new OpenLayers.Layer.Vector(camada.name,{renderers:['Canvas','SVG'],strategies:[new OpenLayers.Strategy.AnimatedCluster({distance:parseInt(camada.plugini3geo.parametros.gridSize,10)})],styleMap:new OpenLayers.StyleMap(style),eventListeners:layerListeners});objMapa.addLayer(markercluster);marcas=[];for(i=0;i<n;i++){lonlat=new OpenLayers.LonLat(markercluster_dados[i].lng,markercluster_dados[i].lat);if(i3GEO.Interface.openlayers.googleLike===true){lonlat.transform(new OpenLayers.Projection("EPSG:4326"),new OpenLayers.Projection("EPSG:900913"))}marcas.push(new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Point(lonlat.lon,lonlat.lat)))}markercluster.addFeatures(marcas);i3GEO.janela.fechaAguarde("aguardePlugin");i3GEO.eventos.cliquePerm.ativo=false;markercluster.ligaCamada=function(){i3GEO.eventos.cliquePerm.ativo=false};markercluster.desLigaCamada=function(){i3GEO.eventos.cliquePerm.ativo=true};markercluster.removeCamada=function(){i3GEO.eventos.cliquePerm.ativo=true};markercluster.atualizaCamada=function(){i3GEO.eventos.cliquePerm.ativo=false};i3GEO.pluginI3geo.OBJETOS[camada.name]=markercluster;markercluster_dados=null};if(!$i(nomeScript)){carregaJs="sim"}else{nomeScript=""}p+="?carregajs="+carregaJs+"&layer="+camada.name+"&g_sid="+i3GEO.configura.sid+"&tipoEstilos="+camada.plugini3geo.parametros.tipoEstilos+"&nomevariavel=markercluster_dados&nomevariavelConfig=markercluster_config";i3GEO.util.scriptTag(p,criaLayer,nomeScript)}}},layerkml:{linkAjuda:function(){return i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=3&idajuda=121"},formAdmin:function(config){var parametros,ins="",configDefault='{"plugin":"layerkml","parametros":{"url": ""}}';if(config===""){config=configDefault}config=YAHOO.lang.JSON.parse(config);if(config.plugin!="layerkml"){config=YAHOO.lang.JSON.parse(configDefault)}parametros=config.parametros;ins+="<p>Url do arquivo Kml:<br><input name='url' type='text' value='"+parametros.url+"'/></p>"+"<p>Veja o exemplo utilizado no tema _lmapakml.map</p>";return ins},googlemaps:{aplicaPropriedades:function(camada){camada.sel="nao";camada.download="nao";camada.AGUARDALEGENDA=false;camada.temporizador="";camada.copia=false;camada.procurar=false;camada.toponimia=false;camada.etiquetas=false;camada.tabela=false;camada.grafico=false;camada.destacar=false;camada.wms=false;camada.classe="NAO";return camada},inicia:function(camada){var layerkml=new google.maps.KmlLayer(camada.plugini3geo.parametros.url,{map:i3GeoMap,preserveViewport:true,name:camada.name});i3GEO.janela.fechaAguarde("aguardePlugin");layerkml.ligaCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].setMap(i3GeoMap)};layerkml.desLigaCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].setMap(null)};layerkml.removeCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].setMap(null);i3GEO.pluginI3geo.OBJETOS[camada.name].resetViewport(true)};layerkml.atualizaCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].setMap(null);i3GEO.pluginI3geo.OBJETOS[camada.name].resetViewport(true);i3GEO.pluginI3geo.OBJETOS[camada.name].setMap(i3GeoMap)};i3GEO.pluginI3geo.OBJETOS[camada.name]=layerkml}},openlayers:{aplicaPropriedades:function(camada){camada.sel="nao";camada.download="nao";camada.AGUARDALEGENDA=false;camada.temporizador="";camada.copia=false;camada.procurar=false;camada.toponimia=false;camada.etiquetas=false;camada.tabela=false;camada.grafico=false;camada.destacar=false;camada.wms=false;camada.classe="NAO";return camada},inicia:function(camada,objMapa){var layerkml;url=i3GEO.configura.locaplic+"/classesphp/proxy.php?url="+camada.plugini3geo.parametros.url;layerkml=new OpenLayers.Layer.Vector(camada.name,{displayOutsideMaxExtent:true,displayInLayerSwitcher:false,visibility:true,strategies:[new OpenLayers.Strategy.Fixed()],protocol:new OpenLayers.Protocol.HTTP({url:url,format:new OpenLayers.Format.KML({extractStyles:true,extractAttributes:true,maxDepth:5})})});i3geoOL.addLayer(layerkml);if(!objMapa){objMapa=i3geoOL}layerkml.div.onclick=function(e){var targ="",id,temp,features,n,i,j="",html="";if(!e){e=window.event}if(e.target){targ=e.target}else if(e.srcElement){targ=e.srcElement}if(targ.id){temp=targ.id.split("_Point");if(temp[0]==="OpenLayers_Geometry"){id=targ.id;temp=i3geoOL.getLayer(this.id);features=temp.features;n=features.length;for(i=0;i<n;i++){if(features[i].geometry.id===id){for(j in features[i].attributes){html+=j+": "+features[i].attributes[j]}g=features[i].geometry;i3geoOL.addPopup(new OpenLayers.Popup.FramedCloud("kml",new OpenLayers.LonLat(g.x,g.y),null,html,null,true))}}}}};i3GEO.janela.fechaAguarde("aguardePlugin");i3GEO.eventos.cliquePerm.ativo=false;layerkml.ligaCamada=function(){i3GEO.eventos.cliquePerm.ativo=false};layerkml.desLigaCamada=function(){i3GEO.eventos.cliquePerm.ativo=true};layerkml.removeCamada=function(){i3GEO.eventos.cliquePerm.ativo=true};layerkml.atualizaCamada=function(){i3GEO.eventos.cliquePerm.ativo=false};i3GEO.pluginI3geo.OBJETOS[camada.name]=layerkml}}}};  
2 \ No newline at end of file 1 \ No newline at end of file
  2 +if(typeof(i3GEO)==='undefined'){var i3GEO={}}i3GEO.pluginI3geo={OBJETOS:{},PLUGINS:[{"classe":"heatmap","nome":"Mapa de calor","editor":true},{"classe":"markercluster","nome":"Agrupamento de pontos (cluster)","editor":true},{"classe":"layerkml","nome":"Camada Kml","editor":true},{"classe":"parametrossql","nome":"SQL parametrizado","editor":true}],inicia:function(camada){if(i3GEO.janela){i3GEO.janela.AGUARDEMODAL=true;i3GEO.janela.abreAguarde("aguardePlugin","Plugin...");i3GEO.janela.AGUARDEMODAL=false}i3GEO.pluginI3geo[camada.plugini3geo.plugin][i3GEO.Interface.ATUAL].inicia(camada)},formAdmin:function(plugin,configString){return i3GEO.pluginI3geo[plugin].formAdmin(configString)},linkAjuda:function(plugin){return i3GEO.pluginI3geo[plugin].linkAjuda()},ligaCamada:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].ligaCamada){i3GEO.pluginI3geo.OBJETOS[nomecamada].ligaCamada();return true}return false},desligaCamada:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].desLigaCamada){i3GEO.pluginI3geo.OBJETOS[nomecamada].desLigaCamada();return true}return false},removeCamada:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].removeCamada){i3GEO.pluginI3geo.OBJETOS[nomecamada].removeCamada();delete(i3GEO.pluginI3geo.OBJETOS[nomecamada]);return true}return false},atualizaCamada:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].atualizaCamada){i3GEO.pluginI3geo.OBJETOS[nomecamada].atualizaCamada();return true}return false},existeObjeto:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].atualizaCamada){return true}return false},aplicaPropriedades:function(camada){if(camada.plugini3geo&&camada.plugini3geo!=""){camada=i3GEO.pluginI3geo[camada.plugini3geo.plugin][i3GEO.Interface.ATUAL].aplicaPropriedades(camada)}return camada},heatmap:{linkAjuda:function(){return i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=3&idajuda=121"},formAdmin:function(config){var parametros,ins="",configDefault='{"plugin":"heatmap","parametros":{"tipoGradiente": "default","valorPonto":1,"coluna":"","radius":15}}';if(config===""){config=configDefault}config=YAHOO.lang.JSON.parse(config);if(config.plugin!="heatmap"){config=YAHOO.lang.JSON.parse(configDefault)}parametros=config.parametros;ins+=""+"<p>Coluna que cont&eacute;m os dados:"+"<br><input name='coluna' type='text' value='"+parametros.coluna+"' size='30'></p>"+"<p>Ou valor num&eacute;rico para cada ponto:"+"<br><input name='valorPonto' type='text' value='"+parametros.valorPonto+"' size='30'></p>"+"<p>Raio de cada ponto em pixels:"+"<br><input name='radius' type='text' value='"+parametros.radius+"' size='30'></p>"+"<p>Tipo de gradiente (deixe vazio para utilizar as classes definidas no Layer ou escreva 'default' para usar o normal):"+"<br><input name='tipoGradiente' type='text' value='"+parametros.tipoGradiente+"' size='30'></p>"+"<p>Para definir os cortes no gradiente de cores utilize valores entre 0 e 1."+" As cores s&atilde;o definidas nas classes do LAYER, sendo que o nome define o valor superior do gradiente e COLOR define a cor."+" Veja o exemplo utilizado no tema _lmapadecalor.map</p>";return ins},googlemaps:{aplicaPropriedades:function(camada){camada.sel="nao";camada.download="nao";camada.AGUARDALEGENDA=false;camada.temporizador="";camada.copia=false;camada.procurar=false;camada.toponimia=false;camada.etiquetas=false;camada.tabela=false;camada.grafico=false;camada.destacar=false;camada.wms=false;camada.classe="NAO";return camada},inicia:function(camada){var nomeScript="heatmap_script",p=i3GEO.configura.locaplic+"/ferramentas/heatmap/googlemaps_js.php",carregaJs="nao",criaLayer;criaLayer=function(){var heatmap,pontos;heatmap=new HeatmapOverlay(i3GeoMap,camada.name,{"radius":camada.plugini3geo.parametros.radius,"visible":true,"opacity":camada.transparency,"gradient":heatmap_config.gradient,"legend":{"title":camada.tema,"position":"bl","offset":[5,50]}});pontos={max:camada.plugini3geo.parametros.max,data:heatmap_dados};i3GEO.janela.fechaAguarde("aguardePlugin");heatmap.setDataSet(pontos);heatmap.ligaCamada=function(){this.liga()};heatmap.desLigaCamada=function(){this.desliga()};heatmap.removeCamada=function(){this.destroy()};heatmap.atualizaCamada=function(){this.draw()};i3GEO.pluginI3geo.OBJETOS[camada.name]=heatmap;heatmap_dados=null};if(!$i(nomeScript)){carregaJs="sim"}else{nomeScript=""}p+="?carregajs="+carregaJs+"&layer="+camada.name+"&coluna="+camada.plugini3geo.parametros.coluna+"&tipoGradiente="+camada.plugini3geo.parametros.tipoGradiente+"&g_sid="+i3GEO.configura.sid+"&nomevariavel=heatmap_dados&nomevariavelConfig=heatmap_config";i3GEO.util.scriptTag(p,criaLayer,nomeScript)}},openlayers:{aplicaPropriedades:function(camada){camada.sel="nao";camada.download="nao";camada.AGUARDALEGENDA=false;camada.temporizador="";camada.copia=false;camada.procurar=false;camada.toponimia=false;camada.etiquetas=false;camada.tabela=false;camada.grafico=false;camada.destacar=false;camada.wms=false;camada.classe="NAO";return camada},inicia:function(camada,objMapa){var nomeScript="heatmap_script",p=i3GEO.configura.locaplic+"/ferramentas/heatmap/openlayers_js.php",carregaJs="nao",criaLayer;criaLayer=function(){var temp,heatmap,transformedTestData={max:1,data:[]},data=heatmap_dados,datalen=heatmap_dados.length,nudata=[],max=0;if(!objMapa){objMapa=i3geoOL}while(datalen--){temp=heatmap_dados[datalen].count;nudata.push({lonlat:new OpenLayers.LonLat(data[datalen].lng,heatmap_dados[datalen].lat),count:temp});max=Math.max(max,temp)}transformedTestData.max=max;transformedTestData.data=nudata;heatmap=new OpenLayers.Layer.Heatmap(camada.name,objMapa,objMapa.baseLayer,{"visible":true,"opacity":camada.transparency,"radius":camada.plugini3geo.parametros.radius,"gradient":heatmap_config.gradient,"legend":{"title":camada.tema,"position":"bl","offset":[5,50]}},{isBaseLayer:false,projection:new OpenLayers.Projection("EPSG:4326"),displayInLayerSwitcher:true});heatmap.ligaCamada=function(){this.toggle();this.updateLayer()};heatmap.desLigaCamada=function(){this.toggle();this.updateLayer()};heatmap.removeCamada=function(){this.destroy()};heatmap.atualizaCamada=function(){this.updateLayer()};i3GEO.pluginI3geo.OBJETOS[camada.name]=heatmap;objMapa.addLayer(heatmap);heatmap.setDataSet(transformedTestData);heatmap_dados=null;if(i3GEO.janela){i3GEO.janela.fechaAguarde("aguardePlugin")}};if(!$i(nomeScript)){carregaJs="sim"}else{nomeScript=""}if(!i3GEO.configura||!i3GEO.configura.sid){i3GEO.configura.sid=""}p+="?carregajs="+carregaJs+"&layer="+camada.name+"&coluna="+camada.plugini3geo.parametros.coluna+"&tipoGradiente="+camada.plugini3geo.parametros.tipoGradiente+"&g_sid="+i3GEO.configura.sid+"&nomevariavel=heatmap_dados&nomevariavelConfig=heatmap_config";i3GEO.util.scriptTag(p,criaLayer,nomeScript)}},googleearth:{inicia:function(){alert("Plugin nao disponivel")}}},markercluster:{linkAjuda:function(){return i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=3&idajuda=121"},formAdmin:function(config){var parametros,ins="",configDefault='{"plugin":"markercluster","parametros":{"tipoEstilos": "default","gridSize":50}}';if(config===""){config=configDefault}config=YAHOO.lang.JSON.parse(config);if(config.plugin!="markercluster"){config=YAHOO.lang.JSON.parse(configDefault)}parametros=config.parametros;ins+=""+"<p>Dist&acirc;ncia m&aacute;xima entre ponto em pixels:"+"<br><input name='gridSize' type='text' value='"+parametros.gridSize+"' size='30'></p>"+"<p>Tipo de estilos (deixe vazio para utilizar as classes definidas no Layer ou escreva 'default' para usar o normal):"+"<br><input name='tipoEstilos' type='text' value='"+parametros.tipoEstilos+"' size='30'></p>"+"<p>Os s&iacute;mbolos utilizados podem ser customizados alterando-se as classes do Mapfile</p>"+"<p>Veja o exemplo utilizado no tema _lmapadecluster.map</p>";return ins},googlemaps:{aplicaPropriedades:function(camada){camada.sel="nao";camada.download="nao";camada.AGUARDALEGENDA=false;camada.temporizador="";camada.copia=false;camada.procurar=false;camada.toponimia=false;camada.etiquetas=false;camada.tabela=false;camada.grafico=false;camada.destacar=false;camada.wms=false;camada.classe="NAO";return camada},inicia:function(camada){var nomeScript="markercluster_script",p=i3GEO.configura.locaplic+"/ferramentas/markercluster/googlemaps_js.php",carregaJs="nao",criaLayer;criaLayer=function(){var markercluster,marcas,latLng,marker,n,i;n=markercluster_dados.length;marcas=[];for(i=0;i<n;i++){latLng=new google.maps.LatLng(markercluster_dados[i].lat,markercluster_dados[i].lng);marker=new google.maps.Marker({'position':latLng,icon:{url:markercluster_config.ponto.url,scaledSize:new google.maps.Size(markercluster_config.ponto.width,markercluster_config.ponto.height)}});marcas.push(marker)}markercluster=new MarkerClusterer(i3GeoMap,marcas,{"gridSize":parseInt(camada.plugini3geo.parametros.gridSize,10),"visible":true,"opacity":camada.transparency,"name":camada.name,"styles":markercluster_config.estilos});i3GEO.janela.fechaAguarde("aguardePlugin");i3GEO.eventos.cliquePerm.ativo=false;markercluster.ligaCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].ready_=true;i3GEO.pluginI3geo.OBJETOS[camada.name].redraw();i3GEO.eventos.cliquePerm.ativo=false};markercluster.desLigaCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].resetViewport(true);i3GEO.pluginI3geo.OBJETOS[camada.name].ready_=false;i3GEO.eventos.cliquePerm.ativo=true};markercluster.removeCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].clearMarkers();i3GEO.eventos.cliquePerm.ativo=true};markercluster.atualizaCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].ready_=true;i3GEO.pluginI3geo.OBJETOS[camada.name].redraw();i3GEO.eventos.cliquePerm.ativo=false};i3GEO.pluginI3geo.OBJETOS[camada.name]=markercluster;markercluster_dados=null};if(!$i(nomeScript)){carregaJs="sim"}else{nomeScript=""}p+="?carregajs="+carregaJs+"&layer="+camada.name+"&g_sid="+i3GEO.configura.sid+"&tipoEstilos="+camada.plugini3geo.parametros.tipoEstilos+"&nomevariavel=markercluster_dados&nomevariavelConfig=markercluster_config";i3GEO.util.scriptTag(p,criaLayer,nomeScript)}},openlayers:{aplicaPropriedades:function(camada){camada.sel="nao";camada.download="nao";camada.AGUARDALEGENDA=false;camada.temporizador="";camada.copia=false;camada.procurar=false;camada.toponimia=false;camada.etiquetas=false;camada.tabela=false;camada.grafico=false;camada.destacar=false;camada.wms=false;camada.classe="NAO";return camada},inicia:function(camada,objMapa){var nomeScript="markercluster_script",p=i3GEO.configura.locaplic+"/ferramentas/markercluster/openlayers_js.php",carregaJs="nao",criaLayer;criaLayer=function(){var layerListeners,logMax,logMin,classes,min,max,markercluster,marcas,lonlat,n,i,style,nestilos,intervalo,regra,regras=[];nestilos=markercluster_config.estilos.length;n=markercluster_dados.length;classes=Array();logMax=Math.log(n)/Math.LN10; logMin=Math.log(1)/Math.LN10;intervalo=(logMax-logMin)/nestilos;for(i=0;i<nestilos;i++){if(i==0){classes[i]=logMin}else{classes[i]=classes[i-1]+intervalo}}classes=classes.map(function(x){return Math.pow(10,x)});classes.push(n);regra=new OpenLayers.Rule({filter:new OpenLayers.Filter.Comparison({type:OpenLayers.Filter.Comparison.LESS_THAN,property:"count",value:2}),symbolizer:{externalGraphic:markercluster_config.ponto.url,graphicWidth:markercluster_config.ponto.width,graphicHeight:markercluster_config.ponto.height,graphicYOffset:(markercluster_config.ponto.height/2)*-1}});regras.push(regra);min=2;for(i=0;i<nestilos;i++){max=classes[i+1];regra=new OpenLayers.Rule({filter:new OpenLayers.Filter.Comparison({type:OpenLayers.Filter.Comparison.BETWEEN,property:"count",lowerBoundary:min,upperBoundary:max}),symbolizer:{externalGraphic:markercluster_config.estilos[i].url,graphicWidth:markercluster_config.estilos[i].width,graphicHeight:markercluster_config.estilos[i].height,label:"${count}",labelOutlineWidth:1,fontColor:"#000000",fontOpacity:1,fontSize:"12px"}});regras.push(regra);min=max}style=new OpenLayers.Style(null,{rules:regras});if(!objMapa){objMapa=i3geoOL}layerListeners={featureclick:function(e){if(e.feature.cluster.length>1){objMapa.setCenter([e.feature.geometry.x,e.feature.geometry.y],objMapa.getZoom()+1,false,false)}return false}};markercluster=new OpenLayers.Layer.Vector(camada.name,{renderers:['Canvas','SVG'],strategies:[new OpenLayers.Strategy.AnimatedCluster({distance:parseInt(camada.plugini3geo.parametros.gridSize,10)})],styleMap:new OpenLayers.StyleMap(style),eventListeners:layerListeners});objMapa.addLayer(markercluster);marcas=[];for(i=0;i<n;i++){lonlat=new OpenLayers.LonLat(markercluster_dados[i].lng,markercluster_dados[i].lat);if(i3GEO.Interface.openlayers.googleLike===true){lonlat.transform(new OpenLayers.Projection("EPSG:4326"),new OpenLayers.Projection("EPSG:900913"))}marcas.push(new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Point(lonlat.lon,lonlat.lat)))}markercluster.addFeatures(marcas);i3GEO.janela.fechaAguarde("aguardePlugin");i3GEO.eventos.cliquePerm.ativo=false;markercluster.ligaCamada=function(){i3GEO.eventos.cliquePerm.ativo=false};markercluster.desLigaCamada=function(){i3GEO.eventos.cliquePerm.ativo=true};markercluster.removeCamada=function(){i3GEO.eventos.cliquePerm.ativo=true};markercluster.atualizaCamada=function(){i3GEO.eventos.cliquePerm.ativo=false};i3GEO.pluginI3geo.OBJETOS[camada.name]=markercluster;markercluster_dados=null};if(!$i(nomeScript)){carregaJs="sim"}else{nomeScript=""}p+="?carregajs="+carregaJs+"&layer="+camada.name+"&g_sid="+i3GEO.configura.sid+"&tipoEstilos="+camada.plugini3geo.parametros.tipoEstilos+"&nomevariavel=markercluster_dados&nomevariavelConfig=markercluster_config";i3GEO.util.scriptTag(p,criaLayer,nomeScript)}}},layerkml:{linkAjuda:function(){return i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=3&idajuda=121"},formAdmin:function(config){var parametros,ins="",configDefault='{"plugin":"layerkml","parametros":{"url": ""}}';if(config===""){config=configDefault}config=YAHOO.lang.JSON.parse(config);if(config.plugin!="layerkml"){config=YAHOO.lang.JSON.parse(configDefault)}parametros=config.parametros;ins+="<p>Url do arquivo Kml:<br><input name='url' type='text' value='"+parametros.url+"'/></p>"+"<p>Veja o exemplo utilizado no tema _lmapakml.map</p>";return ins},googlemaps:{aplicaPropriedades:function(camada){camada.sel="nao";camada.download="nao";camada.AGUARDALEGENDA=false;camada.temporizador="";camada.copia=false;camada.procurar=false;camada.toponimia=false;camada.etiquetas=false;camada.tabela=false;camada.grafico=false;camada.destacar=false;camada.wms=false;camada.classe="NAO";return camada},inicia:function(camada){var layerkml=new google.maps.KmlLayer(camada.plugini3geo.parametros.url,{map:i3GeoMap,preserveViewport:true,name:camada.name});i3GEO.janela.fechaAguarde("aguardePlugin");layerkml.ligaCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].setMap(i3GeoMap)};layerkml.desLigaCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].setMap(null)};layerkml.removeCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].setMap(null);i3GEO.pluginI3geo.OBJETOS[camada.name].resetViewport(true)};layerkml.atualizaCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].setMap(null);i3GEO.pluginI3geo.OBJETOS[camada.name].resetViewport(true);i3GEO.pluginI3geo.OBJETOS[camada.name].setMap(i3GeoMap)};i3GEO.pluginI3geo.OBJETOS[camada.name]=layerkml}},openlayers:{aplicaPropriedades:function(camada){camada.sel="nao";camada.download="nao";camada.AGUARDALEGENDA=false;camada.temporizador="";camada.copia=false;camada.procurar=false;camada.toponimia=false;camada.etiquetas=false;camada.tabela=false;camada.grafico=false;camada.destacar=false;camada.wms=false;camada.classe="NAO";return camada},inicia:function(camada,objMapa){var layerkml;url=i3GEO.configura.locaplic+"/classesphp/proxy.php?url="+camada.plugini3geo.parametros.url;layerkml=new OpenLayers.Layer.Vector(camada.name,{displayOutsideMaxExtent:true,displayInLayerSwitcher:false,visibility:true,strategies:[new OpenLayers.Strategy.Fixed()],protocol:new OpenLayers.Protocol.HTTP({url:url,format:new OpenLayers.Format.KML({extractStyles:true,extractAttributes:true,maxDepth:5})})});i3geoOL.addLayer(layerkml);if(!objMapa){objMapa=i3geoOL}layerkml.div.onclick=function(e){var targ="",id,temp,features,n,i,j="",html="";if(!e){e=window.event}if(e.target){targ=e.target}else if(e.srcElement){targ=e.srcElement}if(targ.id){temp=targ.id.split("_Point");if(temp[0]==="OpenLayers_Geometry"){id=targ.id;temp=i3geoOL.getLayer(this.id);features=temp.features;n=features.length;for(i=0;i<n;i++){if(features[i].geometry.id===id){for(j in features[i].attributes){html+=j+": "+features[i].attributes[j]}g=features[i].geometry;i3geoOL.addPopup(new OpenLayers.Popup.FramedCloud("kml",new OpenLayers.LonLat(g.x,g.y),null,html,null,true))}}}}};i3GEO.janela.fechaAguarde("aguardePlugin");i3GEO.eventos.cliquePerm.ativo=false;layerkml.ligaCamada=function(){i3GEO.eventos.cliquePerm.ativo=false};layerkml.desLigaCamada=function(){i3GEO.eventos.cliquePerm.ativo=true};layerkml.removeCamada=function(){i3GEO.eventos.cliquePerm.ativo=true};layerkml.atualizaCamada=function(){i3GEO.eventos.cliquePerm.ativo=false};i3GEO.pluginI3geo.OBJETOS[camada.name]=layerkml}}},parametrossql:{linkAjuda:function(){return i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=3&idajuda=121"},formAdmin:function(config){var n,i,parametros,ins="",configDefault='{"plugin":"parametrossql","parametros":[{"titulo":"","tipo":"input","valores":[],"chave":""},{"titulo":"","tipo":"input","valores":[],"chave":""},{"titulo":"","tipo":"input","valores":[],"chave":""},{"titulo":"","tipo":"input","valores":[],"chave":""}]}';if(config===""){config=configDefault}config=YAHOO.lang.JSON.parse(config);if(config.plugin!="parametrossql"){config=YAHOO.lang.JSON.parse(configDefault)}parametros=config.parametros;n=parametros.length;ins+="<table><tr><td>T&iacute;tulo</td><td>Chave</td><td>Tipo (input ou select)</td><td>Valores</td></tr>";for(i=0;i<n;i++){ins+="<tr><td><input name='titulo' type=text size=20 value='"+parametros[i].titulo+"' /></td>"+"<td><input name='chave' type=text size=20 value='"+parametros[i].chave+"' /></td>"+"<td><input name='tipo' type=text size=20 value='"+parametros[i].tipo+"' /></td> "+"<td><input name='valores' type=text size=20 value='"+parametros[i].valores+"' /></td></tr>"}ins+="</table>"+"<p class='paragrafo'>As chaves s&atilde;o palavras que devem existir no SQL definido em DATA."+"<br>O usu&aacute;rio ir&aacute; fornecer os valores que ser&atilde;o ent&atilde;o utilizados para substituir as chaves de forma din&acirc;mica"+"<br>Ser&aacute; mostrado ao usu&aacute;rio um formul&aacute;rio com op&ccedil;&otilde;es. Cada op&ccedil;&atilde;o conter&aacute; um t&iacute;tulo e um campo de formul&aacute;rio"+"<br>Cada campo de formul&aacute;rio pode ser dos tipos input (para digitar um valor) ou select (caixa de op&ccedil;&otilde;es)."+"<br>Em valores deve ser definida a lista ou o valor default que ser&aacute; mostrado. No caso de listas, utilize v&iacute;rgula para separar os valores.";return ins},parametrosFormAdmin:function(onde){var campo=0,nlinhas=4,ncampos=4,campos=onde.getElementsByTagName("input"),par=[],temp=[],i,j;for(j=0;j<nlinhas;j++){temp=[];for(i=0;i<ncampos;i++){if(campos[campo]){temp.push('"'+campos[campo].name+'" : "'+campos[campo].value+'"')}campo++}par.push("{"+temp.join(",")+"}")}return'{"plugin":"parametrossql","parametros":['+par.join(",")+']}'},inicia:function(camada){i3GEO.janela.fechaAguarde("aguardePlugin");var iniciaform=function(){i3GEOF.parametrossql.iniciaJanelaFlutuante(camada)};i3GEO.util.scriptTag((i3GEO.configura.locaplic+"/ferramentas/parametrossql/dependencias.php"),iniciaform,"parametrossql_script")},googlemaps:{inicia:function(camada){i3GEO.pluginI3geo.parametrossql.inicia(camada)},aplicaPropriedades:function(camada){return camada}},openlayers:{inicia:function(camada){i3GEO.pluginI3geo.parametrossql.inicia(camada)},aplicaPropriedades:function(camada){return camada}}}};
3 \ No newline at end of file 3 \ No newline at end of file
classesjs/compactados/dicionario_ajuda_compacto.js
1 -g_traducao_ajuda={ferramentas:{"1":{titulo:"Filtro de cores",diretorio:"i3geo/ferramentas/tipoimagem",categoria:"1",pt:"O filtro possibilita gerar efeitos de colora&ccedil;&atilde;o no mapa. &Eacute; aplicado sobre a imagem gerada toda vez que o mapa &eacute; alterado. No caso de temas baseados em dados RASTER, os n&iacute;veis de cores obtidos com a ferramenta de identifica&ccedil;&atilde;o n&atilde;o s&atilde;o alterados.",complemento:"Os filtros podem provocar um tempo maior de desenho do mapa, devendo ser utilizados com cuidado. As op&ccedil;&otilde;es s&eacute;pia e tons de cinza utilizam algor&iacute;tmos pr&oacute;prios do i3Geo, j&aacute; as demais, utilizam a op&ccedil;&atilde;o de filtro dispon&iacute;vel com o PHP 5. Mais detalhes <a href='http://www.php.net/manual/pt_BR/function.imagefilter.php' >aqui</a>.",apijs:"i3GEO.mapa.dialogo.tipoimagem()"},"2":{titulo:"Legenda",diretorio:"i3geo/ferramentas/opcoes_legenda",categoria:"1",pt:"A legenda do mapa &eacute; utilizada em v&aacute;rias op&ccedil;&otilde;es do i3Geo e pode tamb&eacute;m ficar inserida na pr&oacute;pria imagem do mapa. A legenda mostra os s&iacute;mbolos utilizados no desenho de cada tema, podendo-se alterar caracter&iacute;sticas como fonte, tamanho dos textos, tamanho dos ret&acirc;ngulos com os s&iacute;mbolos, etc.",complemento:"Antes de aplicar uma altera&ccedil;&atilde;o, voc&ecirc; pode testar os par&acirc;metros escolhidos para avaliar o resultado. No caso dos par&acirc;metros que definem cores, utilize -1,-1,-1 para anular seu efeito.",apijs:"i3GEO.mapa.dialogo.opcoesLegenda()"},"3":{titulo:"Barra de escala",diretorio:"i3geo/ferramentas/opcoes_escala",categoria:"1",pt:"A barra de escala &eacute; uma imagem inserida no mapa que mostra a rela&ccedil;&atilde;o entre uma medida feita no mapa e no mundo real. A barra pode ser modificada especificando-se seu tamanho, n&uacute;mero de divis&otilde;es e cores.",complemento:"Existem dois modelos b&aacute;sicos para a escala: linear e bloco. Para n&atilde;o mostrar a escala no mapa, escolha a 'sem escala' na op&ccedil;&atilde;o estilo.",apijs:"i3GEO.mapa.dialogo.opcoesEscala()"},"4":{titulo:"Tamanho do mapa",diretorio:"i3geo/ferramentas/opcoes_tamanho",categoria:"1",pt:"O tamanho do mapa &eacute; definido automaticamente quando o i3Geo &eacute; aberto, buscando-se otimizar o uso do espa&ccedil;o dispon&iacute;vel no monitor. A op&ccedil;&atilde;o de modifica&ccedil;&atilde;o do tamanho altera apenas o corpo do mapa, for&ccedil;ando o ajuste dos outros elementos, o que nem sempre provoca bons resultados.",complemento:"O ajuste do tamanho do mapa pode ser utilizado para gerar imagens em tamanhos espec&iacute;ficos, principalmente para efeitos de impress&atilde;o. A medida do tamanho utilizado &eacute; pixel, que corresponde ao tamanho m&iacute;nimo de uma c&eacute;lula da imagem do mapa. Para calcular o tamanho do mapa em outra unidade de medida, necess&aacute;rio nos casos em que se deseja imprimir o mapa, deve ser feito considerando-se a resolu&ccedil;&atilde;o de impress&atilde;o desejada.",apijs:"i3GEO.mapa.dialogo.tamanho()"},"5":{titulo:"Cor da sele&ccedil;&atilde;o",diretorio:"i3geo/ferramentas/opcoes_querymap",categoria:"1",pt:"A cor da sele&ccedil;&atilde;o &eacute; utilizada para mostrar no mapa os elementos de um determinado tema que est&atilde;o selecionados. A sele&ccedil;&atilde;o consiste em destacar elementos para uso em determinadas opera&ccedil;&otilde;es, como por exemplo o c&aacute;lculo de entorno (buffer). A defini&ccedil;&atilde;o da cor &eacute; baseada no modelo R,G,B, sendo que cada componente varia de 0 a 255.",complemento:"Ao definir os valores de RGB, separe-os com ','. Quando um tema possuir elementos selecionados, &eacute; inclu&iacute;da uma marca antes do nome do tema na lista de camadas dispon&iacute;veis no mapa.",apijs:"i3GEO.mapa.dialogo.queryMap()"},"6":{titulo:"Cor do fundo",diretorio:"i3geo/ferramentas/opcoes_fundo",categoria:"1",pt:"O corpo do mapa &eacute; constitu&iacute;do por uma imagem gerada com tamanho fixo. Essa imagem possu&iacute; uma cor padr&atilde;o, sobre a qual s&atilde;o sobrepostas as camadas. Por padr&atilde;o, a cor do fundo &eacute; definida como azul. A defini&ccedil;&atilde;o da cor &eacute; baseada no modelo R,G,B, sendo que cada componente varia de 0 a 255.",complemento:"Ao definir os valores de RGB, separe-os com ','. Ao utilizar as op&ccedil;&otilde;es de convers&atilde;o do mapa atual para kml ou WMS, a altera&ccedil;&atilde;o da cor do fundo para 255,255,255 oferece melhores resultados na visualiza&ccedil;&atilde;o dos dados.",apijs:"i3GEO.mapa.dialogo.corFundo()"},"7":{titulo:"Grade de coordenadas",diretorio:"i3geo/ferramentas/gradecoord",categoria:"1",pt:"A grade de coordenadas &eacute; formada por linhas verticais e horizontais representando determinadas latitudes e longitudes. A grade &eacute; um dos elementos principais na defini&ccedil;&atilde;o de um mapa, sendo utilizada na impress&atilde;o ou gera&ccedil;&atilde;o de figuras.",complemento:"Ao adicionar uma grade, &eacute; criado uma nova camada no mapa, possibilitando que mais de uma grade seja criada. Uma grade pode ou n&atilde;o conter os textos indicando os valores de lat long, permitindo que se crie uma grade com espa&ccedil;amento de linhas diferente do espa&ccedil;amento dos textos.",apijs:"i3GEO.mapa.dialogo.gradeCoord()"},"8":{titulo:"Templates",diretorio:"i3geo/ferramentas/template",categoria:"1",pt:"Um template define como os componentes de um mapa s&atilde;o organizados no navegador. O administrador do i3Geo pode criar templates diferentes conforme as necessidades do usu&aacute;rio, sendo que alguns templates s&atilde;o fornecidos com o pr&oacute;prio i3Geo.",complemento:"A cria&ccedil;&atilde;o de templates &eacute; uma tarefa do administrador do i3Geo. Para abrir um template espec&iacute;fico diretamente, utilize a URL que &eacute; mostrada no navegador quando um template &eacute; escolhido.",apijs:"i3GEO.mapa.dialogo.template()"},"9":{titulo:"Temporizador",diretorio:"i3geo/ferramentas/opcoes_autoredesenha",categoria:"1",pt:"O temporizador permite definir um intervalo de tempo em segundos que ir&aacute; disparar o redesenho do mapa.",complemento:"Quando o mapa &eacute; redesenhado, as camadas existentes s&atilde;o lidas novamente para compor o novo mapa. Essa op&ccedil;&atilde;o &eacute; &uacute;til quando existirem camadas no mapa que sofrem atualiza&ccedil;&otilde;es frequentes, como por exemplo o deslocamento de aeronaves, carros ou navios.",apijs:"i3GEO.mapa.dialogo.autoredesenha()"},"10":{titulo:"Salvar mapa",diretorio:"i3geo/ferramentas/salvamapa",categoria:"2",pt:"O mapa que o usu&aacute;rio est&aacute; utilizando pode ser salvo localmente (na m&aacute;quina do usu&aacute;rio) ou no banco de dados no servidor onde o i3Geo est&aacute; instalado. para ser aberto posteriormente. Isso permite que um trabalho seja continuado em outro momento, uma vez que o mapa em uso &eacute; sempre perdido quando o usu&aacute;rio fecha o navegador.",complemento:"Os dados locais que foram criados n&atilde;o s&atilde;o salvos, sendo necess&aacute;rio o seu download quando desejado. Isso afeta as op&ccedil;&otilde;es de inclus&atilde;o de pontos ou convers&atilde;o de elementos selecionados em camadas.",apijs:"i3GEO.mapa.dialogo.salvaMapa()"},"11":{titulo:"Carregar mapa",diretorio:"i3geo/ferramentas/carregamapa",categoria:"2",pt:"O mapa que o usu&aacute;rio est&aacute; utilizando pode ser salvo localmente (na m&aacute;quina do usu&aacute;rio) para ser aberto posteriormente. Isso permite que um trabalho seja continuado em outro momento, uma vez que o mapa em uso &eacute; sempre perdido quando o usu&aacute;rio fecha o navegador.",complemento:"A op&ccedil;&atilde;o de carregar um mapa permite enviar para o servidor, onde o i3Geo est&aacute; instalado, o mapa que foi salvo anteriormente.",apijs:"i3GEO.mapa.dialogo.carregaMapa()"},"12":{titulo:"Converter em WMS",diretorio:"i3geo/ferramentas/convertews",categoria:"2",pt:"Convertendo o mapa atual em um WMS &eacute; poss&iacute;vel utilizar outros softwares para visualizar o mesmo mapa visto no i3Geo. O resultado da convers&atilde;o &eacute; um endere&ccedil;o (url) tempor&aacute;rio, esse endere&ccedil;o deve ser inserido no software que se quer usar e que suporte WMS.",complemento:"WMS &eacute; um padr&atilde;o internacional e n&atilde;o espec&iacute;fico do i3Geo. Utilizando um WMS, pode-se adicionar ao mapa outras camadas de dados, inclusive dados locais, se estiver sendo utilizado um software instalado em um computador local. Conforme as caracter&iacute;sticas de cada servidor onde o i3Geo estiver instalado, o WMS poder&aacute; permanecer dispon&iacute;vel por per&iacute;odos de tempo vari&aacute;veis. Para acessar a lista de WMS dispon&iacute;veis utilize o link <a href='ogc.htm' >ogc.htm</a>.Mais informa&ccedil;&otilde;es em <a href='www.opengeospatial.org' >OGC.</a>",apijs:"i3GEO.mapa.dialogo.convertews()"},"13":{titulo:"Converter em KML",diretorio:"i3geo/ferramentas/convertekml",categoria:"2",pt:"Convertendo o mapa atual em KML &eacute; poss&iacute;vel utilizar outros softwares para visualizar o mesmo mapa visto no i3Geo. O resultado da convers&atilde;o &eacute; um endere&ccedil;o (url) tempor&aacute;rio, esse endere&ccedil;o deve ser inserido no software que se quer usar e que suporte KML. Para usar o KML no Google Earth, utilize a op&ccedil;&atilde;o desse softawre chamada 'adicionar link de rede'.",complemento:"KML &eacute; um padr&atilde;o internacional e n&atilde;o espec&iacute;fico do i3Geo. Conforme as caracter&iacute;sticas de cada servidor onde o i3Geo estiver instalado, o KML poder&aacute; permanecer dispon&iacute;vel por per&iacute;odos de tempo vari&aacute;veis. O KML gerado pelo i3Geo n&atilde;o cont&eacute;m as coordenadas dos elementos de uma camada, mas sim um WMS embutido no KML. Essa estrutura limita o uso do KML mas permite uma maior performance no acesso aos dados. Mais informa&ccedil;&otilde;es em <a href='www.opengeospatial.org' target=blanck >OGC</a>.",apijs:"i3GEO.mapa.dialogo.convertekml()"},"14":{titulo:"Grade de pol&iacute;gonos",diretorio:"i3geo/ferramentas/gradepol",categoria:"3",pt:"Cria uma nova camada no mapa contendo ret&acirc;ngulos com espa&ccedil;amento determinado em x e y. A grade gerada pode ser obtida via download. O espa&ccedil;amento &eacute; definido em d&eacute;cimos de grau e as coordenadas do ponto inicial podem ser definida clicando-se no mapa ou digitando-se o valor.",complemento:"A grade &eacute; &uacute;til para a realiza&ccedil;&atilde;o de an&aacute;lises onde deseja-se calcular ocorr&ecirc;ncias de fen&ocirc;menos pontuais e represent&aacute;-los posteriormente com base em totais. Observe que a &aacute;rea e as dist&acirc;ncias reais de cada pol&iacute;gono n&atilde;o s&atilde;o constantes, uma vez que &eacute; utilizada a proje&ccedil;&atilde;o geogr&aacute;fica na sua gera&ccedil;&atilde;o.",apijs:"i3GEO.analise.dialogo.gradePol()"},"15":{titulo:"Grade de pontos",diretorio:"i3geo/ferramentas/gradepontos",categoria:"3",pt:"Cria uma nova camada no mapa contendo pontos com espa&ccedil;amento determinado em x e y. A grade gerada pode ser obtida via download. O espa&ccedil;amento &eacute; definido em d&eacute;cimos de grau e as coordenadas do ponto inicial podem ser definida clicando-se no mapa ou digitando-se o valor.",complemento:"Observe que as dist&acirc;ncias reais entre cada ponto n&atilde;o s&atilde;o constantes, uma vez que &eacute; utilizada a proje&ccedil;&atilde;o geogr&aacute;fica na sua gera&ccedil;&atilde;o.",apijs:"i3GEO.analise.dialogo.gradePontos()"},"16":{titulo:"Grade de hex&aacute;gonos",diretorio:"i3geo/ferramentas/gradehex",categoria:"3",pt:"Cria uma nova camada no mapa contendo hex&aacute;gonos com espa&ccedil;amento determinado em x e y. A grade gerada pode ser obtida via download. O espa&ccedil;amento &eacute; definido em d&eacute;cimos de grau e as coordenadas do ponto inicial podem ser definida clicando-se no mapa ou digitando-se o valor.",complemento:"A grade &eacute; &uacute;til para a realiza&ccedil;&atilde;o de an&aacute;lises onde deseja-se calcular ocorr&ecirc;ncias de fen&ocirc;menos pontuais e represent&aacute;-los posteriormente com base em totais. Observe que a &aacute;rea e as dist&acirc;ncias reais de cada pol&iacute;gono n&atilde;o s&atilde;o constantes, uma vez que &eacute; utilizada a proje&ccedil;&atilde;o geogr&aacute;fica na sua gera&ccedil;&atilde;o.",apijs:"i3GEO.analise.dialogo.gradeHex()"},"17":{titulo:"Dist&acirc;ncia entre pontos",diretorio:"i3geo/ferramentas/distanciaptpt",categoria:"3",pt:"O c&aacute;lculo de dist&acirc;ncias &eacute; feito de um ponto em rela&ccedil;&atilde;o aos mais pr&oacute;ximos. O ponto origem, deve estar selecionado em um dos temas existentes no mapa. Para restringir a dist&acirc;ncia de busca, &eacute; necess&aacute;rio definir um raio m&aacute;ximo, os pontos considerados ser&atilde;o aqueles dentro desse raio. Em cada linha ligando dois pontos s&atilde;o inseridos atributos que indicam a dist&acirc;ncia e o identificador dos pontos. Esses identificadores s&atilde;o escolhidos com base nas colunas de atributos do tema pontual escolhido.",complemento:"O resultado dos c&aacute;lculos s&atilde;o novas camadas inclu&iacute;das no mapa, sendo uma de linhas e uma com o entorno de busca considerado.",apijs:"i3GEO.analise.dialogo.distanciaptpt()"},"18":{titulo:"Ponto em pol&iacute;gono",diretorio:"i3geo/ferramentas/pontoempoligono",categoria:"3",pt:"Ponto em pol&iacute;gono &eacute; uma opera&ccedil;&atilde;o que resulta em um novo tema contendo o cruzamento entre um tema com pontos e outros com pol&iacute;gonos (ou imagem raster). As informa&ccedil;&otilde;es do tema poligonal (ou raster) ser&atilde;o agregadas &agrave; tabela do novo tema pontual gerado. As colunas da tabela de atributos do novo tema gerado ser&atilde;o nomeadas em uma sequ&ecirc;ncia num&eacute;rica, uma vez que o tema original pode ter colunas com nomes incompat&iacute;veis com o formato shapefile, utilizado na gera&ccedil;&atilde;o do novo tema.",complemento:"Pode-se escolher mais de um tema de origem dos dados, possibilitando agregar informa&ccedil;&otilde;es de temas diferentes. Essa op&ccedil;&atilde;o de cruzamento &eacute; &uacute;til nos casos onde a informa&ccedil;&atilde;o necess&aacute;ria para a an&aacute;lise de um tema encontra-se em outro tema. Por exemplo, &eacute; poss&iacute;vel cruzar um tema com a localiza&ccedil;&atilde;o das cidades com um tema com a delimita&ccedil;&atilde;o de biomas. O resultado permite elaborar estat&iacute;sticas por biomas com base nos dados dos pontos.",apijs:"i3GEO.analise.dialogo.pontoempoligono()"},"19":{titulo:"N&uacute;mero de pontos por pol&iacute;gono",diretorio:"i3geo/ferramentas/nptpol",categoria:"3",pt:"Ponto em pol&iacute;gono &eacute; uma opera&ccedil;&atilde;o que resulta em um novo tema contendo o cruzamento entre um tema com pontos e outro com pol&iacute;gono. O resultado &eacute; um novo tema poligonal, cuja tabela de atributos conter&aacute; um item com o total de pontos em cada pol&iacute;gono",complemento:"O uso dessa ferramenta &eacute; indicado nas situa&ccedil;&otilde;es em que se deseja agregar dados de ocorr&ecirc;ncias pontuais em pol&iacute;gonos, possibilitando a visualiza&ccedil;&atilde;o dos dados por meio de t&eacute;cnicas de classifica&ccedil;&atilde;o e representa&ccedil;&atilde;o coropl&eacute;tica.",apijs:"i3GEO.analise.dialogo.nptPol()"},"20":{titulo:"Distribui&ccedil;&atilde;o de pontos",diretorio:"i3geo/ferramentas/pontosdistri",categoria:"3",pt:"Essa op&ccedil;&atilde;o disponibiliza v&aacute;rias ferramentas de an&aacute;lise de distribui&ccedil;&atilde;o de pontos, a maior parte baseia-se no software estat&iacute;stico <a href='www.r-project.org' target=blanck >R</a>. Algumas das an&aacute;lises geram como resultado imagens RASTER e outras temas lineares e poligonais. A op&ccedil;&atilde;o de relat&oacute;rio gera uma nova p&aacute;gina com v&aacute;rios &iacute;ndices calculados com o software R.",complemento:"A imagem RASTER resultante utiliza a resolu&ccedil;&atilde;o (tamanho do pixel) compat&iacute;vel com a escala utilizada no mapa que est&aacute; sendo visto. A representa&ccedil;&atilde;o utiliza, por padr&atilde;o, tons de cinza. A altera&ccedil;&atilde;o nas cores utilizadas na representa&ccedil;&atilde;o podem melhorar de forma significativa a visualiza&ccedil;&atilde;o dos resultados. Utilize a op&ccedil;&atilde;o de edi&ccedil;&atilde;o da legenda do tema para fazer isso. As an&aacute;lises de distribui&ccedil;&atilde;o de pontos s&atilde;o realizadas com o software R. As an&aacute;lises de densidade de pontos, dist&acirc;ncia entre pontos e kernel, foram implantadas utilizando-se a biblioteca <a href='http://cran.r-project.org/web/packages/spatstat' target=blanck >SPATSTAT</a> do R. As an&aacute;lises de Delaunay e Voronoi utilizam a biblioteca <a href='http://cran.r-project.org/web/packages/deldir' target=blanck >DELDIR</a> e a an&aacute;lise de cluster espacial utiliza o <a href='http://cran.r-project.org/web/packages/spatclus' target=blanck >SPATCLUS</a>. As an&aacute;lises podem consumir muito tempo de processamento, portanto, tenha cuidado com o n&uacute;mero de pontos."},"21":{titulo:"Centr&oacute;ide",diretorio:"i3geo/ferramentas/centroide",categoria:"3",pt:"Os centr&oacute;ides s&atilde;o pontos localizados no centro de massa de uma geometria. Para gerar os centr&oacute;ides, voc&ecirc; precisa selecionar alguns elementos de um tema. Utilize para isso a op&ccedil;&atilde;o de sele&ccedil;&atilde;o ou a tabela de atributos do tema desejado.",complemento:"Dependendo da forma de uma geometria, o ponto calculado pode ser posicionado fora do pol&iacute;gono <a href='http://postgis.refractions.net/documentation/manual-svn/ST_Centroid.html' >exemplo</a>.",apijs:"i3GEO.analise.dialogo.centroide()"},"22":{titulo:"Dissolver",diretorio:"i3geo/ferramentas/dissolve",categoria:"3",pt:"Essa ferramenta transforma v&aacute;rios pol&iacute;gonos em um s&oacute; eliminando as divisas entre eles. Para definir quais os pol&iacute;gonos devem ser unidos uns com os outros &eacute; preciso escolher um item da tabela de atributos do tema. Os pol&iacute;gonos que possu&iacute;rem o mesmo valor ser&atilde;o considerados no mesmo grupo e suas divisas eliminadas. Caso n&atilde;o tenha sido escolhido nenhum item, todas os pol&iacute;gonos ser&atilde;o agrupados em um s&oacute;.",complemento:"O resultado final ser&aacute; um novo tema com pol&iacute;gonos diferentes dos originais e cuja tabela de atributos conter&aacute; apenas o item escolhido. Caso as geometrias originais possuam fronteiras n&atilde;o ajustadas exatamente, o resultado pode apresentar pequenos pol&iacute;gonos internos.",apijs:"i3GEO.analise.dialogo.dissolve()"},"23":{titulo:"An&aacute;lise de geometrias",diretorio:"i3geo/ferramentas/analisageometrias",categoria:"3",pt:"Essa ferramenta permite processar elementos constituintes de um ou mais temas por meio de fun&ccedil;&otilde;es que atuam sobre a geometria que define o elemento. Essas fun&ccedil;&otilde;es possibilitam a realiza&ccedil;&atilde;o de c&aacute;lculos, como &aacute;rea e per&iacute;metro, e cruzamentos entre geometrias, como uni&atilde;o e intersec&ccedil;&atilde;o. Para utilizar a ferramenta, deve-se selecionar cada elemento desejado e convert&ecirc;-los em uma geometria ou conjunto de geometrias. Feito isso, as geometrias convertidas podem ser utilizadas nas opera&ccedil;&otilde;es.",complemento:"Para selecionar elementos, utilize as op&ccedil;&otilde;es de sele&ccedil;&atilde;o dispon&iacute;veis no i3Geo ou ent&atilde;o clique no mapa no elemento desejado ap&oacute;s ativar a ferramenta. A sele&ccedil;&atilde;o &eacute; feita sobre o tema escolhido. Para ver as geometrias capturadas, clique na guia 'listar'. Para usar as op&ccedil;&otilde;es de an&aacute;lise, mostradas na guia 'an&aacute;lise', voc&ecirc; deve marcar as geometrias desejadas na guia 'listar'.",apijs:"i3GEO.analise.dialogo.analisaGeometrias()"},"24":{titulo:"Entorno (buffer)",diretorio:"i3geo/ferramentas/buffer",categoria:"3",pt:"O entorno, ou buffer, &eacute; um pol&iacute;gono que circunda um elemento geogr&aacute;fico em uma dist&acirc;ncia fixa. Para o c&aacute;lculo de dist&acirc;ncia o i3Geo utiliza a proje&ccedil;&atilde;o polic&ocirc;nica. Os atributos do tema alvo s&atilde;o copiados para os pol&iacute;gonos resultantes e uma nova camada &eacute; adicionada ao mapa. Opcionalmente, os pol&iacute;gonos resultantes podem ser unidos como um &uacute;nico.",complemento:"Para gerar o entorno, voc&ecirc; precisa selecionar alguns elementos de um tema. Utilize para isso a op&ccedil;&atilde;o de sele&ccedil;&atilde;o ou a tabela de atributos do tema desejado. O buffer pode ser gerado tamb&eacute;m por meio da ferramenta de identifica&ccedil;&atilde;o.",apijs:"i3GEO.analise.dialogo.buffer()"},"25":{titulo:"Agrupa elementos",diretorio:"i3geo/ferramentas/agrupaelementos",categoria:"3",pt:"Essa ferramenta transforma v&aacute;rios elementos selecionados de um tema em um s&oacute; criando pol&iacute;gonos agrupados. Para definir quais elementos devem ser unidos uns com os outros &eacute; preciso escolher um item da tabela de atributos do tema. Os elementos que possu&iacute;rem o mesmo valor nesse item ser&atilde;o considerados no mesmo grupo e suas divisas eliminadas. Caso n&atilde;o tenha sido escolhido nenhum item, todas os elementos ser&atilde;o agrupados em um s&oacute;.",complemento:"O resultado final ser&aacute; um novo tema com pol&iacute;gonos diferentes dos originais e cuja tabela de atributos conter&aacute; apenas o item escolhido.",apijs:"i3GEO.analise.dialogo.agrupaElementos()"},"26":{titulo:"Upload de arquivo DBF ou CSV",diretorio:"i3geo/ferramentas/uploaddbf",categoria:"4",pt:"Utilize essa op&ccedil;&atilde;o para acrescentar um tema baseado nas coordenadas x e y presentes em uma tabela DBF ou arquivo CSV. Os valores de x e y devem utilizar '.' como separador de decimal. Se as coordenadas estiverem na proje&ccedil;&atilde;o geogr&aacute;fica, os valores dever&atilde;o estar em d&eacute;cimos de grau, com sinal negativo para pontos ao sul do equador e oeste do meridiano 0.",complemento:"O arquivo DBF ou CSV ser&aacute; armazenado no servidor onde o i3geo est&aacute; instalado e permanecer&aacute; l&aacute; at&eacute; que os arquivos tempor&aacute;rios sejam apagados. N&atilde;o utilize essa op&ccedil;&atilde;o se existir alguma restri&ccedil;&atilde;o ao uso do arquivo e se a pol&iacute;tica de acesso aos dados, definidas pela entidade que hospeda o i3geo, n&atilde;o for compat&iacute;vel com essas restri&ccedil;&otilde;es.",apijs:"i3GEO.arvoreDeTemas.dialogo.uploaddbf()"},"27":{titulo:"Upload se shapefile",diretorio:"i3geo/ferramentas/upload",categoria:"4",pt:"Permite que um arquivo do tipo shapefile seja enviado ao servidor e inclu&iacute;do no mapa como uma nova camada. O arquivo shapefile ser&aacute; armazenado no servidor onde o i3geo est&aacute; instalado e permanecer&aacute; l&aacute; at&eacute; que os arquivos tempor&aacute;rios sejam apagados. Um shapefile &eacute; composto basicamente por tr&ecirc;s tipos de arquivos (dbf, shp e shx), todos devem ser submetidos",complemento:"N&atilde;o utilize essa op&ccedil;&atilde;o se existir alguma restri&ccedil;&atilde;o ao uso do arquivo e se a pol&iacute;tica de acesso aos dados, definidas pela entidade que hospeda o i3geo, n&atilde;o for compat&iacute;velcom essas restri&ccedil;&otilde;es.",apijs:"i3GEO.arvoreDeTemas.dialogo.upload()"},"28":{titulo:"Conex&atilde;o WMS",diretorio:"i3geo/ferramentas/conectarwms",categoria:"4",pt:"Uma conex&atilde;o WMS permite que dados dispon&iacute;veis em outros servidores sejam inclu&iacute;dos como camadas no i3Geo. Na ferramenta de conex&atilde;o &eacute; mostrada uma lista de endere&ccedil;os previamente cadastrados, mas pode-se digitar um outro endere&ccedil;o qualquer, desde que seja um servi&ccedil;o no padr&atilde;o WMS. Ap&oacute;s um servi&ccedil;o ser escolhido, a lista de camadas dispon&iacute;veis &eacute; mostrada na guia 'Temas'.",complemento:"Camadas obtidas por meio de conex&atilde;o WMS n&atilde;o permitem que algumas opera&ccedil;&otilde;es dispon&iacute;veis no i3Geo sejam executadas, como por exemplo a altera&ccedil;&atilde;o na legenda, sele&ccedil;&atilde;o, entre outras. Quando um servidor apresentar problemas, a camada n&atilde;o poder&aacute; ser adicionada.",apijs:"i3GEO.arvoreDeTemas.conectarwms.upload()"},"29":{titulo:"Conex&atilde;o GeoRSS",diretorio:"i3geo/ferramentas/conectargeorss",categoria:"4",pt:"Uma conex&atilde;o GeoRSS permite obter a localiza&ccedil;&atilde;o de conte&uacute;dos dispon&iacute;veis no formato RSS com coordenadas geogr&aacute;ficas inclu&iacute;das. Na ferramenta de conex&atilde;o &eacute; mostrada uma lista de endere&ccedil;os previamente cadastrados, mas pode-se digitar um outro endere&ccedil;o qualquer, desde que seja um servi&ccedil;o no padr&atilde;o GeoRSS.",complemento:"A camada adicionada ao mapa baseia-se em um arquivo shapefile criado temporariamente pelo i3Geo. Caso o servi&ccedil;o GeoRSS sofrer altera&ccedil;&otilde;es, como a inclus&atilde;o de um novo item, &eacute; necess&aacute;rio fazer novamente a conex&atilde;o para que a camada reflita a altera&ccedil;&atilde;o.",apijs:"i3GEO.arvoreDeTemas.conectargeorss.upload()"},"30":{titulo:"Nuvem de tags",diretorio:"i3geo/ferramentas/nuvemtags",categoria:"4",pt:"A nuvem de tags &eacute; uma forma de localizar camadas dispon&iacute;veis para ser vistas no mapa. A busca &eacute; feita por meio de tags ou palavras-chave. As tags s&atilde;o registradas pelo administrador do i3Geo para cada tema dispon&iacute;vel na &aacute;rvore de temas.",complemento:"Ao escolher uma tag, &eacute; realizada uma busca dos temas correspondentes e o resultado &eacute; adicionado &agrave; arvore de temas. Opcionalmente, o usu&aacute;rio pode escolher navegar na nuvem 'animada' que mostra as tags como um globo 3d.",apijs:"i3GEO.arvoreDeTemas.dialogo.nuvemTags()"},"31":{titulo:"Procurar tema",diretorio:"classe_arvoredetemas.js",categoria:"4",pt:"Localiza temas dispon&iacute;veis nos menus da &aacute;rvore de adi&ccedil;&atilde;o de temas. Os temas localizados s&atilde;o inclu&iacute;dos em um novo n&oacute; da &aacute;rvore, possibilitando sua adi&ccedil;&atilde;o ao mapa.",complemento:"Para procurar um tema, digite a palavra ou frase no campo de texto e clique no &iacute;cone existente no lado direito. O resultado da busca aparecer&aacute; como um n&oacute; na &aacute;rvore de temas do cat&aacute;logo.",apijs:"i3GEO.arvoreDeTemas.buscaTema(palavra)"},"32":{titulo:"Acesso aos arquivos do servidor",diretorio:"classe_arvoredetemas.js",categoria:"4",pt:"Os usu&aacute;rios cadastrados no i3Geo como editores podem acessar arquivos existentes no servidor onde o i3Geo est&aacute; instalado. A navega&ccedil;&atilde;o permite localizar arquivos shapefile para inclus&atilde;o como uma nova camada no mapa.",complemento:"Por motivos de seguran&ccedil;a, apenas os editores podem utilizar essa op&ccedil;&atilde;o. O cadastramento &eacute; feito pelo administrador do i3Geo, por meio da edi&ccedil;&atilde;o do arquivo ms_configura.php.",apijs:"i3GEO.arvoreDeTemas.montaDir(node)"},"33":{titulo:"&Aacute;rvore de endere&ccedil;os WMS",diretorio:"classe_arvoredetemas.js",categoria:"4",pt:"A conex&atilde;o com servi&ccedil;os WMS (OGC) pode ser feita escolhendo-se o servidor e as camadas dispon&iacute;veis diretamente na &aacute;rvore de temas. A lista de endere&ccedil;os utilizada nesse n&oacute; da &aacute;rvore &eacute; a mesma utilizada na op&ccedil;&atilde;o de conex&atilde;o que &eacute; aberta por meio do &iacute;cone 'Conex&atilde;o MWS'. Quando uma camada for encontrada no WMS, &eacute; mostrado um 'box' ao lado do nome da camada, permitindo sua adi&ccedil;&atilde;o ao mapa.",complemento:"A vantagem do uso da &aacute;rvore &eacute; a velocidade de acesso &agrave; lista de camadas, uma vez que o i3Geo faz um 'cache' do arquivo XML gerado com a lista de camadas dispon&iacute;veis. A &aacute;rvore permite ainda a vis&atilde;o correta da hierarquia de camadas configuradas no WMS, que pode ter v&aacute;rios n&iacute;veis. Cada vez que um usu&aacute;rio tenta acessar um WMS o sucesso ou n&atilde;o da conex&atilde;o &eacute; registrado, assim, &eacute; poss&iacute;vel mostrar ao lado de cada endere&ccedil;o o percentual de tentativas de conex&atilde;o v&aacute;lidas.",apijs:"i3GEO.arvoreDeTemas.listaWMS(node)"},"34":{titulo:"Sistemas",diretorio:"classe_arvoredetemas.js",categoria:"4",pt:"O n&oacute; 'Sistemas' da &aacute;rvore de adi&ccedil;&atilde;o de temas, lista aplicativos especiais que precisam de intera&ccedil;&atilde;o com o usu&aacute;rio para a cria&ccedil;&atilde;o de uma camada.",complemento:"Alguns sistemas s&atilde;o fornecidos com a instala&ccedil;&atilde;o padr&atilde;o do i3Geo, mas cada administrador pode criar seus pr&oacute;prios.",apijs:"i3GEO.arvoreDeTemas.listaSistemas(g_sid,g_locaplic,funcao)"},"35":{titulo:"Procurar ocorr&ecirc;ncias",diretorio:"i3geo/ferramentas/busca",categoria:"5",pt:"Cada tema possui um conjunto de dados descritivos associados aos elementos geogr&aacute;ficos (tabela de atributos). A op&ccedil;&atilde;o 'procurar' realiza uma pesquisa nesses atributos e localiza as correspond&ecirc;ncias. O resultado &eacute; mostrado em uma lista de elementos que permite destacar cada um deles.",complemento:"Para fazer a busca deve-se selecionar em quais itens da tabela de atributos a mesma ser&aacute; feita, podendo-se escolher mais de um. A busca pode ser feita no mapa todo ou apenas na regi&atilde;o vis&iacute;vel do mapa.",apijs:"i3GEO.tema.dialogo.procuraratrib()"},"36":{titulo:"Topon&iacute;mia",diretorio:"i3geo/ferramentas/toponimia",categoria:"5",pt:"A topon&iacute;mia s&atilde;o os textos mostrados no mapa que identificam lugares ou elementos que constituem um tema. Os textos s&atilde;o baseados na tabela de atributos de cada tema, que cont&ecirc;m os dados descritivos de cada elemento.",complemento:"Ao inserir uma topon&iacute;mia, um novo tema &eacute; adicionado ao mapa, podendo ser exclu&iacute;do ou movimentado. Dessa forma &eacute; poss&iacute;vel incluir mais de um tema com a topon&iacute;mia. Ao inserir a topon&iacute;mia deve-se escolher o item da tabela de atributos e, caso necess&aacute;rio, pode-se modificar as op&ccedil;&otilde;es padr&atilde;o de simbologia utilizadas nos textos, como fonte, cor, m&aacute;scara, etc. &Eacute; poss&iacute;vel ainda testar as op&ccedil;&otilde;es antes de concluir a inclus&atilde;o da topon&iacute;mia.",apijs:"i3GEO.tema.dialogo.toponimia()"},"37":{titulo:"Etiquetas",diretorio:"i3geo/ferramentas/etiqueta",categoria:"5",pt:"As etiquetas s&atilde;o textos descritivos mostrados no mapa quando o mouse &eacute; estacionado por alguns instantes sobre um elemento ou utilizando a ferramenta etiqueta presente na barra de bot&otilde;es. Cada tema pode ter uma etiqueta ativa, sendo esta baseada em um item da tabela de atributos do tema.",complemento:"Para ver as etiquetas, ative a opera&ccedil;&atilde;o de identifica&ccedil;&atilde;o.",apijs:"i3GEO.tema.dialogo.etiquetas()"},"38":{titulo:"Filtro",diretorio:"i3geo/ferramentas/filtro",categoria:"5",pt:"Filtrar um tema significa definir um crit&eacute;rio para que um determinado elemento seja mostrado. Esse crit&eacute;rio &eacute; baseado nos dados descritivos (tabela de atributos). Um filtro &eacute; uma express&atilde;o que relaciona os itens da tabela de atributos e seus valores, por exemplo, 'UF' = 'SP', onde 'UF' &eacute; o nome da coluna (item) e 'SP' &eacute; o valor. As express&otilde;es podem ser definidas por meio de um 'construtor' (guia default da ferramenta) ou digitando-se diretamente a express&atilde;o. Veja <a href='http://mapserver.org/mapfile/expressions.html#mapserver-expressions' >como</a>.",complemento:"Cada tema pode ter apenas um filtro. O filtro apenas deixa de mostrar os dados no mapa, ou seja, os dados continuam na tabela de atributos. Antes de aplicar um filtro, pode-se test&aacute;-lo para verificar seu efeito. O construtor de express&otilde;es permite a utiliza&ccedil;&atilde;o de mais de uma coluna, para isso, deve-se adicionar novas linhas e escolher um conector, como 'e' ou 'ou'. Por exemplo, em um tema com os munic&iacute;pios pode-se mostrar apenas aqueles de determinados estados escolhendo-se 'colun' = 'valor' 'e' 'coluna' = 'valor'.",apijs:"i3GEO.tema.dialogo.filtro()"},"39":{titulo:"Tabela",diretorio:"i3geo/ferramentas/tabela",categoria:"5",pt:"Cada tema possui informa&ccedil;&otilde;es descritivas associadas a cada elemento, esses dados s&atilde;o conhecidos como 'tabela de atributos'. Essa op&ccedil;&atilde;o mostra os dados existentes na tabela e permite a realiza&ccedil;&atilde;o de uma s&eacute;rie de opera&ccedil;&otilde;es diretamente sobre os registros existentes, como por exemplo, sele&ccedil;&atilde;o, zoom, relat&oacute;rios e gr&aacute;ficos.",complemento:"Como o n&uacute;mero de registros de um tema pode ser grande, os dados s&atilde;o mostrados em p&aacute;ginas. Ao lado de cada registro existe uma caixa que permite marcar os registros. Os registros marcados s&atilde;o mostrados na guia 'Marcados'. As opera&ccedil;&otilde;es dispon&iacute;veis nessa ferramenta atuam sobre todos os elementos da tabela ou sobre os selecinados. Para selecionar os elementos marcados, utilize a op&ccedil;&atilde;o 'Ativa sele&ccedil;&atilde;o' na guia 'Marcados'.",apijs:"i3GEO.tema.dialogo.tabela()"},"40":{titulo:"Gr&aacute;ficos",diretorio:"i3geo/ferramentas/graficotema",categoria:"5",pt:"Permite inserir gr&aacute;ficos em cada elemento que comp&otilde;e uma camada para representar valores associados. Para a montagem de cada gr&aacute;fico &eacute; necess&aacute;rio selecionar um tema que contenha os dados que ser&atilde;o representados. Os dados s&atilde;o aqueles que encontram-se na tabela de atributos do tema.",complemento:"Ap&oacute;s selecionado o tema, &eacute; mostrada uma lista com os itens existentes na tabela de atributos. Escolha os itens que ser&atilde;o utilizados no gr&aacute;fico clicando no box que aparece na lista de itens. Cada item ir&aacute; compor uma fatia do gr&aacute;fico. Ao lado do item, &eacute; mostrada a cor que ser&aacute; utilizada na representa&ccedil;&atilde;o. Cada cor &eacute; definida em RGB. Na guia 'propriedades' &eacute; poss&iacute;vel definir propriedades de representa&ccedil;&atilde;o de cada gr&aacute;fico. As defini&ccedil;&otilde;es afetar&atilde;o a forma de cada gr&aacute;fico. Cada gr&aacute;fico adicionado &eacute; inclu&iacute;do no mapa como um novo tema.",apijs:"i3GEO.tema.dialogo.graficotema()"},"41":{titulo:"Editor de legenda",diretorio:"i3geo/ferramentas/legenda",categoria:"5",pt:"A legenda de um tema consiste nas defini&ccedil;&otilde;es dos s&iacute;mbolos utilizados na representa&ccedil;&atilde;o de cada elemento. Al&eacute;m dos s&iacute;mbolos, uma das propriedades da legenda &eacute; o tipo de classifica&ccedil;&atilde;o utilizado na representa&ccedil;&atilde;o dos dados, por exemplo, pode-se mostrar todos os elementos com um &uacute;nico s&iacute;mbolo ou agrupar elementos e utilizar s&iacute;mbolos diferentes para cada grupo. No editor, a guia 'Classes' permite definir a classifica&ccedil;&atilde;o e na guia principal s&atilde;o mostrados os s&iacute;mbolos. Quando um s&iacute;mbolo &eacute; clicado, &eacute; ativada a guia que permite definir as caracter&iacute;sticas do s&iacute;mbolo.",complemento:"As classes s&atilde;o definidas por meio de express&otilde;es que definem um tipo de filtro que ser&aacute; usado para definir que elementos fazem parte de cada classe. O editor possui alguns m&eacute;todos para defini&ccedil;&atilde;o autom&aacute;tica das classes, mas pode-se incluir classes livremente digitando-se o filtro. Veja <a href='http://mapserver.org/mapfile/class.html' >como</a>.",apijs:"i3GEO.tema.dialogo.editaLegenda()"},"42":{titulo:"Opacidade",diretorio:"i3geo/classesjs/classe_tema.js",categoria:"5",pt:"Essa op&ccedil;&atilde;o modifica a opacidade de um tema permitindo ajustar a visibilidade dos elementos em rela&ccedil;&atilde;o aos outros temas. A opacidade varia de 0 a 100, sendo 100 o mais opaco.",complemento:"",apijs:"i3GEO.tema.mudatransp(idtema)"},"43":{titulo:"Altera nome",diretorio:"i3geo/classesjs/classe_tema.js",categoria:"5",pt:"Essa op&ccedil;&atilde;o permite alterar o nome do tema. O novo nome ser&aacute; mostrado no mapa e tamb&eacute;m na legenda.",complemento:"",apijs:"i3GEO.tema.mudanome(idtema)"},"44":{titulo:"Mostrar em janela",diretorio:"i3geo/classesjs/classe_navega.js",categoria:"5",pt:"Inclui um ret&acirc;ngulo na tela que segue a movimenta&ccedil;&atilde;o do mouse e mostra o tema escolhido. Possibilita destacar a visualiza&ccedil;&atilde;o de uma camada sobre as outras.",complemento:"",apijs:"i3GEO.navega.destacaTema.inicia()"},"45":{titulo:"Zoom para o tema",diretorio:"i3geo/classesjs/classe_navega.js",categoria:"5",pt:"Ajusta a visualiza&ccedil;&atilde;o do mapa alterando a extens&atilde;o geogr&aacute;fica para mostrar todos os componentes de um determinado tema.",complemento:"Essa op&ccedil;&atilde;o &eacute; mostrada como um pequeno &iacute;cone localizado logo abaixo de um tema na &aacute;rvore de temas.",apijs:"i3GEO.tema.zoom(idtema)"},"46":{titulo:"Farol indicativo de escala",diretorio:"",categoria:"5",pt:"Identifica se o tema possu&iacute; uma escala compat&iacute;vel ou n&atilde;o com a escala do mapa. O farol &eacute; um &iacute;cone com cores que variam entre verde, amarelo e vermelho, conforme a escala do mapa atual. A compatibilidade da escala &eacute; definida em fun&ccedil;&atilde;o da escala da fonte dos dados cartogr&aacute;ficos utilizada pelo tema.",complemento:"Essa op&ccedil;&atilde;o &eacute; mostrada como um pequeno &iacute;cone localizado logo abaixo de um tema na &aacute;rvore de camadas."},"47":{titulo:"Alterar ordem de desenho",diretorio:"i3geo/classesjs/classe_tema.js",categoria:"5",pt:"Os temas dispon&iacute;veis no mapa s&atilde;o desenhados como camadas que se sobrep&otilde;em para compor o mapa. Como uma pilha, as camadas seguem uma ordem de desenho, sendo que na lista de temas o primeiro que &eacute; mostrado &eacute; o &uacute;ltimo desenhado. A ordem da pilha pode ser alterada clicando-se e arrastando um tema (clicando no nome do tema) ou por meio de &iacute;cones que movem para cima ou para baixo apenas uma posi&ccedil;&atilde;o.",complemento:"Quando um novo tema &eacute; adicionado ao mapa, o i3Geo ir&aacute; posicion&aacute;-lo procurando evitar alguns tipos de sobreposi&ccedil;&atilde;o. Temas RASTER ou poligonais s&atilde;o sempre inseridos abaixo dos temas lineares e pontuais.",apijs:"i3GEO.tema.sobe(idtema) ou i3GEO.tema.desce(idtema)"},"48":{titulo:"Excluir tema",diretorio:"i3geo/classesjs/classe_tema.js",categoria:"5",pt:"Exclui um tema da lista de temas dispon&iacute;veis no mapa atual. A exclus&atilde;o pode ser feita arrastando-se o tema para o &iacute;cone da 'lixeira' ou ent&atilde;o por meio de um &iacute;cone mostrado abaixo de cada tema.",complemento:"Temas locais criados pelo usu&aacute;rio n&atilde;o podem ser recuperados ap&oacute;s uma exclus&atilde;o. J&aacute; os temas que constam na lista '+Temas' poder&atilde;o ser adicionados ao mapa novamente.",apijs:"i3GEO.tema.exclui(idtema)"},"48a":{titulo:"Selecionar elementos",diretorio:"i3geo/ferramentas/selecao.js",categoria:"5",pt:"Selecionar elementos consiste em destacar um sub-conjunto do conjunto total de componentes de um tema. Algumas opera&ccedil;&otilde;es do i3Geo atuam sobre o conjunto selecionado, como buffer, exporta&ccedil;&atilde;o, etc. Os elementos selecionados s&atilde;o mostrados em uma cor especial, diferente daquela definida na legenda do tema. Os temas que possuem elementos selecionados s&atilde;o marcados com um &iacute;cone circular mostrado junto ao nome na lista de camadas. A janela de op&ccedil;&otilde;es para sele&ccedil;&atilde;o, al&eacute;m das op&ccedil;&otilde;es de tipo de opera&ccedil;&atilde;o, permite gerar gr&aacute;ficos din&acirc;micos e criar um novo tema com base nos elementos selecionados.",complemento:"Existem v&aacute;rias maneiras de fazer a sele&ccedil;&atilde;o: clicando-se sobre cada elemento, desenhando-se um ret&acirc;ngulo ou pol&iacute;gono no mapa, definindo-se uma express&atilde;o que ir&aacute; buscar os elementos aderentes (com base na tabela de atributos) ou cruzando-se um tema com outro. Tendo-se um conjunto j&aacute; definido, novos elementos podem ser acrescentados ou retirados da sele&ccedil;&atilde;o.",apijs:"i3GEO.selecao.janelaOpcoes()"},"49":{titulo:"Impress&atilde;o",diretorio:"i3geo/ferramentas/imprimir",categoria:"6",pt:"Utilize essa op&ccedil;&atilde;o para gerar uma p&aacute;gina espec&iacute;fica para impress&atilde;o do mapa. Na janela de op&ccedil;&otilde;es deve-se escolher o tipo de p&aacute;gina desejada, que pode variar desde p&aacute;ginas padronizadas em PDF at&eacute; aplicativos onde o mapa &eacute; montado de forma interativa.",complemento:"",apijs:"i3GEO.configura.funcoesBotoes"},"50":{titulo:"C&aacute;lculo de dist&acirc;ncias",diretorio:"i3geo/classesjs/classe_analise.js",categoria:"6",pt:"Ativa o modo de c&aacute;lculo de dist&acirc;ncias, permitindo que a cada clique do mouse sobre o mapa seja feito o c&aacute;lculo da dist&acirc;ncia em rela&ccedil;&atilde;o ao ponto anterior e em rela&ccedil;&atilde;o a todos os pontos clicados. O resultado &eacute; mostrado em uma janela aberta sobre o mapa. Em cada ponto &eacute; tamb&eacute;m desenhado um c&iacute;rculo representando a dist&acirc;ncia at&eacute; o &uacute;ltimo ponto.",complemento:"O c&aacute;lculo de dist&acirc;ncia &eacute; aproximado e depende da escala do mapa (quanto mais detalhado o mapa melhor). A f&oacute;rmula de c&aacute;lculo &eacute; baseada em <a href='http://www.movable-type.co.uk/scripts/latlong.html' >http://www.movable-type.co.uk/scripts/latlong.html</a>. Para parar o c&aacute;lculo basta clicar sobre um dos pontos j&aacute; inseridos.",apijs:"i3GEO.configura.funcoesBotoes"},"51":{titulo:"C&aacute;lculo de &aacute;rea",diretorio:"i3geo/classesjs/classe_analise.js",categoria:"6",pt:"Ativa o modo de c&aacute;lculo de &aacute;rea, permitindo que seja desenhado um pol&iacute;gono sobre o mapa para c&aacute;lculo da &aacute;rea. O pol&iacute;gono &eacute; criado clicando-se no mapa no local onde se quer criar um v&eacute;rtice.",complemento:"O c&aacute;lculo de dist&acirc;ncia &eacute; aproximado e depende da escala do mapa (quanto mais detalhado o mapa melhor). O c&aacute;lculo &eacute; baseado no tamanho do pixel do mapa, calculado ao iniciar a ferramenta. Esse c&aacute;lculo baseia-se na proje&ccedil;&atilde;o polic&ocirc;nica com par&acirc;metros definidos em fun&ccedil;&atilde;o da extens&atilde;o geogr&aacute;fica do mapa atual.",apijs:"i3GEO.configura.funcoesBotoes"},"52":{titulo:"Alterar interface",diretorio:"i3geo/classesjs/classe_interface.js",categoria:"6",pt:"O i3Geo pode usar diferentes interfaces para manipular a navega&ccedil;&atilde;o sobre o mapa. Por padr&atilde;o, &eacute; utilizada uma interface pr&oacute;pria, desenvolvida para o i3Geo, mas pode-se optar pelo uso do OpenLayers, Google Maps ou Google Earth.",complemento:"As funcionalidade do i3Geo s&atilde;o afetadas pela interface escolhida, sendo que algumas opera&ccedil;&otilde;es diferem de uma para outra. A maior parte das funcionalidades s&atilde;o implementadas apenas na interface padr&atilde;o. No caso do Google Earth , que permite a visualiza&ccedil;&atilde;o do mapa em 3d, &eacute; necess&aacute;rio a instala&ccedil;&atilde;o de um plugin espec&iacute;fico.",apijs:"i3GEO.configura.oMenuData"},"55":{titulo:"Extens&atilde;o geogr&aacute;fica",diretorio:"i3geo/ferramentas/mostraexten",categoria:"7",pt:"A extens&atilde;o geogr&aacute;fica &eacute; a abrang&ecirc;ncia espacial do mapa definido por meio de uma lista de coordenadas em d&eacute;cimos de grau e na ordem menor longitude, menor latitude, maior longitude, maior latitude. A extens&atilde;o geogr&aacute;fica do mapa pode ser alterada digitando-se novas coordenadas por meio dessa ferramenta.",complemento:"O resultado final do mapa quando se altera a extens&atilde;o pode n&atilde;o corresponder as espectativas, uma vez que o mapa &eacute; um ret&acirc;ngulo cujas propor&ccedil;&otilde;es podem n&atilde;o ser compat&iacute;veis com as coordenadas digitadas.",apijs:"i3GEO.mapa.dialogo.mostraExten"},"56":{titulo:"Deslocamento do mapa - PAN",diretorio:"",categoria:"7",pt:"O deslocamento do mapa do tipo PAN &eacute; realizado de forma interativa, deve-se clicar em um ponto do mapa e arrastar o mouse para a nova posi&ccedil;&atilde;o. O resultado &eacute; o deslocamento da extens&atilde;o geogr&aacute;fica do mapa movendo-se o ponto inicial at&eacute; o segundo ponto.",complemento:"Caso o primeiro ponto seja muito pr&oacute;ximo do segundo, ou se o usu&aacute;rio clicar e soltar o mouse, o ponto clicado &eacute; movido para o centro do mapa.",apijs:""},"57":{titulo:"Deslocamento direcional",diretorio:"i3geo/classesjs/classe_navega.js",categoria:"7",pt:"O deslocamento direcional movimenta o mapa para o norte, sul, leste ou oeste uma dist&acirc;ncia fixa.",complemento:"Essa forma de deslocamento exige que o usu&aacute;rio clique apenas uma vez em um bot&atilde;o para realizar o deslocamento.",apijs:"i3GEO.navega.panFixo(locaplic,sid,direcao,w,h,escala)"},"58":{titulo:"Rosa dos ventos",diretorio:"i3geo/classesjs/classe_navega.js",categoria:"7",pt:"A rosa dos ventos &eacute; uma imagem mostrada na posi&ccedil;&atilde;o atual do mouse e que possibilita deslocar, aproximar ou afastar o mapa. A rosa aparece quando o mouse &eacute; estacionado por alguns instantes sobre o mapa e permite movimentar o mapa sem a necessidade de abandonar a ferramenta escolhida no momento.",complemento:"A rosa dos ventos &eacute; opcional e por padr&atilde;o n&atilde;o fica habilitada.",apijs:"i3GEO.navega.mostraRosaDosVentos() e i3GEO.eventos.MOUSEPARADO"},"59":{titulo:"Aproximar",diretorio:"i3geo/classesjs/classe_navega.js",categoria:"7",pt:"Aproxima o mapa tendo como refer&ecirc;ncia o ponto central. A aproxima&ccedil;&atilde;o ocorre por um fator fixo, modificando a escala atual.",complemento:"",apijs:"i3GEO.navega.zoomin()"},"60":{titulo:"Afastar",diretorio:"i3geo/classesjs/classe_navega.js",categoria:"7",pt:"Afasta o mapa tendo como refer&ecirc;ncia o ponto central. O afastamento ocorre por um fator fixo, modificando a escala atual.",complemento:"",apijs:"i3GEO.navega.zoomout()"},"61":{titulo:"Aproximar regi&atilde;o",diretorio:"i3geo/classesjs/classe_navega.js",categoria:"7",pt:"Ao ativar essa op&ccedil;&atilde;o deve-se desenhar um ret&acirc;ngulo sobre o mapa abrangendo a regi&atilde;o que se quer enquadrar a &aacute;rea de visualiza&ccedil;&atilde;o. O resultado &eacute; a aproxima&ccedil;&atilde;o do mapa em uma determinada regi&atilde;o.",complemento:"Para desenhar o ret&acirc;ngulo deve-se clicar em um ponto do mapa e arrastar o mouse. A medida que isso ocorre, &eacute; desenhado um ret&acirc;ngulo sobre o mapa.",apijs:"i3GEO.navega.zoomBox"},"62":{titulo:"Definir escala",diretorio:"i3geo/classesjs/classe_navega.js",categoria:"7",pt:"A altera&ccedil;&atilde;o da escala do mapa &eacute; uma das formas de aproximar ou afastar a visualiza&ccedil;&atilde;o. Nessa op&ccedil;&atilde;o, para alterar a escala deve-se digitar o novo valor do denominador da escala que ser&aacute; aplicado.",complemento:"",apijs:"i3GEO.navega.aplicaEscala(locaplic,sid,escala)"},"63":{titulo:"Centralizar em um ponto",diretorio:"i3geo/classesjs/classe_navega.js",categoria:"7",pt:"Essa op&ccedil;&atilde;o desloca o centro do mapa atual para um determinado ponto com coordenadas conhecidas. A escala do mapa n&atilde;o &eacute; alterada.",complemento:"Para usar essa opera&ccedil;&atilde;o, digite as coordenadas desejadas nos campos de formul&aacute;rio utilizados para mostrar a coordenada geogr&aacute;fica atual do mouse.",apijs:"i3GEO.navega.zoomponto(locaplic,sid,x,y)"},"64":{titulo:"Aproximar ou afastar din&acirc;mico",diretorio:"i3geo/classesjs/classe_barradebotoes.js",categoria:"7",pt:"A opera&ccedil;&atilde;o de zoom din&acirc;mico permite afastar ou aproximar o mapa por meio de um controle deslizante. O usu&aacute;rio move um controle para cima ou para baixo e ao soltar o mouse o mapa &eacute; modificado.",complemento:"",apijs:"i3GEO.barraDeBotoes.ativaBarraDeZoom()"},"65":{titulo:"Zoom pr&oacute;ximo ou anterior",diretorio:"i3geo/classesjs/classe_gadgets.js",categoria:"7",pt:"Ao navegar pelo mapa as posi&ccedil;&otilde;es obtidas s&atilde;o armazenadas em mem&oacute;ria. Essa op&ccedil;&atilde;o permite reestabelecer a abrang&ecirc;ncia espacial anterior ou posterior, se houver, de forma sequencial.",complemento:"Essa opera&ccedil;&atilde;o n&atilde;o restaura a situa&ccedil;&atilde;o do mapa apenas modifica a abrang&ecirc;ncia espacial com base nos temas vis&iacute;veis no mapa atual.",apijs:"i3GEO.gadgets.mostraHistoricoZoom(id)"},"66":{titulo:"Mapa de refer&ecirc;ncia",diretorio:"i3geo/classesjs/classe_maparef.js",categoria:"7",pt:"O mapa de refer&ecirc;ncia consiste em uma imagem com escala diferente do corpo do mapa atual, permitindo que a abrang&ecirc;ncia geogr&aacute;fica atual seja mostrada em um contexto mais amplo. A navega&ccedil;&atilde;o pode ser feito sobre o mapa de refer&ecirc;ncia, deslocando-se o ret&acirc;ngulo que mostra a abrang&ecirc;ncia atual para um outro local.",complemento:"O mapa de refer&ecirc;ncia pode ser fixo ou n&atilde;o. O mapa de refer&ecirc;ncia din&acirc;mico pode ser montado tendo como base as camadas vistas no mapa atual. Nesse caso, a topon&iacute;mia especificada e a simbologia podem gerar mapas com pouca visibilidade.",apijs:"i3GEO.maparef"},"67":{titulo:"Extens&atilde;o total",diretorio:"",categoria:"7",pt:"Ao iniciar o mapa, a primeira extens&atilde;o geogr&aacute;fica utilizada para mostrar o mapa &eacute; armazenada em mem&oacute;ria. Essa op&ccedil;&atilde;o permite aplicar essa extens&atilde;o ao mapa atual, restaurando a abrang&ecirc;ncia geogr&aacute;fica inicial.",complemento:"A aplica&ccedil;&atilde;o da extens&atilde;o total n&atilde;o restaura a situa&ccedil;&atilde;o inicial de camadas ligadas e desligadas, mantendo a situa&ccedil;&atilde;o do mapa atual.",apijs:""},"68":{titulo:"Google Maps",diretorio:"i3geo/ferramentas/googlemaps",categoria:"7",pt:"Essa op&ccedil;&atilde;o mostra em uma janela interna o mapa produzido pelo Google Maps. A janela &eacute; sincronizada com o mapa mostrado no i3Geo, permitindo que a navega&ccedil;&atilde;o em um ou noutro modifique os dois mapas.",complemento:"Al&eacute;m das op&ccedil;&otilde;es de tipo de mapa &eacute; poss&iacute;vel tra&ccedil;ar rotas no Google Maps e mostrar nessa janela o mapa visto no i3Geo. Ao tra&ccedil;ar uma rota, o resultado &eacute; inclu&iacute;do no i3Geo como uma nova camada, que pode inclusive ser obtida via download. Quando o mapa do i3Geo &eacute; inclu&iacute;do no mapa do Google, os pol&iacute;gonos com s&iacute;mbolos n&atilde;o transparentes podem encubrir o mapa, nesse caso, altere a legenda das camadas para permitir a visualiza&ccedil;&atilde;o correta.",apijs:"i3GEO.configura.funcoesBotoes a chave de acesso da API do Google Maps &eacute; definida em ms_configura.php"},"69":{titulo:"Visualiza&ccedil;&atilde;o 3d",diretorio:"i3geo/ferramentas/3d",categoria:"7",pt:"A visualiza&ccedil;&atilde;o em 3d gera um arquivo no formato 'wrl' considerando a abrang&ecirc;ncia espacial do mapa atual. Para a gera&ccedil;&atilde;o do modelo &eacute; utilizado um mapa de fundo com a representa&ccedil;&atilde;o da altimetria, esse mapa &eacute; obtido por meio de um servi&ccedil;o WMS baseado nos dados SRTM.",complemento:"Para ver o modelo 3d &eacute; necess&aacute;rio a instala&ccedil;&atilde;o de um plugin no navegador, ou ent&atilde;o, deve-se salvar o arquivo para visualiza&ccedil;&atilde;o em algum outro software. O modelo 3d &eacute; simplificado, permitindo apenas a navega&ccedil;&atilde;o b&aacute;sica.",apijs:"i3GEO.configura.funcoesBotoes"},"70":{titulo:"Identificar",diretorio:"i3geo/ferramentas/identifica",categoria:"8",pt:"Com essa ferramenta ativa pode-se clicar em um elemento do mapa e visualizar os atributos associados. Quando a janela &eacute; aberta, deve-se escolher o tema que ser&aacute; identificado em uma lista. Al&eacute;m dos temas, s&atilde;o mostrados alguns sistemas especiais que permitem a busca de dados em fun&ccedil;&atilde;o da coordenada clicada, por exemplo, &eacute; poss&iacute;vel abrir uma p&aacute;gina do IBGE com informa&ccedil;&otilde;es sobre munic&iacute;pios.",complemento:"Alguns temas permitem a identifica&ccedil;&atilde;o sem o clique no mapa, os dados s&atilde;o mostrados quando o mouse &eacute; estacionado sobre um ponto no mapa. Em 'Buscadores web' &eacute; mostrada uma lista de sistemas que permitem a busca de dados por meio de coordenadas. A guia propriedades permite definir a toler&acirc;ncia de busca, ou seja, quantos pixels ser&atilde;o considerados entorno do ponto clicado.",apijs:"i3GEO.configura.funcoesBotoes"},"71":{titulo:"Busca r&aacute;pida",diretorio:"i3geo/ferramentas/buscarapida",categoria:"8",pt:"Essa op&ccedil;&atilde;o permite localizar dados com base em palavras ou frases, por exemplo 'S&atilde;o Paulo'. A busca &eacute; feita nos temas do mapa ou em um Web Service cujo banco de dados pode variar em cada instala&ccedil;&atilde;o do i3Geo. Quando um lugar &eacute; encontrado, uma nova janela &eacute; mostrada na tela com o resultado. Clicando-se nos links dispon&iacute;veis, o mapa &eacute; deslocado para o lugar definido e uma nova camada &eacute; adicionada ao mapa.",complemento:"A busca &eacute; feita tamb&eacute;m no Web Service do Google, permitindo a localiza&ccedil;&atilde;o de endere&ccedil;os. Utilize as propriedades para definir se a busca ser&aacute; feita ou n&atilde;o nos temas existentes no mapa. Apenas os temas que tiverem sido preparados pelo administrador do i3Geo pode ser pesquisado.",apijs:"i3GEO.gadgets.mostraBuscaRapida(id)",gadget:"ferramentas/buscarapida/gadget.php?palavra=tanabi&locaplic=../../../i3geo"},"72":{titulo:"Localizar IP",diretorio:"i3geo/classesjs/classe_navega.js",categoria:"8",pt:"Ao clicar nesse &iacute;cone &eacute; mostrado um ponto no mapa identificando a coordenada geogr&aacute;fica da localiza&ccedil;&atilde;o do usu&aacute;rio.",complemento:"Essa fun&ccedil;&atilde;o &eacute; baseada em uma tabela de correspond&ecirc;ncia entre o n&uacute;mero IP e localidades. A localiza&ccedil;&atilde;o ser&aacute; mais precisa quanto for essa tabela de correspond&ecirc;ncia.",apijs:"i3GEO.navega.zoomIP()"},"73":{titulo:"Wikipedia",diretorio:"i3geo/ferramentas/wiki",categoria:"8",pt:"A <a href='http://pt.wikipedia.org/wiki/P%C3%A1gina_principal' target='_blank' >Wikipedia</a> &eacute; uma base de conhecimento livre. Alguns dos artigos existentes s&atilde;o georreferenciados, permitindo sua busca por regi&atilde;o geogr&aacute;fica. Essa ferramenta abre uma janela sobre o mapa procurando resultados na Wikipedia para a regi&atilde;o de abrang&ecirc;ncia do mapa.",complemento:"Para maior performance, o mapa deve estar na escala 1:500.000 ou maior. Ao navegar no mapa, a lista de lugares &eacute; atualizada.",apijs:"i3GEO.configura"},"74":{titulo:"Localizar fotos",diretorio:"i3geo/ferramentas/buscafotos",categoria:"8",pt:"Existem v&aacute;rios servi&ccedil;os na Internet que permitem cadastrar e visualizar fotos georreferenciadas. Essa ferramenta procura fotos para a regi&atilde;o de abrang&ecirc;ncia do mapa nos servi&ccedil;os Panor&acirc;mio, Flicker e Locr.",complemento:"Para maior performance, o mapa deve estar na escala 1:150.000 ou maior.Ao passar o mouse sobre a foto, a sua localiza&ccedil;&atilde;o &eacute; mostrada no mapa.",apijs:"i3GEO.configura"},"75":{titulo:"Conflu&ecirc;ncias",diretorio:"i3geo/ferramentas/confluence",categoria:"8",pt:"O projeto 'Confluences' registra expedi&ccedil;&otilde;es aos lugares na terra cuja coordenada geogr&aacute;fica corresponde ao cruzamento de 1 grau por 1 grau. Essa ferramenta permite localizar as conflu&ecirc;ncias no mapa que est&aacute; sendo visto e abrir a p&aacute;gina correspondente.",complemento:"O mapa deve estar pelo menos na escala 1:2.000.000 para que as conflu&ecirc;ncias sejam mostradas.",apijs:"i3GEO.navega.dialogo.confluence"},"76":{titulo:"Conex&atilde;o WMS-T",diretorio:"i3geo/ferramentas/wmstime",categoria:"4",pt:"Uma conex&atilde;o WMS-T permite que dados dispon&iacute;veis em outros servidores sejam inclu&iacute;dos como camadas no i3Geo. Na ferramenta de conex&atilde;o &eacute; mostrada uma lista de endere&ccedil;os previamente cadastrados, mas pode-se digitar um outro endere&ccedil;o qualquer, desde que seja um servi&ccedil;o no padr&atilde;o WMS-T. Ap&oacute;s ser escolhido o servi&ccedil;o, deve-se definir o per&iacute;odo das imagens e o intervalo desejado (di&aacute;rio, mensal ou anual).",complemento:"Ap&oacute;s definido o per&iacute;odo, a ferramenta far&aacute; a busca das imagens para sua apresenta&ccedil;&atilde;o em sequ&ecirc;ncia. Ao parar a anima&ccedil;&atilde;o, a imagem mostrada poder&aacute; ser acrescentada ao mapa como uma nova camada. A visualiza&ccedil;&atilde;o das imagens s&oacute; &eacute; poss&iacute;vel ap&oacute;s a carga de todas as datas selecionadas. Caso seja necess&aacute;rio cancelar a carga de uma ou mais datas, deve-se clicar em 'parar' na lista de imagens que est&atilde;o sendo carregadas.",apijs:"i3GEO.arvoreDeTemas"},"78":{titulo:"Zoom para a sele&ccedil;&atilde;o",diretorio:"i3geo/classesjs/classe_tema.js",categoria:"5",pt:"Ajusta a extens&atilde;o geogr&aacute;fica do mapa tendo como base os elementos selecionados de um tema.",complemento:"Essa op&ccedil;&atilde;o &eacute; mostrada como um pequeno &iacute;cone, localizado ao lado do nome do tema, quando este possuir sele&ccedil;&atilde;o.",apijs:"i3GEO.tema.zoomsel(idtema)"},"79":{titulo:"Exporta SLD",diretorio:"i3geo/classesjs/classe_tema.js",categoria:"5",pt:"Exporta a legenda atual do tema para o formato SLD. O XML &eacute; mostrado na tela.",complemento:"O formato SLD &eacute; utilizado em clientes WMS. Essa fun&ccedil;&atilde;o objetiva auxiliar a constru&ccedil;&atilde;o de web Services OGC.",apijs:"i3GEO.tema.dialogo.sld(idtema) Esta op&ccedil;&atilde;o n&atilde;o possu&iacute; um diret&oacute;rio em i3geo/ferramentas. O XML &eacute; gerado diretamente na tela pelo programa classesphp/mapa_controle.php"},"80":{titulo:"Inserir gr&aacute;fico interativamente",diretorio:"i3geo/ferramentas/inseregrafico",categoria:"5",pt:"Insere gr&aacute;ficos em um elemento de um tema de forma interativa.",complemento:"Para inserir gr&aacute;ficos no mapa, &eacute; necess&aacute;rio escolher os atributos do tema que ser&atilde;o considerados para a gera&ccedil;&atilde;o do gr&aacute;fico. Feito isso, clique sobre um elemento do tema utilizado e o gr&aacute;fico ser&aacute; inserido no mapa na forma de um novo tema.",apijs:"i3GEO.mapa.dialogo.cliqueGrafico()"},"81":{titulo:"Converter tema em KML",diretorio:"i3geo/ferramentas/convertekml",categoria:"5",pt:"Convertendo um tema em KML &eacute; poss&iacute;vel utilizar outros softwares para visualizar os dados. O i3Geo permite isso de duas maneiras, a primeira utiliza um WMS embutido dentro de um KML, ou seja, os dados s&atilde;o vistos como uma imagem raster georreferenciada, sendo que as coordenadas e atributos n&atilde;o s&atilde;o acess&iacute;veis diretamente.Dessa forma, grandes volumes de dados podem ser utilizados, pois n&atilde;o ocorre o download dos arquivos.<p>A segunda maneira converte os dados de um tema em arquivos KML compactados contendo as coordenadas e atributos dos elementos que comp&otilde;em o tema.",complemento:"KML &eacute; um padr&atilde;o internacional e n&atilde;o &eacute; espec&iacute;fico do i3Geo. Conforme as caracter&iacute;sticas de cada servidor onde o i3Geo estiver instalado, o KML poder&aacute; permanecer dispon&iacute;vel por per&iacute;odos de tempo vari&aacute;veis. Para usar o KML no Google Earth, utilize a op&ccedil;&atilde;o desse software chamada 'adicionar link de rede'",apijs:"i3GEO.mapa.dialogo.convertekml()"},"82":{titulo:"Download",diretorio:"i3geo/ferramentas/download",categoria:"2",pt:"Permite o download de um tema escolhido. No caso de dados vetoriais derivados de outros temas ou camadas com elementos selecionados, os dados s&atilde;o sempre fornecidos no formato 'shapefile'. Nos outros casos, o arquivo fornecido depender&aacute; da configura&ccedil;&atilde;o de cada camada, mas, por padr&atilde;o, os dados s&atilde;o fornecidos em 'shapefile'",complemento:"",apijs:"i3GEO.tema.dialogo.download()"},"83":{titulo:"Inserir texto interativamente",diretorio:"i3geo/ferramentas/inseretxt",categoria:"5",pt:"Insere textos em local do mapa de forma interativa.",complemento:"Voc&ecirc; pode inserir um texto espec&iacute;fico no mapa simplesmente digitando o texto na janela da ferramenta e clicando no local desejado no mapa, ou ainda utilizar os atributos de uma camada para capturar o texto da regi&atilde;o clicada.",apijs:"i3GEO.mapa.dialogo.cliqueTexto()"},"84":{titulo:"Gr&aacute;fico interativo",diretorio:"i3geo/ferramentas/graficointerativo1",categoria:"3",pt:"Gerador de representa&ccedil;&atilde;o gr&aacute;fica de dados tabulares. Abre uma janela flutuante onde o usu&aacute;rio pode escolher os dados e o tipo de gr&aacute;fico desejado. Os dados s&atilde;o baseados em um dos temas existentes no mapa.",complemento:"Existem v&aacute;rias op&ccedil;&otilde;es de tratamento dos dados que permitem, por exemplo, mostrar os percentuais ou os dados brutos. Pode-se ainda ativar a navega&ccedil;&atilde;o din&acirc;mica, o que permite atualizar o gr&aacute;fico conforme &eacute; feita a navega&ccedil;&atilde;o sobre o mapa.",apijs:"i3GEO.analise.dialogo.graficoInterativo1()"},"85":{titulo:"Miniaturas",diretorio:"i3geo/ferramentas/carouseltemas",categoria:"6",pt:"Abre uma janela flutuante que mostra imagens miniatura de cada tema existente na &aacute;rvore de temas. O usu&aacute;rio pode clicar em uma das imagens para adicionar o tema ao mapa atual.",complemento:"As miniaturas devem existir previamente para aparecerem nessa ferramenta. Para gerar as miniaturas, o administrador do i3Geo pode usar o sistema de administra&ccedil;&atilde;o.",apijs:"i3GEO.arvoreDeTemas.dialogo.carouselTemas()"},"86":{titulo:"Editor SQL",diretorio:"i3geo/ferramentas/editorsql",categoria:"5",pt:"Permite modificar o SQL utilizado para compor os dados referentes ao tema. Apenas temas baseados em bancos de dados podem utilizar essa fun&ccedil;&atilde;o, sendo que o administrador do i3Geo pode bloque&aacute;-la utilizando do sistema de administra&ccedil;&atilde;o. As fun&ccedil;&otilde;es SQL de modifica&ccedil;&atilde;o de dados n&atilde;o s&atilde;o suportadas (UPDATE, INSERT, DELETE, etc.)",complemento:"O Mapserver utiliza uma express&atilde;o na linguagem SQL para definir os dados que ir&atilde;o compor um tema. A edi&ccedil;&atilde;o do SQL possibilita o uso de express&otilde;es customizadas, baseadas na sintaxe SQL que o banco de dados utilizado suportar. A janela de di&aacute;logo permite ainda listar as colunas dispon&iacute;veis bem como os dados de cada coluna, facilitando a defini&ccedil;&atilde;o do novo SQL.",apijs:"i3GEO.tema.dialogo.editorsql()"},"87":{titulo:"Rede Metar",diretorio:"i3geo/ferramentas/metar",categoria:"8",pt:"A rede <a href='http://weather.noaa.gov/' target='_blank' >metar</a> reune dados de esta&ccedil;&otilde;es meteorol&oacute;gicas espalhadas por toto o mundo. Essa ferramenta mostra as esta&ccedil;&otilde;es existentes na extens&atilde;o geogr&aacute;fica do mapa",complemento:"Os dados da rede Metar s&atilde;o acessados indiretamente por meio dos Web Services do site Geonames.",apijs:"i3GEO.navega.dialogo.metar"},"88":{titulo:"Linha do tempo",diretorio:"i3geo/ferramentas/linhadotempo",categoria:"3",pt:"Constr&oacute;i um gr&aacute;fico do tipo 'linha do tempo' tendo como fonte dos dados a tabela de atributos de um tema. Veja: <a href='http://www.simile-widgets.org/timeline/' target=_blank >Simline</a>",complemento:"Ao navegar pelo mapa, o gr&aacute;fico &eacute; atualizado sendo utilizado apenas os dados existentes na extens&atilde;o do mapa. Ao passar o mouse sobre um dos nomes mostrados no gr&aacute;fico, &eacute; indicado a posi&ccedil;&atilde;o no mapa. Ao ser clicado um &iacute;cone no gr&aacute;fico, abre-se um bal&atilde;o com informa&ccedil;&otilde;es adicionais, podendo incluir links e imagens. O gr&aacute;fico s&oacute; &eacute; mostrado para os temas que estiverem configurados pelo administrador do i3Geo.",apijs:"i3GEO.configura"},"89":{titulo:"Tipo de imagem",diretorio:"i3geo/ferramentas/outputformat",categoria:"1",pt:"Modifica o tipo de imagem utilizada na gera&ccedil;&atilde;o do mapa.",complemento:"Modifica o par&acirc;metro OUTPUTFORMAT do mapa em uso permitindo-se escolher entre PNG e JPEG com tecnologia de gera&ccedil;&atilde;o AGG ou GD.",apijs:"i3GEO.mapa.dialogo.outputformat()"},"90":{titulo:"Cortina",diretorio:"i3geo/ferramentas/cortina",categoria:"5",pt:"Permite mostrar e esconder uma camada existente no mapa em um movimento cont&iacute;nuo. O efeito 'cortina' permite comparar um tema com outro.",complemento:"",apijs:"i3GEO.tema.dialogo.cortina()"},"91":{titulo:"Aplicar SLD",diretorio:"i3geo/classesjs/classe_tema.js",categoria:"5",pt:"Aplica um arquivo XML, no formato SLD, ao tema ativo.",complemento:"SLD &eacute; um formato padr&atilde;o que permite definir filtros e simbologia. V&aacute;rios softwraes permitem criar arquivos nesse padr&atilde;o.",apijs:"i3GEO.tema.dialogo.aplicarsld()"},"92":{titulo:"Salvar o mapfile",diretorio:"i3geo/ferramentas/salvamapfile",categoria:"5",pt:"Salva as defini&ccedil;&otilde;es da camada no arquivo mapfile de origem",complemento:"Essa op&ccedil;&atilde;o s&oacute; &eacute; ativada para usu&aacute;rios que s&atilde;o administradores. Permite que a camada seja alterada, por exemplo, modificando-se a legenda, e que o resultado seja salvo nas defini&ccedil;&otilde;es originais da camada.",apijs:"i3GEO.tema.dialogo.salvaMapfile()"},"93":{titulo:"Coment&aacute;rios",diretorio:"i3geo/ferramentas/comentarios",categoria:"5",pt:"Mostra os coment&aacute;rios existentes sobre o tema e permite ao usu&aacute;rio inserir novos",complemento:"Para entar com um coment&aacute;rio, o usu&aacute;rio precisa ser autenticado em alguma das redes sociais compat&iacute;veis com a rotina de login dispon&iacute;vel no i3Geo",apijs:"i3GEO.tema.dialogo.comentario()"},"94":{titulo:"Centro m&eacute;dio",diretorio:"i3geo/ferramentas/centromassa",categoria:"3",pt:"O centro m&eacute;dio &eacute; uma medida da distribui&ccedil;&atilde;o de um conjunto de pontos. Sendo definido por Gerardi & Silva (1980) como: o ponto que minimiza a soma das dist&acirc;ncias quadr&aacute;ticas a todos os outros pontos do plano",complemento:"Mais detalhes em http://www.criminologia-rsm.org/LinkClick.aspx?fileticket=XT%2BDy%2BNyrZM%3D&tabid=484&mid=1614",apijs:"i3GEO.analise.dialogo.centromassa()"},"95":{titulo:"Temas mais populares",diretorio:"",categoria:"4",pt:"Cada vez que um usu&aacute;rio adiciona uma camada ao mapa, por meio do cat&aacute;logo de temas, &eacute; feito um registro no banco de dados de administra&ccedil;&atilde;o. Esse registro &eacute; cumulativo e permite classificar os temas conforme sua popularidade.",complemento:"",apijs:"i3GEO.arvoreDeTemas"},"96":{titulo:"Gr&aacute;fico de perfil",diretorio:"",categoria:"3",pt:"Cria um gr&aacute;fico de perfil com base em um conjunto de dados contendo os valores de Z.",complemento:"Os valores de Z podem ser obtidos de um tema ou de um servi&ccedil;o do tipo Google API",apijs:"i3GEO.analise"},"97":{titulo:"Filtro de camadas",diretorio:"",categoria:"7",pt:"Filtra as camadas que s&atilde;o mostradas na &aacute;rvore de camadas conforme as caracter&iacute;sticas de cada uma.",complemento:"",apijs:"i3GEO.arvoreDeCamadas.dialogo.filtro"},"98":{titulo:"Importar WMC",diretorio:"i3geo/ferramentas/importarwmc",categoria:"4",pt:"Adiciona ao mapa camadas definidas em um arquivo XML no padr&atilde;o WMC 'Web Map Context'. O WMC permite que mapas sejam transferidos entre aplica&ccedil;&otilde;es.",complemento:"O arquivo XML pode estar em um servidor ou pode ser feito o upload para o servidor do i3Geo",apijs:"i3GEO.arvoreDeTemas.dialogo.importarwmc()"},"99":{titulo:"Tela remota",diretorio:"i3geo/ferramentas/telaremota",categoria:"7",pt:"Cria um link que permite abrir o mapa atual em outro computador ou navegador. O mapa clonado &eacute; atualizado conforme o original for sendo modificado.",complemento:"Essa funcionalidade permite que um mapa seja mostrado em uma tela remota com uma interface diferente da original. &Uacute;til para proje&ccedil;&atilde;o em tel&otilde;es e salas de situa&ccedil;&atilde;o.",apijs:"i3GEO.mapa.dialogo.telaRemota()"},"100":{titulo:"Upload KML",diretorio:"i3geo/ferramentas/uploadkml",categoria:"4",pt:"Permite que o usu&aacute;rio fa&ccedil;a o upload de um arquivo KML ou KMZ para o servidor para que seja acrescentado como uma camada ao mapa.",complemento:"O arquivo &eacute; armazenado no servidor temporariamente. &Eacute; necess&aacute;rio que o usu&aacute;rio saiba qual o tipo de elementos existentes no arquivo KML e qual o nome do folder que ser&aacute; utilizado.",apijs:"i3GEO.arvoreDeTemas.dialogo.uploadkml()"},"101":{titulo:"Temporizador",diretorio:"",categoria:"5",pt:"Aplica um temporizador que atualiza uma determinada camada ap&oacute;s um intervalo de tempo e de forma cont&iacute;nua. Para finalizar o temporizador, digite o ou vazio e aplique novamente.",complemento:"",apijs:"i3GEO.tema.temporizador()"},"102":{titulo:"Opacidade interativa",diretorio:"i3geo/ferramentas/opacidademapa",categoria:"7",pt:"Altera a opacidade do mapa de forma interativa. Aplica-se aos temas que n&atilde;o est&atilde;o definidos como 'fundo'. A altera&ccedil;&atilde;o &eacute; feita diretamente no objeto HTML, sendo que o efeito &eacute; imediato.",complemento:"",apijs:"i3GEO.mapa.dialogo.opacidade()"},"103":{titulo:"Upload de GPX",diretorio:"i3geo/ferramentas/uploadgpx",categoria:"4",pt:"Permite que um arquivo do tipo GPX, normalmente gerado por programas que utilizam GPS, seja enviado ao servidor e inclu&iacute;do no mapa como uma nova camada. O arquivo GPX ser&aacute; armazenado no servidor onde o i3geo est&aacute; instalado e permanecer&aacute; l&aacute; at&eacute; que os arquivos tempor&aacute;rios sejam apagados.",complemento:"N&atilde;o utilize essa op&ccedil;&atilde;o se existir alguma restri&ccedil;&atilde;o ao uso do arquivo e se a pol&iacute;tica de acesso aos dados, definidas pela entidade que hospeda o i3geo, n&atilde;o for compat&iacute;velcom essas restri&ccedil;&otilde;es.",apijs:"i3GEO.arvoreDeTemas.dialogo.uploadgpx()"},"104":{titulo:"Upload de KML",diretorio:"i3geo/ferramentas/uploadkml",categoria:"4",pt:"Permite que um arquivo do tipo KML, seja enviado ao servidor e inclu&iacute;do no mapa como uma nova camada. O arquivo GPX ser&aacute; armazenado no servidor onde o i3geo est&aacute; instalado e permanecer&aacute; l&aacute; at&eacute; que os arquivos tempor&aacute;rios sejam apagados.",complemento:"N&atilde;o utilize essa op&ccedil;&atilde;o se existir alguma restri&ccedil;&atilde;o ao uso do arquivo e se a pol&iacute;tica de acesso aos dados, definidas pela entidade que hospeda o i3geo, n&atilde;o for compat&iacute;velcom essas restri&ccedil;&otilde;es.",apijs:"i3GEO.arvoreDeTemas.dialogo.uploadkml()"},"105":{titulo:"Conex&atilde;o KML",diretorio:"i3geo/ferramentas/carregakml",categoria:"4",pt:"Cria um novo layer com base no endere&ccedil;o (url) de um arquivo KML. O layer &eacute; baseado em uma conex&atilde;o OGR.",complemento:"S&atilde;o criadas 3 novas camadas no mapa, uma para pontos, uma para linhas e outra para os pol&iacute;gonos. N&atilde;o necessariamente existir&atilde;o elementos nas tr&ecirc;s camadas.",apijs:"i3GEO.arvoreDeTemas.carregakml()"},"106":{titulo:"Conex&atilde;o GeoJson",diretorio:"i3geo/ferramentas/conectargeojson",categoria:"4",pt:"Cria um novo layer com base no endere&ccedil;o (url) de um arquivo no formato GeoJson. O layer &eacute; baseado em uma conex&atilde;o OGR.",complemento:"S&atilde;o criadas 3 novas camadas no mapa, uma para pontos, uma para linhas e outra para os pol&iacute;gonos. N&atilde;o necessariamente existir&atilde;o elementos nas tr&ecirc;s camadas.",apijs:"i3GEO.arvoreDeTemas.conectargeojson()"},"107":{titulo:"Anima&ccedil;&atilde;o",diretorio:"i3geo/ferramentas/animacao",categoria:"1",pt:"Mostra camadas em uma sequ&ecirc;ncia definida pelo usu&aacute;rio e em um determinado intervalo de tempo. As camadas s&atilde;o automaticamente desligadas e ligadas, formando uma sequ&ecirc;ncia que proporciona um efeito de anima&ccedil;&atilde;o",complemento:"",apijs:"i3GEO.mapa.dialogo.animacao()"},"108":{titulo:"Mapa tem&aacute;tico 3d",diretorio:"i3geo/ferramentas/tme",categoria:"5",pt:"Cria um arquivo no formato KML, representando os dados de uma coluna da tabela de atributos como elementos em 3d. Mais detalhes em http://thematicmapping.org/",complemento:"",apijs:"i3GEO.tema.dialogo.tme()"},"109":{titulo:"Busca de metadados na INDE",diretorio:"i3geo/ferramentas/buscainde",categoria:"8",pt:"Busca metadados no banco de dados da Infraestrutura Nacional de Dados Espaciais (INDE) do Brasil.",complemento:"A busca ainda &eacute; experimental, permitindo apenas a localiza&ccedil;&atilde;o dos registros, sem que o tema possa ser adicionado diretamente ao mapa.",apijs:"i3GEO.arvoreDeTemas.dialogo.buscainde()"},"110":{titulo:"Remove camadas em lote",diretorio:"i3geo/ferramentas/excluirarvore",categoria:"6",pt:"Lista as camadas que est&atilde;o no mapa para que o usu&aacute;rio escolha quais deseja remover. As camadas utilizadas no in&iacute;cio do mapa aparecem desmarcadas na lista.",complemento:"",apijs:"i3GEO.arvoreDeCamadas.dialogo.excluir()"},"111":{titulo:"Localiza regi&otilde;es cadastradas",diretorio:"i3geo/ferramentas/metaestat",categoria:"6",pt:"Lista as regi&otilde;es cadastradas no sistema de metadados estat&iacute;sticos conforme a hierarquia definida. Conforme uma regi&atilde;o &eacute; escolhida, o mapa tem a extens&atilde;o geogr&aacute;fica alterada, destacando a escolha. Essa mesma ferramenta &eacute; usada para aplicar filtros. Os filtros funcionam apenas nas camadas que forem oriundas da aplica&ccedil;&atilde;o de gera&ccedil;&atilde;o de cartogramas estat&iacute;sticos.",complemento:"",apijs:"i3GEO.mapa.dialogo.locregiao()"},"112":{titulo:"&Aacute;rvore de endere&ccedil;os WMS Metaestat",diretorio:"classe_arvoredetemas.js",categoria:"4",pt:"Mostra os WMS cuja origem &eacute; o sistema de metadados estat&iacute;sticos. Esse sistema apresenta cartogramas gerados de forma din&acirc;mica no padr&atilde;o WMS-Time.",complemento:"",apijs:"i3GEO.arvoreDeTemas.listaWMSmetaestat(node)"},"113":{titulo:"Marcador",diretorio:"classe_marcador.js",categoria:"7",pt:"Os marcadores permitem armazenar a regi&atilde;o de abrang&ecirc;ncia do mapa que est&aacute; sendo visto para que seja poss&iacute;vel voltar a essa regi&atilde;o. Para cinar as op&ccedil;&otilde;es de marca&ccedil;&atilde;o utilize a op&ccedil;&atilde;o Marcadores existente no menu suspenso. O menu permite remover marcadores, exportar, importar e converter em shapefile. Os marcadores s&atilde;o mantidos como cookies no navegador, por isso, ao limpar o seu hist&oacute;rico os registros podem ser perdidos. Para evitar isso, exporte seus marcadores como texto e depois importe-os novamente.",complemento:"",apijs:"i3GEO.marcador.prompt()"},"114":{titulo:"Visualizador INDE",diretorio:"i3geo/ferramentas/vinde",categoria:"7",pt:"Essa ferramenta apresenta os servi&ccedil;os WMS cadastrados no servidor da Infraestrutura Nacional de Dados Espaciais do Brasil. O usu&aacute;rio pode escolher diferentes camadas para visualiza&ccedil;&atilde;o e consulta.",complemento:"",apijs:"i3GEO.arvoreDeTemas.dialogo.vinde()"},"115":{titulo:"Prefer&ecirc;ncias",diretorio:"i3geo/ferramentas/preferencias",categoria:"1",pt:"Guarda as prefer&ecirc;ncias do usu&aacute;rio em rela&ccedil;&atilde;o aos par&acirc;metros que controlam a interface do mapa",complemento:"O usu&aacute;rio pode definir as prefer&ecirc;ncias para a interface do mapa, por exemplo, as configura&ccedil;&otilde;es iniciais de menu e ferramentas, temas que iniciam abertos, extens&atilde;o inicial do mapa etc. As informa&ccedil;&otilde;es de prefer&ecirc;ncias ficam armazenadas como cookies do navegador e podem ser restauradas para as configura&ccedil;&otilde;es iniciais por meio da bot&atilde;o ''Limpar'' ou pela limpeza dos cookies diretamente pelo navegador.",apijs:"i3GEO.mapa.dialogo.preferencias()"},"116":{titulo:"Upload de s&iacute;mbolo",diretorio:"i3geo/ferramentas/uploadsimbolo",categoria:"4",pt:"Envia para o servidor um arquivo de imagem que poder&aacute; ser utilizado como s&iacute;mbolo nas legendas das camadas",complemento:"",apijs:""},"117":{titulo:"SAIKU",diretorio:"i3geo/ferramentas/saiku",categoria:"5",pt:"Abre o sistema Saiku que permite o cruzamento de vari&aacute;veis estat&iacute;sticas. O Saiku utiliza o sistema de metadados estat&iacute;sticos para gerar cubos tridimensionais que permitem ao cruzamento de dados tabulares, gera&ccedil;&atilde;o de gr&aacute;ficos e relat&oacute;rios. O usu&aacute;rio deve adicionar ao mapa pelo menos uma camada com localidades originadas do sistema de metadados. Os elementos dessa camada que estiverem selecionados ser&atilde;o utilizados como filtro no Saiku.",complemento:"As vari&aacute;veis cruzadas no Saiku podem gerar artefatos como tabelas, gr&aacute;ficos, relat&oacute;rios e mapas que podem ser visualizados no i3Geo utilizando o bot&atilde;o 'Atualiza o mapa' presente na ferramenta de integra&ccedil;&atilde;o entre os sistemas.",apijs:""},"118":{titulo:"Geolocation",diretorio:"i3geo/ferramentas/geolocal",categoria:"6",pt:"Captura as coordenadas da posi&ccedil;&atilde;o atual do usu&aacute;rio. As coordenadas s&atilde;o capturadas individualmente ou por um intervalo de tempo. Os dados s&atilde;o mostrados em uma lista e no mapa.",complemento:"",apijs:"i3GEO.mapa.dialogo.geolocal()"},"119":{titulo:"Cria uma c&oacute;pia",diretorio:"i3geo/classesjs/classe_camadas.js",categoria:"5",pt:"Cria uma c&oacute;pia de uma camada existente no mapa e adiciona com novo nome.",complemento:"",apijs:"i3GEO.tema.copia(idtema)"},"120":{titulo:"V&iacute;ncula dados entre tabelas",diretorio:"i3geo/ferramentas/tabela/index.js",categoria:"5",pt:"Op&ccedil;&atilde;o utilizada na ferramenta tabela que pemrite vincular a listagem de registros entre tabelas que estejam em diferentes janelas flutuantes. Ao abrir duas tabelas de atributos, a janela de v&iacute;nculos permite definir quais as tabelas ser&atilde;o vinculadas e quais as colunas de liga&ccedil;&atilde;o. Ao marcar um registro em uma tabela, os registros semelhantes s&atilde;o marcados nas tabelas vinculadas.",complemento:"",apijs:""},"121":{titulo:"Mapa de calor",diretorio:"i3geo/ferramentas/heatmap/index.js",categoria:"3",pt:"Obt&eacute;m os dados de um tema pontual, linear ou poligonal e calcula para toda a &aacute;rea vis&iacute;vel os prov&aacute;veis valores. O resultado &eacute; uma representa&ccedil;&atilde;o cont&iacute;nua dos valores em classes de cores. O c&aacute;lculo da camada &eacute; feito diretamente no navegador utilizando-se um programa em javascript.",complemento:"A ferramenta adiciona um novo tema ao mapa contendo o mapa de calor e utiliza como refer&ecirc;ncia para a cria&ccedil;&atilde;o da legenda as classes da camada original. No caso de camadas lineares ou poligonais, ser&aacute; considerado o centroide de cada elemento.",apijs:"i3GEO.mapa.dialogo.heatmap()"},"122":{titulo:"MarkerCluster",diretorio:"i3geo/ferramentas/markercluster/index.js",categoria:"3",pt:"Cria uma camada vetorial com pontos que s&atilde;o agrupados conforme a proximidade. Os pontos agrupados s&atilde;o representados com um s&iacute;mbolo especial e &eacute; mostrado um texto indicando o total de pontos.",complemento:"",apijs:"i3GEO.mapa.dialogo.markercluster()"},"123":{titulo:"Congela a vis&atilde;o atual",diretorio:"i3geo/ferramentas/congelamapa/openlayers.php",categoria:"6",pt:"Abre uma nova janela com a visualiza&ccedil;&atilde;o atual do mapa, mantendo o n&iacute;vel de zoom e as camadas ativas.",complemento:"O mapa &eacute; mostrado na forma de uma imagem, ou seja, mant&eacute;m os elementos do mapa est&aacute;ticos mesmo que se desative as camadas ou altere a regi&atilde;o de visualiza&ccedil;&atilde;o do mapa original. Esta ferramenta &eacute; &uacute;til quando se deseja manter uma determinada regi&atilde;o do mapa sempre vis&iacute;vel enquanto se navega pelas demais regi&otilde;es do mesmo.",apijs:"i3GEO.mapa.dialogo.congelaMapa();"},"124":{titulo:"Cartogramas estat&iacute;sticos",diretorio:"i3geo/ferramentas/metaestat/index.js",categoria:"9",pt:"A ferramenta Cartogramas Estat&iacute;sticos &eacute; utilizada como uma integra&ccedil;&atilde;o entre o mapa interativo e o sistema de metadados estat&iacute;sticos. Al&eacute;m de funcionar como um cat&aacute;logo de camadas oriundas do sistema de metadados estat&iacute;sticos, ela permite a cria&ccedil;&atilde;o, edi&ccedil;&atilde;o e an&aacute;lise de vari&aacute;veis sem a necessidade de acesso ao sistema de administra&ccedil;&atilde;o.",complemento:"Voc&ecirc; pode construir um cartograma a partir da adi&ccedil;&atilde;o das vari&aacute;veis, medidas de vari&aacute;veis e par&acirc;metros constantes no sistema de metadados estat&iacute;sticos. Basta selecionar os componentes da camada e clicar em ''Adicionar camada ao mapa'.<p>O bot&atilde;o ''Edi&ccedil;&atilde;o'' abre o m&oacute;dulo ''Ajudante do editor'', que pode redirecionar o usu&aacute;rio para o ''Editor avan&ccedil;ado'' de vari&aacute;veis, diretamente no sistema de administra&ccedil;&atilde;o, para o ''Editor de limites'', onde o usu&aacute;rio pode editar os limites das camadas pertencentes ao cadastro de regi&otilde;es geogr&aacute;ficas, ou ainda acessar o gerenciador de banco de dados para a inclus&atilde;o de novos dados. Ainda por meio do ''Ajudante do editor'', o usu&aacute;rio pode editar vari&aacute;veis, medidas de vari&aacute;veis ou classifica&ccedil;&otilde;es, ou ainda criar novos elementos para a composi&ccedil;&atilde;o de uma camada no sistema de metadados estat&iacute;sticos.<p>O bot&atilde;o ''An&aacute;lise'' abre uma s&eacute;rie de ferramentas que podem ser utilizadas para uma configura&ccedil;&atilde;o e um exame mais aprofundado dos dados constantes nas vari&aacute;veis.",apijs:"javascript:i3GEO.mapa.dialogo.metaestat();"},"125":{titulo:"Aplicativos estat&iacute;sticos cadastrados",diretorio:"i3geo/ferramentas/metaestat/listamapas.js",categoria:"9",pt:"Lista os mapas cadastrados pelo publicador de mapas do sistema de metadados estat&iacute;sticos, apresentando as diferentes op&ccedil;&otilde;es de interface para abri-los.",complemento:"",apijs:"javascript:i3GEO.mapa.dialogo.metaestatListaMapas();"}}};g_traducao_ajuda_categorias={"1":{titulo:"Propriedades do mapa",observacao:"Funcionalidades que permitem alterar caracter&iacute;sticas gerais do mapa, como tamanho e filtro de cores."},"2":{titulo:"Arquivos"},"3":{titulo:"An&aacute;lise geogr&aacute;fica"},"4":{titulo:"Inclus&atilde;o de camadas",observacao:"O i3Geo utiliza um conceito de camadas dispon&iacute;veis no mapa e camadas adicionais. Camadas dispon&iacute;veis s&atilde;o as que podem ser consultadas, visualizadas e modificadas, compondo uma lista separada das camadas adicionais. Normalmente as camadas dispon&iacute;veis s&atilde;o um conjunto menor em rela&ccedil;&atilde;o ao total de temas que podem ser utilizados. Novos temas podem ser adicionados ao mapa por meio das op&ccedil;&otilde;es existentes na lista de temas, normalmente posicionada na guia '+Temas'."},"5":{titulo:"Opera&ccedil;&otilde;es sobre um tema",observacao:"Uma das caracter&iacute;sticas do i3Geo &eacute; a possibilidade de modifica&ccedil;&atilde;o das camadas vistas no mapa. As op&ccedil;&otilde;es que permitem isso s&atilde;o mostradas normalmente na lista de camadas dispon&iacute;veis no mapa atual. Essa lista &eacute; mostrada como uma &aacute;rvore hier&aacute;rquica sendo que cada camada &eacute; um dos n&oacute;s. Expandindo-se esse n&oacute;, tem-se acesso &agrave;s opera&ccedil;&otilde;es."},"6":{titulo:"Opera&ccedil;&otilde;es sobre o mapa"},"7":{titulo:"Navega&ccedil;&atilde;o",observacao:"As fun&ccedil;&otilde;es de navega&ccedil;&atilde;o permitem alterar a escala do mapa e modificar a abrang&ecirc;ncia espacial. Esse tipo de mudan&ccedil;a, principalmente de escala, afeta o contexto do mapa, modificando seu comportamento. Algumas camadas podem ser sens&iacute;veis &agrave; escala, mostrando ou n&atilde;o determinados elementos. Quando uma camada possuir muitos elementos, &eacute; aconselh&aacute;vel seu desligamento at&eacute; que a regi&atilde;o desejada seja encontrada. Algumas interfaces possuem mecanismos distintos de navega&ccedil;&atilde;o, como Google e openLayers. A lista abaixo contempla apenas a interface padr&atilde;o."},"8":{titulo:"Pesquisa"},"9":{titulo:"Metadados estat&iacute;sticos",observacao:""}};  
2 \ No newline at end of file 1 \ No newline at end of file
  2 +g_traducao_ajuda={ferramentas:{"1":{titulo:"Filtro de cores",diretorio:"i3geo/ferramentas/tipoimagem",categoria:"1",pt:"O filtro possibilita gerar efeitos de colora&ccedil;&atilde;o no mapa. &Eacute; aplicado sobre a imagem gerada toda vez que o mapa &eacute; alterado. No caso de temas baseados em dados RASTER, os n&iacute;veis de cores obtidos com a ferramenta de identifica&ccedil;&atilde;o n&atilde;o s&atilde;o alterados.",complemento:"Os filtros podem provocar um tempo maior de desenho do mapa, devendo ser utilizados com cuidado. As op&ccedil;&otilde;es s&eacute;pia e tons de cinza utilizam algor&iacute;tmos pr&oacute;prios do i3Geo, j&aacute; as demais, utilizam a op&ccedil;&atilde;o de filtro dispon&iacute;vel com o PHP 5. Mais detalhes <a href='http://www.php.net/manual/pt_BR/function.imagefilter.php' >aqui</a>.",apijs:"i3GEO.mapa.dialogo.tipoimagem()"},"2":{titulo:"Legenda",diretorio:"i3geo/ferramentas/opcoes_legenda",categoria:"1",pt:"A legenda do mapa &eacute; utilizada em v&aacute;rias op&ccedil;&otilde;es do i3Geo e pode tamb&eacute;m ficar inserida na pr&oacute;pria imagem do mapa. A legenda mostra os s&iacute;mbolos utilizados no desenho de cada tema, podendo-se alterar caracter&iacute;sticas como fonte, tamanho dos textos, tamanho dos ret&acirc;ngulos com os s&iacute;mbolos, etc.",complemento:"Antes de aplicar uma altera&ccedil;&atilde;o, voc&ecirc; pode testar os par&acirc;metros escolhidos para avaliar o resultado. No caso dos par&acirc;metros que definem cores, utilize -1,-1,-1 para anular seu efeito.",apijs:"i3GEO.mapa.dialogo.opcoesLegenda()"},"3":{titulo:"Barra de escala",diretorio:"i3geo/ferramentas/opcoes_escala",categoria:"1",pt:"A barra de escala &eacute; uma imagem inserida no mapa que mostra a rela&ccedil;&atilde;o entre uma medida feita no mapa e no mundo real. A barra pode ser modificada especificando-se seu tamanho, n&uacute;mero de divis&otilde;es e cores.",complemento:"Existem dois modelos b&aacute;sicos para a escala: linear e bloco. Para n&atilde;o mostrar a escala no mapa, escolha a 'sem escala' na op&ccedil;&atilde;o estilo.",apijs:"i3GEO.mapa.dialogo.opcoesEscala()"},"4":{titulo:"Tamanho do mapa",diretorio:"i3geo/ferramentas/opcoes_tamanho",categoria:"1",pt:"O tamanho do mapa &eacute; definido automaticamente quando o i3Geo &eacute; aberto, buscando-se otimizar o uso do espa&ccedil;o dispon&iacute;vel no monitor. A op&ccedil;&atilde;o de modifica&ccedil;&atilde;o do tamanho altera apenas o corpo do mapa, for&ccedil;ando o ajuste dos outros elementos, o que nem sempre provoca bons resultados.",complemento:"O ajuste do tamanho do mapa pode ser utilizado para gerar imagens em tamanhos espec&iacute;ficos, principalmente para efeitos de impress&atilde;o. A medida do tamanho utilizado &eacute; pixel, que corresponde ao tamanho m&iacute;nimo de uma c&eacute;lula da imagem do mapa. Para calcular o tamanho do mapa em outra unidade de medida, necess&aacute;rio nos casos em que se deseja imprimir o mapa, deve ser feito considerando-se a resolu&ccedil;&atilde;o de impress&atilde;o desejada.",apijs:"i3GEO.mapa.dialogo.tamanho()"},"5":{titulo:"Cor da sele&ccedil;&atilde;o",diretorio:"i3geo/ferramentas/opcoes_querymap",categoria:"1",pt:"A cor da sele&ccedil;&atilde;o &eacute; utilizada para mostrar no mapa os elementos de um determinado tema que est&atilde;o selecionados. A sele&ccedil;&atilde;o consiste em destacar elementos para uso em determinadas opera&ccedil;&otilde;es, como por exemplo o c&aacute;lculo de entorno (buffer). A defini&ccedil;&atilde;o da cor &eacute; baseada no modelo R,G,B, sendo que cada componente varia de 0 a 255.",complemento:"Ao definir os valores de RGB, separe-os com ','. Quando um tema possuir elementos selecionados, &eacute; inclu&iacute;da uma marca antes do nome do tema na lista de camadas dispon&iacute;veis no mapa.",apijs:"i3GEO.mapa.dialogo.queryMap()"},"6":{titulo:"Cor do fundo",diretorio:"i3geo/ferramentas/opcoes_fundo",categoria:"1",pt:"O corpo do mapa &eacute; constitu&iacute;do por uma imagem gerada com tamanho fixo. Essa imagem possu&iacute; uma cor padr&atilde;o, sobre a qual s&atilde;o sobrepostas as camadas. Por padr&atilde;o, a cor do fundo &eacute; definida como azul. A defini&ccedil;&atilde;o da cor &eacute; baseada no modelo R,G,B, sendo que cada componente varia de 0 a 255.",complemento:"Ao definir os valores de RGB, separe-os com ','. Ao utilizar as op&ccedil;&otilde;es de convers&atilde;o do mapa atual para kml ou WMS, a altera&ccedil;&atilde;o da cor do fundo para 255,255,255 oferece melhores resultados na visualiza&ccedil;&atilde;o dos dados.",apijs:"i3GEO.mapa.dialogo.corFundo()"},"7":{titulo:"Grade de coordenadas",diretorio:"i3geo/ferramentas/gradecoord",categoria:"1",pt:"A grade de coordenadas &eacute; formada por linhas verticais e horizontais representando determinadas latitudes e longitudes. A grade &eacute; um dos elementos principais na defini&ccedil;&atilde;o de um mapa, sendo utilizada na impress&atilde;o ou gera&ccedil;&atilde;o de figuras.",complemento:"Ao adicionar uma grade, &eacute; criado uma nova camada no mapa, possibilitando que mais de uma grade seja criada. Uma grade pode ou n&atilde;o conter os textos indicando os valores de lat long, permitindo que se crie uma grade com espa&ccedil;amento de linhas diferente do espa&ccedil;amento dos textos.",apijs:"i3GEO.mapa.dialogo.gradeCoord()"},"8":{titulo:"Templates",diretorio:"i3geo/ferramentas/template",categoria:"1",pt:"Um template define como os componentes de um mapa s&atilde;o organizados no navegador. O administrador do i3Geo pode criar templates diferentes conforme as necessidades do usu&aacute;rio, sendo que alguns templates s&atilde;o fornecidos com o pr&oacute;prio i3Geo.",complemento:"A cria&ccedil;&atilde;o de templates &eacute; uma tarefa do administrador do i3Geo. Para abrir um template espec&iacute;fico diretamente, utilize a URL que &eacute; mostrada no navegador quando um template &eacute; escolhido.",apijs:"i3GEO.mapa.dialogo.template()"},"9":{titulo:"Temporizador",diretorio:"i3geo/ferramentas/opcoes_autoredesenha",categoria:"1",pt:"O temporizador permite definir um intervalo de tempo em segundos que ir&aacute; disparar o redesenho do mapa.",complemento:"Quando o mapa &eacute; redesenhado, as camadas existentes s&atilde;o lidas novamente para compor o novo mapa. Essa op&ccedil;&atilde;o &eacute; &uacute;til quando existirem camadas no mapa que sofrem atualiza&ccedil;&otilde;es frequentes, como por exemplo o deslocamento de aeronaves, carros ou navios.",apijs:"i3GEO.mapa.dialogo.autoredesenha()"},"10":{titulo:"Salvar mapa",diretorio:"i3geo/ferramentas/salvamapa",categoria:"2",pt:"O mapa que o usu&aacute;rio est&aacute; utilizando pode ser salvo localmente (na m&aacute;quina do usu&aacute;rio) ou no banco de dados no servidor onde o i3Geo est&aacute; instalado. para ser aberto posteriormente. Isso permite que um trabalho seja continuado em outro momento, uma vez que o mapa em uso &eacute; sempre perdido quando o usu&aacute;rio fecha o navegador.",complemento:"Os dados locais que foram criados n&atilde;o s&atilde;o salvos, sendo necess&aacute;rio o seu download quando desejado. Isso afeta as op&ccedil;&otilde;es de inclus&atilde;o de pontos ou convers&atilde;o de elementos selecionados em camadas.",apijs:"i3GEO.mapa.dialogo.salvaMapa()"},"11":{titulo:"Carregar mapa",diretorio:"i3geo/ferramentas/carregamapa",categoria:"2",pt:"O mapa que o usu&aacute;rio est&aacute; utilizando pode ser salvo localmente (na m&aacute;quina do usu&aacute;rio) para ser aberto posteriormente. Isso permite que um trabalho seja continuado em outro momento, uma vez que o mapa em uso &eacute; sempre perdido quando o usu&aacute;rio fecha o navegador.",complemento:"A op&ccedil;&atilde;o de carregar um mapa permite enviar para o servidor, onde o i3Geo est&aacute; instalado, o mapa que foi salvo anteriormente.",apijs:"i3GEO.mapa.dialogo.carregaMapa()"},"12":{titulo:"Converter em WMS",diretorio:"i3geo/ferramentas/convertews",categoria:"2",pt:"Convertendo o mapa atual em um WMS &eacute; poss&iacute;vel utilizar outros softwares para visualizar o mesmo mapa visto no i3Geo. O resultado da convers&atilde;o &eacute; um endere&ccedil;o (url) tempor&aacute;rio, esse endere&ccedil;o deve ser inserido no software que se quer usar e que suporte WMS.",complemento:"WMS &eacute; um padr&atilde;o internacional e n&atilde;o espec&iacute;fico do i3Geo. Utilizando um WMS, pode-se adicionar ao mapa outras camadas de dados, inclusive dados locais, se estiver sendo utilizado um software instalado em um computador local. Conforme as caracter&iacute;sticas de cada servidor onde o i3Geo estiver instalado, o WMS poder&aacute; permanecer dispon&iacute;vel por per&iacute;odos de tempo vari&aacute;veis. Para acessar a lista de WMS dispon&iacute;veis utilize o link <a href='ogc.htm' >ogc.htm</a>.Mais informa&ccedil;&otilde;es em <a href='www.opengeospatial.org' >OGC.</a>",apijs:"i3GEO.mapa.dialogo.convertews()"},"13":{titulo:"Converter em KML",diretorio:"i3geo/ferramentas/convertekml",categoria:"2",pt:"Convertendo o mapa atual em KML &eacute; poss&iacute;vel utilizar outros softwares para visualizar o mesmo mapa visto no i3Geo. O resultado da convers&atilde;o &eacute; um endere&ccedil;o (url) tempor&aacute;rio, esse endere&ccedil;o deve ser inserido no software que se quer usar e que suporte KML. Para usar o KML no Google Earth, utilize a op&ccedil;&atilde;o desse softawre chamada 'adicionar link de rede'.",complemento:"KML &eacute; um padr&atilde;o internacional e n&atilde;o espec&iacute;fico do i3Geo. Conforme as caracter&iacute;sticas de cada servidor onde o i3Geo estiver instalado, o KML poder&aacute; permanecer dispon&iacute;vel por per&iacute;odos de tempo vari&aacute;veis. O KML gerado pelo i3Geo n&atilde;o cont&eacute;m as coordenadas dos elementos de uma camada, mas sim um WMS embutido no KML. Essa estrutura limita o uso do KML mas permite uma maior performance no acesso aos dados. Mais informa&ccedil;&otilde;es em <a href='www.opengeospatial.org' target=blanck >OGC</a>.",apijs:"i3GEO.mapa.dialogo.convertekml()"},"14":{titulo:"Grade de pol&iacute;gonos",diretorio:"i3geo/ferramentas/gradepol",categoria:"3",pt:"Cria uma nova camada no mapa contendo ret&acirc;ngulos com espa&ccedil;amento determinado em x e y. A grade gerada pode ser obtida via download. O espa&ccedil;amento &eacute; definido em d&eacute;cimos de grau e as coordenadas do ponto inicial podem ser definida clicando-se no mapa ou digitando-se o valor.",complemento:"A grade &eacute; &uacute;til para a realiza&ccedil;&atilde;o de an&aacute;lises onde deseja-se calcular ocorr&ecirc;ncias de fen&ocirc;menos pontuais e represent&aacute;-los posteriormente com base em totais. Observe que a &aacute;rea e as dist&acirc;ncias reais de cada pol&iacute;gono n&atilde;o s&atilde;o constantes, uma vez que &eacute; utilizada a proje&ccedil;&atilde;o geogr&aacute;fica na sua gera&ccedil;&atilde;o.",apijs:"i3GEO.analise.dialogo.gradePol()"},"15":{titulo:"Grade de pontos",diretorio:"i3geo/ferramentas/gradepontos",categoria:"3",pt:"Cria uma nova camada no mapa contendo pontos com espa&ccedil;amento determinado em x e y. A grade gerada pode ser obtida via download. O espa&ccedil;amento &eacute; definido em d&eacute;cimos de grau e as coordenadas do ponto inicial podem ser definida clicando-se no mapa ou digitando-se o valor.",complemento:"Observe que as dist&acirc;ncias reais entre cada ponto n&atilde;o s&atilde;o constantes, uma vez que &eacute; utilizada a proje&ccedil;&atilde;o geogr&aacute;fica na sua gera&ccedil;&atilde;o.",apijs:"i3GEO.analise.dialogo.gradePontos()"},"16":{titulo:"Grade de hex&aacute;gonos",diretorio:"i3geo/ferramentas/gradehex",categoria:"3",pt:"Cria uma nova camada no mapa contendo hex&aacute;gonos com espa&ccedil;amento determinado em x e y. A grade gerada pode ser obtida via download. O espa&ccedil;amento &eacute; definido em d&eacute;cimos de grau e as coordenadas do ponto inicial podem ser definida clicando-se no mapa ou digitando-se o valor.",complemento:"A grade &eacute; &uacute;til para a realiza&ccedil;&atilde;o de an&aacute;lises onde deseja-se calcular ocorr&ecirc;ncias de fen&ocirc;menos pontuais e represent&aacute;-los posteriormente com base em totais. Observe que a &aacute;rea e as dist&acirc;ncias reais de cada pol&iacute;gono n&atilde;o s&atilde;o constantes, uma vez que &eacute; utilizada a proje&ccedil;&atilde;o geogr&aacute;fica na sua gera&ccedil;&atilde;o.",apijs:"i3GEO.analise.dialogo.gradeHex()"},"17":{titulo:"Dist&acirc;ncia entre pontos",diretorio:"i3geo/ferramentas/distanciaptpt",categoria:"3",pt:"O c&aacute;lculo de dist&acirc;ncias &eacute; feito de um ponto em rela&ccedil;&atilde;o aos mais pr&oacute;ximos. O ponto origem, deve estar selecionado em um dos temas existentes no mapa. Para restringir a dist&acirc;ncia de busca, &eacute; necess&aacute;rio definir um raio m&aacute;ximo, os pontos considerados ser&atilde;o aqueles dentro desse raio. Em cada linha ligando dois pontos s&atilde;o inseridos atributos que indicam a dist&acirc;ncia e o identificador dos pontos. Esses identificadores s&atilde;o escolhidos com base nas colunas de atributos do tema pontual escolhido.",complemento:"O resultado dos c&aacute;lculos s&atilde;o novas camadas inclu&iacute;das no mapa, sendo uma de linhas e uma com o entorno de busca considerado.",apijs:"i3GEO.analise.dialogo.distanciaptpt()"},"18":{titulo:"Ponto em pol&iacute;gono",diretorio:"i3geo/ferramentas/pontoempoligono",categoria:"3",pt:"Ponto em pol&iacute;gono &eacute; uma opera&ccedil;&atilde;o que resulta em um novo tema contendo o cruzamento entre um tema com pontos e outros com pol&iacute;gonos (ou imagem raster). As informa&ccedil;&otilde;es do tema poligonal (ou raster) ser&atilde;o agregadas &agrave; tabela do novo tema pontual gerado. As colunas da tabela de atributos do novo tema gerado ser&atilde;o nomeadas em uma sequ&ecirc;ncia num&eacute;rica, uma vez que o tema original pode ter colunas com nomes incompat&iacute;veis com o formato shapefile, utilizado na gera&ccedil;&atilde;o do novo tema.",complemento:"Pode-se escolher mais de um tema de origem dos dados, possibilitando agregar informa&ccedil;&otilde;es de temas diferentes. Essa op&ccedil;&atilde;o de cruzamento &eacute; &uacute;til nos casos onde a informa&ccedil;&atilde;o necess&aacute;ria para a an&aacute;lise de um tema encontra-se em outro tema. Por exemplo, &eacute; poss&iacute;vel cruzar um tema com a localiza&ccedil;&atilde;o das cidades com um tema com a delimita&ccedil;&atilde;o de biomas. O resultado permite elaborar estat&iacute;sticas por biomas com base nos dados dos pontos.",apijs:"i3GEO.analise.dialogo.pontoempoligono()"},"19":{titulo:"N&uacute;mero de pontos por pol&iacute;gono",diretorio:"i3geo/ferramentas/nptpol",categoria:"3",pt:"Ponto em pol&iacute;gono &eacute; uma opera&ccedil;&atilde;o que resulta em um novo tema contendo o cruzamento entre um tema com pontos e outro com pol&iacute;gono. O resultado &eacute; um novo tema poligonal, cuja tabela de atributos conter&aacute; um item com o total de pontos em cada pol&iacute;gono",complemento:"O uso dessa ferramenta &eacute; indicado nas situa&ccedil;&otilde;es em que se deseja agregar dados de ocorr&ecirc;ncias pontuais em pol&iacute;gonos, possibilitando a visualiza&ccedil;&atilde;o dos dados por meio de t&eacute;cnicas de classifica&ccedil;&atilde;o e representa&ccedil;&atilde;o coropl&eacute;tica.",apijs:"i3GEO.analise.dialogo.nptPol()"},"20":{titulo:"Distribui&ccedil;&atilde;o de pontos",diretorio:"i3geo/ferramentas/pontosdistri",categoria:"3",pt:"Essa op&ccedil;&atilde;o disponibiliza v&aacute;rias ferramentas de an&aacute;lise de distribui&ccedil;&atilde;o de pontos, a maior parte baseia-se no software estat&iacute;stico <a href='www.r-project.org' target=blanck >R</a>. Algumas das an&aacute;lises geram como resultado imagens RASTER e outras temas lineares e poligonais. A op&ccedil;&atilde;o de relat&oacute;rio gera uma nova p&aacute;gina com v&aacute;rios &iacute;ndices calculados com o software R.",complemento:"A imagem RASTER resultante utiliza a resolu&ccedil;&atilde;o (tamanho do pixel) compat&iacute;vel com a escala utilizada no mapa que est&aacute; sendo visto. A representa&ccedil;&atilde;o utiliza, por padr&atilde;o, tons de cinza. A altera&ccedil;&atilde;o nas cores utilizadas na representa&ccedil;&atilde;o podem melhorar de forma significativa a visualiza&ccedil;&atilde;o dos resultados. Utilize a op&ccedil;&atilde;o de edi&ccedil;&atilde;o da legenda do tema para fazer isso. As an&aacute;lises de distribui&ccedil;&atilde;o de pontos s&atilde;o realizadas com o software R. As an&aacute;lises de densidade de pontos, dist&acirc;ncia entre pontos e kernel, foram implantadas utilizando-se a biblioteca <a href='http://cran.r-project.org/web/packages/spatstat' target=blanck >SPATSTAT</a> do R. As an&aacute;lises de Delaunay e Voronoi utilizam a biblioteca <a href='http://cran.r-project.org/web/packages/deldir' target=blanck >DELDIR</a> e a an&aacute;lise de cluster espacial utiliza o <a href='http://cran.r-project.org/web/packages/spatclus' target=blanck >SPATCLUS</a>. As an&aacute;lises podem consumir muito tempo de processamento, portanto, tenha cuidado com o n&uacute;mero de pontos."},"21":{titulo:"Centr&oacute;ide",diretorio:"i3geo/ferramentas/centroide",categoria:"3",pt:"Os centr&oacute;ides s&atilde;o pontos localizados no centro de massa de uma geometria. Para gerar os centr&oacute;ides, voc&ecirc; precisa selecionar alguns elementos de um tema. Utilize para isso a op&ccedil;&atilde;o de sele&ccedil;&atilde;o ou a tabela de atributos do tema desejado.",complemento:"Dependendo da forma de uma geometria, o ponto calculado pode ser posicionado fora do pol&iacute;gono <a href='http://postgis.refractions.net/documentation/manual-svn/ST_Centroid.html' >exemplo</a>.",apijs:"i3GEO.analise.dialogo.centroide()"},"22":{titulo:"Dissolver",diretorio:"i3geo/ferramentas/dissolve",categoria:"3",pt:"Essa ferramenta transforma v&aacute;rios pol&iacute;gonos em um s&oacute; eliminando as divisas entre eles. Para definir quais os pol&iacute;gonos devem ser unidos uns com os outros &eacute; preciso escolher um item da tabela de atributos do tema. Os pol&iacute;gonos que possu&iacute;rem o mesmo valor ser&atilde;o considerados no mesmo grupo e suas divisas eliminadas. Caso n&atilde;o tenha sido escolhido nenhum item, todas os pol&iacute;gonos ser&atilde;o agrupados em um s&oacute;.",complemento:"O resultado final ser&aacute; um novo tema com pol&iacute;gonos diferentes dos originais e cuja tabela de atributos conter&aacute; apenas o item escolhido. Caso as geometrias originais possuam fronteiras n&atilde;o ajustadas exatamente, o resultado pode apresentar pequenos pol&iacute;gonos internos.",apijs:"i3GEO.analise.dialogo.dissolve()"},"23":{titulo:"An&aacute;lise de geometrias",diretorio:"i3geo/ferramentas/analisageometrias",categoria:"3",pt:"Essa ferramenta permite processar elementos constituintes de um ou mais temas por meio de fun&ccedil;&otilde;es que atuam sobre a geometria que define o elemento. Essas fun&ccedil;&otilde;es possibilitam a realiza&ccedil;&atilde;o de c&aacute;lculos, como &aacute;rea e per&iacute;metro, e cruzamentos entre geometrias, como uni&atilde;o e intersec&ccedil;&atilde;o. Para utilizar a ferramenta, deve-se selecionar cada elemento desejado e convert&ecirc;-los em uma geometria ou conjunto de geometrias. Feito isso, as geometrias convertidas podem ser utilizadas nas opera&ccedil;&otilde;es.",complemento:"Para selecionar elementos, utilize as op&ccedil;&otilde;es de sele&ccedil;&atilde;o dispon&iacute;veis no i3Geo ou ent&atilde;o clique no mapa no elemento desejado ap&oacute;s ativar a ferramenta. A sele&ccedil;&atilde;o &eacute; feita sobre o tema escolhido. Para ver as geometrias capturadas, clique na guia 'listar'. Para usar as op&ccedil;&otilde;es de an&aacute;lise, mostradas na guia 'an&aacute;lise', voc&ecirc; deve marcar as geometrias desejadas na guia 'listar'.",apijs:"i3GEO.analise.dialogo.analisaGeometrias()"},"24":{titulo:"Entorno (buffer)",diretorio:"i3geo/ferramentas/buffer",categoria:"3",pt:"O entorno, ou buffer, &eacute; um pol&iacute;gono que circunda um elemento geogr&aacute;fico em uma dist&acirc;ncia fixa. Para o c&aacute;lculo de dist&acirc;ncia o i3Geo utiliza a proje&ccedil;&atilde;o polic&ocirc;nica. Os atributos do tema alvo s&atilde;o copiados para os pol&iacute;gonos resultantes e uma nova camada &eacute; adicionada ao mapa. Opcionalmente, os pol&iacute;gonos resultantes podem ser unidos como um &uacute;nico.",complemento:"Para gerar o entorno, voc&ecirc; precisa selecionar alguns elementos de um tema. Utilize para isso a op&ccedil;&atilde;o de sele&ccedil;&atilde;o ou a tabela de atributos do tema desejado. O buffer pode ser gerado tamb&eacute;m por meio da ferramenta de identifica&ccedil;&atilde;o.",apijs:"i3GEO.analise.dialogo.buffer()"},"25":{titulo:"Agrupa elementos",diretorio:"i3geo/ferramentas/agrupaelementos",categoria:"3",pt:"Essa ferramenta transforma v&aacute;rios elementos selecionados de um tema em um s&oacute; criando pol&iacute;gonos agrupados. Para definir quais elementos devem ser unidos uns com os outros &eacute; preciso escolher um item da tabela de atributos do tema. Os elementos que possu&iacute;rem o mesmo valor nesse item ser&atilde;o considerados no mesmo grupo e suas divisas eliminadas. Caso n&atilde;o tenha sido escolhido nenhum item, todas os elementos ser&atilde;o agrupados em um s&oacute;.",complemento:"O resultado final ser&aacute; um novo tema com pol&iacute;gonos diferentes dos originais e cuja tabela de atributos conter&aacute; apenas o item escolhido.",apijs:"i3GEO.analise.dialogo.agrupaElementos()"},"26":{titulo:"Upload de arquivo DBF ou CSV",diretorio:"i3geo/ferramentas/uploaddbf",categoria:"4",pt:"Utilize essa op&ccedil;&atilde;o para acrescentar um tema baseado nas coordenadas x e y presentes em uma tabela DBF ou arquivo CSV. Os valores de x e y devem utilizar '.' como separador de decimal. Se as coordenadas estiverem na proje&ccedil;&atilde;o geogr&aacute;fica, os valores dever&atilde;o estar em d&eacute;cimos de grau, com sinal negativo para pontos ao sul do equador e oeste do meridiano 0.",complemento:"O arquivo DBF ou CSV ser&aacute; armazenado no servidor onde o i3geo est&aacute; instalado e permanecer&aacute; l&aacute; at&eacute; que os arquivos tempor&aacute;rios sejam apagados. N&atilde;o utilize essa op&ccedil;&atilde;o se existir alguma restri&ccedil;&atilde;o ao uso do arquivo e se a pol&iacute;tica de acesso aos dados, definidas pela entidade que hospeda o i3geo, n&atilde;o for compat&iacute;vel com essas restri&ccedil;&otilde;es.",apijs:"i3GEO.arvoreDeTemas.dialogo.uploaddbf()"},"27":{titulo:"Upload se shapefile",diretorio:"i3geo/ferramentas/upload",categoria:"4",pt:"Permite que um arquivo do tipo shapefile seja enviado ao servidor e inclu&iacute;do no mapa como uma nova camada. O arquivo shapefile ser&aacute; armazenado no servidor onde o i3geo est&aacute; instalado e permanecer&aacute; l&aacute; at&eacute; que os arquivos tempor&aacute;rios sejam apagados. Um shapefile &eacute; composto basicamente por tr&ecirc;s tipos de arquivos (dbf, shp e shx), todos devem ser submetidos",complemento:"N&atilde;o utilize essa op&ccedil;&atilde;o se existir alguma restri&ccedil;&atilde;o ao uso do arquivo e se a pol&iacute;tica de acesso aos dados, definidas pela entidade que hospeda o i3geo, n&atilde;o for compat&iacute;velcom essas restri&ccedil;&otilde;es.",apijs:"i3GEO.arvoreDeTemas.dialogo.upload()"},"28":{titulo:"Conex&atilde;o WMS",diretorio:"i3geo/ferramentas/conectarwms",categoria:"4",pt:"Uma conex&atilde;o WMS permite que dados dispon&iacute;veis em outros servidores sejam inclu&iacute;dos como camadas no i3Geo. Na ferramenta de conex&atilde;o &eacute; mostrada uma lista de endere&ccedil;os previamente cadastrados, mas pode-se digitar um outro endere&ccedil;o qualquer, desde que seja um servi&ccedil;o no padr&atilde;o WMS. Ap&oacute;s um servi&ccedil;o ser escolhido, a lista de camadas dispon&iacute;veis &eacute; mostrada na guia 'Temas'.",complemento:"Camadas obtidas por meio de conex&atilde;o WMS n&atilde;o permitem que algumas opera&ccedil;&otilde;es dispon&iacute;veis no i3Geo sejam executadas, como por exemplo a altera&ccedil;&atilde;o na legenda, sele&ccedil;&atilde;o, entre outras. Quando um servidor apresentar problemas, a camada n&atilde;o poder&aacute; ser adicionada.",apijs:"i3GEO.arvoreDeTemas.conectarwms.upload()"},"29":{titulo:"Conex&atilde;o GeoRSS",diretorio:"i3geo/ferramentas/conectargeorss",categoria:"4",pt:"Uma conex&atilde;o GeoRSS permite obter a localiza&ccedil;&atilde;o de conte&uacute;dos dispon&iacute;veis no formato RSS com coordenadas geogr&aacute;ficas inclu&iacute;das. Na ferramenta de conex&atilde;o &eacute; mostrada uma lista de endere&ccedil;os previamente cadastrados, mas pode-se digitar um outro endere&ccedil;o qualquer, desde que seja um servi&ccedil;o no padr&atilde;o GeoRSS.",complemento:"A camada adicionada ao mapa baseia-se em um arquivo shapefile criado temporariamente pelo i3Geo. Caso o servi&ccedil;o GeoRSS sofrer altera&ccedil;&otilde;es, como a inclus&atilde;o de um novo item, &eacute; necess&aacute;rio fazer novamente a conex&atilde;o para que a camada reflita a altera&ccedil;&atilde;o.",apijs:"i3GEO.arvoreDeTemas.conectargeorss.upload()"},"30":{titulo:"Nuvem de tags",diretorio:"i3geo/ferramentas/nuvemtags",categoria:"4",pt:"A nuvem de tags &eacute; uma forma de localizar camadas dispon&iacute;veis para ser vistas no mapa. A busca &eacute; feita por meio de tags ou palavras-chave. As tags s&atilde;o registradas pelo administrador do i3Geo para cada tema dispon&iacute;vel na &aacute;rvore de temas.",complemento:"Ao escolher uma tag, &eacute; realizada uma busca dos temas correspondentes e o resultado &eacute; adicionado &agrave; arvore de temas. Opcionalmente, o usu&aacute;rio pode escolher navegar na nuvem 'animada' que mostra as tags como um globo 3d.",apijs:"i3GEO.arvoreDeTemas.dialogo.nuvemTags()"},"31":{titulo:"Procurar tema",diretorio:"classe_arvoredetemas.js",categoria:"4",pt:"Localiza temas dispon&iacute;veis nos menus da &aacute;rvore de adi&ccedil;&atilde;o de temas. Os temas localizados s&atilde;o inclu&iacute;dos em um novo n&oacute; da &aacute;rvore, possibilitando sua adi&ccedil;&atilde;o ao mapa.",complemento:"Para procurar um tema, digite a palavra ou frase no campo de texto e clique no &iacute;cone existente no lado direito. O resultado da busca aparecer&aacute; como um n&oacute; na &aacute;rvore de temas do cat&aacute;logo.",apijs:"i3GEO.arvoreDeTemas.buscaTema(palavra)"},"32":{titulo:"Acesso aos arquivos do servidor",diretorio:"classe_arvoredetemas.js",categoria:"4",pt:"Os usu&aacute;rios cadastrados no i3Geo como editores podem acessar arquivos existentes no servidor onde o i3Geo est&aacute; instalado. A navega&ccedil;&atilde;o permite localizar arquivos shapefile para inclus&atilde;o como uma nova camada no mapa.",complemento:"Por motivos de seguran&ccedil;a, apenas os editores podem utilizar essa op&ccedil;&atilde;o. O cadastramento &eacute; feito pelo administrador do i3Geo, por meio da edi&ccedil;&atilde;o do arquivo ms_configura.php.",apijs:"i3GEO.arvoreDeTemas.montaDir(node)"},"33":{titulo:"&Aacute;rvore de endere&ccedil;os WMS",diretorio:"classe_arvoredetemas.js",categoria:"4",pt:"A conex&atilde;o com servi&ccedil;os WMS (OGC) pode ser feita escolhendo-se o servidor e as camadas dispon&iacute;veis diretamente na &aacute;rvore de temas. A lista de endere&ccedil;os utilizada nesse n&oacute; da &aacute;rvore &eacute; a mesma utilizada na op&ccedil;&atilde;o de conex&atilde;o que &eacute; aberta por meio do &iacute;cone 'Conex&atilde;o MWS'. Quando uma camada for encontrada no WMS, &eacute; mostrado um 'box' ao lado do nome da camada, permitindo sua adi&ccedil;&atilde;o ao mapa.",complemento:"A vantagem do uso da &aacute;rvore &eacute; a velocidade de acesso &agrave; lista de camadas, uma vez que o i3Geo faz um 'cache' do arquivo XML gerado com a lista de camadas dispon&iacute;veis. A &aacute;rvore permite ainda a vis&atilde;o correta da hierarquia de camadas configuradas no WMS, que pode ter v&aacute;rios n&iacute;veis. Cada vez que um usu&aacute;rio tenta acessar um WMS o sucesso ou n&atilde;o da conex&atilde;o &eacute; registrado, assim, &eacute; poss&iacute;vel mostrar ao lado de cada endere&ccedil;o o percentual de tentativas de conex&atilde;o v&aacute;lidas.",apijs:"i3GEO.arvoreDeTemas.listaWMS(node)"},"34":{titulo:"Sistemas",diretorio:"classe_arvoredetemas.js",categoria:"4",pt:"O n&oacute; 'Sistemas' da &aacute;rvore de adi&ccedil;&atilde;o de temas, lista aplicativos especiais que precisam de intera&ccedil;&atilde;o com o usu&aacute;rio para a cria&ccedil;&atilde;o de uma camada.",complemento:"Alguns sistemas s&atilde;o fornecidos com a instala&ccedil;&atilde;o padr&atilde;o do i3Geo, mas cada administrador pode criar seus pr&oacute;prios.",apijs:"i3GEO.arvoreDeTemas.listaSistemas(g_sid,g_locaplic,funcao)"},"35":{titulo:"Procurar ocorr&ecirc;ncias",diretorio:"i3geo/ferramentas/busca",categoria:"5",pt:"Cada tema possui um conjunto de dados descritivos associados aos elementos geogr&aacute;ficos (tabela de atributos). A op&ccedil;&atilde;o 'procurar' realiza uma pesquisa nesses atributos e localiza as correspond&ecirc;ncias. O resultado &eacute; mostrado em uma lista de elementos que permite destacar cada um deles.",complemento:"Para fazer a busca deve-se selecionar em quais itens da tabela de atributos a mesma ser&aacute; feita, podendo-se escolher mais de um. A busca pode ser feita no mapa todo ou apenas na regi&atilde;o vis&iacute;vel do mapa.",apijs:"i3GEO.tema.dialogo.procuraratrib()"},"36":{titulo:"Topon&iacute;mia",diretorio:"i3geo/ferramentas/toponimia",categoria:"5",pt:"A topon&iacute;mia s&atilde;o os textos mostrados no mapa que identificam lugares ou elementos que constituem um tema. Os textos s&atilde;o baseados na tabela de atributos de cada tema, que cont&ecirc;m os dados descritivos de cada elemento.",complemento:"Ao inserir uma topon&iacute;mia, um novo tema &eacute; adicionado ao mapa, podendo ser exclu&iacute;do ou movimentado. Dessa forma &eacute; poss&iacute;vel incluir mais de um tema com a topon&iacute;mia. Ao inserir a topon&iacute;mia deve-se escolher o item da tabela de atributos e, caso necess&aacute;rio, pode-se modificar as op&ccedil;&otilde;es padr&atilde;o de simbologia utilizadas nos textos, como fonte, cor, m&aacute;scara, etc. &Eacute; poss&iacute;vel ainda testar as op&ccedil;&otilde;es antes de concluir a inclus&atilde;o da topon&iacute;mia.",apijs:"i3GEO.tema.dialogo.toponimia()"},"37":{titulo:"Etiquetas",diretorio:"i3geo/ferramentas/etiqueta",categoria:"5",pt:"As etiquetas s&atilde;o textos descritivos mostrados no mapa quando o mouse &eacute; estacionado por alguns instantes sobre um elemento ou utilizando a ferramenta etiqueta presente na barra de bot&otilde;es. Cada tema pode ter uma etiqueta ativa, sendo esta baseada em um item da tabela de atributos do tema.",complemento:"Para ver as etiquetas, ative a opera&ccedil;&atilde;o de identifica&ccedil;&atilde;o.",apijs:"i3GEO.tema.dialogo.etiquetas()"},"38":{titulo:"Filtro",diretorio:"i3geo/ferramentas/filtro",categoria:"5",pt:"Filtrar um tema significa definir um crit&eacute;rio para que um determinado elemento seja mostrado. Esse crit&eacute;rio &eacute; baseado nos dados descritivos (tabela de atributos). Um filtro &eacute; uma express&atilde;o que relaciona os itens da tabela de atributos e seus valores, por exemplo, 'UF' = 'SP', onde 'UF' &eacute; o nome da coluna (item) e 'SP' &eacute; o valor. As express&otilde;es podem ser definidas por meio de um 'construtor' (guia default da ferramenta) ou digitando-se diretamente a express&atilde;o. Veja <a href='http://mapserver.org/mapfile/expressions.html#mapserver-expressions' >como</a>.",complemento:"Cada tema pode ter apenas um filtro. O filtro apenas deixa de mostrar os dados no mapa, ou seja, os dados continuam na tabela de atributos. Antes de aplicar um filtro, pode-se test&aacute;-lo para verificar seu efeito. O construtor de express&otilde;es permite a utiliza&ccedil;&atilde;o de mais de uma coluna, para isso, deve-se adicionar novas linhas e escolher um conector, como 'e' ou 'ou'. Por exemplo, em um tema com os munic&iacute;pios pode-se mostrar apenas aqueles de determinados estados escolhendo-se 'colun' = 'valor' 'e' 'coluna' = 'valor'.",apijs:"i3GEO.tema.dialogo.filtro()"},"39":{titulo:"Tabela",diretorio:"i3geo/ferramentas/tabela",categoria:"5",pt:"Cada tema possui informa&ccedil;&otilde;es descritivas associadas a cada elemento, esses dados s&atilde;o conhecidos como 'tabela de atributos'. Essa op&ccedil;&atilde;o mostra os dados existentes na tabela e permite a realiza&ccedil;&atilde;o de uma s&eacute;rie de opera&ccedil;&otilde;es diretamente sobre os registros existentes, como por exemplo, sele&ccedil;&atilde;o, zoom, relat&oacute;rios e gr&aacute;ficos.",complemento:"Como o n&uacute;mero de registros de um tema pode ser grande, os dados s&atilde;o mostrados em p&aacute;ginas. Ao lado de cada registro existe uma caixa que permite marcar os registros. Os registros marcados s&atilde;o mostrados na guia 'Marcados'. As opera&ccedil;&otilde;es dispon&iacute;veis nessa ferramenta atuam sobre todos os elementos da tabela ou sobre os selecinados. Para selecionar os elementos marcados, utilize a op&ccedil;&atilde;o 'Ativa sele&ccedil;&atilde;o' na guia 'Marcados'.",apijs:"i3GEO.tema.dialogo.tabela()"},"40":{titulo:"Gr&aacute;ficos",diretorio:"i3geo/ferramentas/graficotema",categoria:"5",pt:"Permite inserir gr&aacute;ficos em cada elemento que comp&otilde;e uma camada para representar valores associados. Para a montagem de cada gr&aacute;fico &eacute; necess&aacute;rio selecionar um tema que contenha os dados que ser&atilde;o representados. Os dados s&atilde;o aqueles que encontram-se na tabela de atributos do tema.",complemento:"Ap&oacute;s selecionado o tema, &eacute; mostrada uma lista com os itens existentes na tabela de atributos. Escolha os itens que ser&atilde;o utilizados no gr&aacute;fico clicando no box que aparece na lista de itens. Cada item ir&aacute; compor uma fatia do gr&aacute;fico. Ao lado do item, &eacute; mostrada a cor que ser&aacute; utilizada na representa&ccedil;&atilde;o. Cada cor &eacute; definida em RGB. Na guia 'propriedades' &eacute; poss&iacute;vel definir propriedades de representa&ccedil;&atilde;o de cada gr&aacute;fico. As defini&ccedil;&otilde;es afetar&atilde;o a forma de cada gr&aacute;fico. Cada gr&aacute;fico adicionado &eacute; inclu&iacute;do no mapa como um novo tema.",apijs:"i3GEO.tema.dialogo.graficotema()"},"41":{titulo:"Editor de legenda",diretorio:"i3geo/ferramentas/legenda",categoria:"5",pt:"A legenda de um tema consiste nas defini&ccedil;&otilde;es dos s&iacute;mbolos utilizados na representa&ccedil;&atilde;o de cada elemento. Al&eacute;m dos s&iacute;mbolos, uma das propriedades da legenda &eacute; o tipo de classifica&ccedil;&atilde;o utilizado na representa&ccedil;&atilde;o dos dados, por exemplo, pode-se mostrar todos os elementos com um &uacute;nico s&iacute;mbolo ou agrupar elementos e utilizar s&iacute;mbolos diferentes para cada grupo. No editor, a guia 'Classes' permite definir a classifica&ccedil;&atilde;o e na guia principal s&atilde;o mostrados os s&iacute;mbolos. Quando um s&iacute;mbolo &eacute; clicado, &eacute; ativada a guia que permite definir as caracter&iacute;sticas do s&iacute;mbolo.",complemento:"As classes s&atilde;o definidas por meio de express&otilde;es que definem um tipo de filtro que ser&aacute; usado para definir que elementos fazem parte de cada classe. O editor possui alguns m&eacute;todos para defini&ccedil;&atilde;o autom&aacute;tica das classes, mas pode-se incluir classes livremente digitando-se o filtro. Veja <a href='http://mapserver.org/mapfile/class.html' >como</a>.",apijs:"i3GEO.tema.dialogo.editaLegenda()"},"42":{titulo:"Opacidade",diretorio:"i3geo/classesjs/classe_tema.js",categoria:"5",pt:"Essa op&ccedil;&atilde;o modifica a opacidade de um tema permitindo ajustar a visibilidade dos elementos em rela&ccedil;&atilde;o aos outros temas. A opacidade varia de 0 a 100, sendo 100 o mais opaco.",complemento:"",apijs:"i3GEO.tema.mudatransp(idtema)"},"43":{titulo:"Altera nome",diretorio:"i3geo/classesjs/classe_tema.js",categoria:"5",pt:"Essa op&ccedil;&atilde;o permite alterar o nome do tema. O novo nome ser&aacute; mostrado no mapa e tamb&eacute;m na legenda.",complemento:"",apijs:"i3GEO.tema.mudanome(idtema)"},"44":{titulo:"Mostrar em janela",diretorio:"i3geo/classesjs/classe_navega.js",categoria:"5",pt:"Inclui um ret&acirc;ngulo na tela que segue a movimenta&ccedil;&atilde;o do mouse e mostra o tema escolhido. Possibilita destacar a visualiza&ccedil;&atilde;o de uma camada sobre as outras.",complemento:"",apijs:"i3GEO.navega.destacaTema.inicia()"},"45":{titulo:"Zoom para o tema",diretorio:"i3geo/classesjs/classe_navega.js",categoria:"5",pt:"Ajusta a visualiza&ccedil;&atilde;o do mapa alterando a extens&atilde;o geogr&aacute;fica para mostrar todos os componentes de um determinado tema.",complemento:"Essa op&ccedil;&atilde;o &eacute; mostrada como um pequeno &iacute;cone localizado logo abaixo de um tema na &aacute;rvore de temas.",apijs:"i3GEO.tema.zoom(idtema)"},"46":{titulo:"Farol indicativo de escala",diretorio:"",categoria:"5",pt:"Identifica se o tema possu&iacute; uma escala compat&iacute;vel ou n&atilde;o com a escala do mapa. O farol &eacute; um &iacute;cone com cores que variam entre verde, amarelo e vermelho, conforme a escala do mapa atual. A compatibilidade da escala &eacute; definida em fun&ccedil;&atilde;o da escala da fonte dos dados cartogr&aacute;ficos utilizada pelo tema.",complemento:"Essa op&ccedil;&atilde;o &eacute; mostrada como um pequeno &iacute;cone localizado logo abaixo de um tema na &aacute;rvore de camadas."},"47":{titulo:"Alterar ordem de desenho",diretorio:"i3geo/classesjs/classe_tema.js",categoria:"5",pt:"Os temas dispon&iacute;veis no mapa s&atilde;o desenhados como camadas que se sobrep&otilde;em para compor o mapa. Como uma pilha, as camadas seguem uma ordem de desenho, sendo que na lista de temas o primeiro que &eacute; mostrado &eacute; o &uacute;ltimo desenhado. A ordem da pilha pode ser alterada clicando-se e arrastando um tema (clicando no nome do tema) ou por meio de &iacute;cones que movem para cima ou para baixo apenas uma posi&ccedil;&atilde;o.",complemento:"Quando um novo tema &eacute; adicionado ao mapa, o i3Geo ir&aacute; posicion&aacute;-lo procurando evitar alguns tipos de sobreposi&ccedil;&atilde;o. Temas RASTER ou poligonais s&atilde;o sempre inseridos abaixo dos temas lineares e pontuais.",apijs:"i3GEO.tema.sobe(idtema) ou i3GEO.tema.desce(idtema)"},"48":{titulo:"Excluir tema",diretorio:"i3geo/classesjs/classe_tema.js",categoria:"5",pt:"Exclui um tema da lista de temas dispon&iacute;veis no mapa atual. A exclus&atilde;o pode ser feita arrastando-se o tema para o &iacute;cone da 'lixeira' ou ent&atilde;o por meio de um &iacute;cone mostrado abaixo de cada tema.",complemento:"Temas locais criados pelo usu&aacute;rio n&atilde;o podem ser recuperados ap&oacute;s uma exclus&atilde;o. J&aacute; os temas que constam na lista '+Temas' poder&atilde;o ser adicionados ao mapa novamente.",apijs:"i3GEO.tema.exclui(idtema)"},"48a":{titulo:"Selecionar elementos",diretorio:"i3geo/ferramentas/selecao.js",categoria:"5",pt:"Selecionar elementos consiste em destacar um sub-conjunto do conjunto total de componentes de um tema. Algumas opera&ccedil;&otilde;es do i3Geo atuam sobre o conjunto selecionado, como buffer, exporta&ccedil;&atilde;o, etc. Os elementos selecionados s&atilde;o mostrados em uma cor especial, diferente daquela definida na legenda do tema. Os temas que possuem elementos selecionados s&atilde;o marcados com um &iacute;cone circular mostrado junto ao nome na lista de camadas. A janela de op&ccedil;&otilde;es para sele&ccedil;&atilde;o, al&eacute;m das op&ccedil;&otilde;es de tipo de opera&ccedil;&atilde;o, permite gerar gr&aacute;ficos din&acirc;micos e criar um novo tema com base nos elementos selecionados.",complemento:"Existem v&aacute;rias maneiras de fazer a sele&ccedil;&atilde;o: clicando-se sobre cada elemento, desenhando-se um ret&acirc;ngulo ou pol&iacute;gono no mapa, definindo-se uma express&atilde;o que ir&aacute; buscar os elementos aderentes (com base na tabela de atributos) ou cruzando-se um tema com outro. Tendo-se um conjunto j&aacute; definido, novos elementos podem ser acrescentados ou retirados da sele&ccedil;&atilde;o.",apijs:"i3GEO.selecao.janelaOpcoes()"},"49":{titulo:"Impress&atilde;o",diretorio:"i3geo/ferramentas/imprimir",categoria:"6",pt:"Utilize essa op&ccedil;&atilde;o para gerar uma p&aacute;gina espec&iacute;fica para impress&atilde;o do mapa. Na janela de op&ccedil;&otilde;es deve-se escolher o tipo de p&aacute;gina desejada, que pode variar desde p&aacute;ginas padronizadas em PDF at&eacute; aplicativos onde o mapa &eacute; montado de forma interativa.",complemento:"",apijs:"i3GEO.configura.funcoesBotoes"},"50":{titulo:"C&aacute;lculo de dist&acirc;ncias",diretorio:"i3geo/classesjs/classe_analise.js",categoria:"6",pt:"Ativa o modo de c&aacute;lculo de dist&acirc;ncias, permitindo que a cada clique do mouse sobre o mapa seja feito o c&aacute;lculo da dist&acirc;ncia em rela&ccedil;&atilde;o ao ponto anterior e em rela&ccedil;&atilde;o a todos os pontos clicados. O resultado &eacute; mostrado em uma janela aberta sobre o mapa. Em cada ponto &eacute; tamb&eacute;m desenhado um c&iacute;rculo representando a dist&acirc;ncia at&eacute; o &uacute;ltimo ponto.",complemento:"O c&aacute;lculo de dist&acirc;ncia &eacute; aproximado e depende da escala do mapa (quanto mais detalhado o mapa melhor). A f&oacute;rmula de c&aacute;lculo &eacute; baseada em <a href='http://www.movable-type.co.uk/scripts/latlong.html' >http://www.movable-type.co.uk/scripts/latlong.html</a>. Para parar o c&aacute;lculo basta clicar sobre um dos pontos j&aacute; inseridos.",apijs:"i3GEO.configura.funcoesBotoes"},"51":{titulo:"C&aacute;lculo de &aacute;rea",diretorio:"i3geo/classesjs/classe_analise.js",categoria:"6",pt:"Ativa o modo de c&aacute;lculo de &aacute;rea, permitindo que seja desenhado um pol&iacute;gono sobre o mapa para c&aacute;lculo da &aacute;rea. O pol&iacute;gono &eacute; criado clicando-se no mapa no local onde se quer criar um v&eacute;rtice.",complemento:"O c&aacute;lculo de dist&acirc;ncia &eacute; aproximado e depende da escala do mapa (quanto mais detalhado o mapa melhor). O c&aacute;lculo &eacute; baseado no tamanho do pixel do mapa, calculado ao iniciar a ferramenta. Esse c&aacute;lculo baseia-se na proje&ccedil;&atilde;o polic&ocirc;nica com par&acirc;metros definidos em fun&ccedil;&atilde;o da extens&atilde;o geogr&aacute;fica do mapa atual.",apijs:"i3GEO.configura.funcoesBotoes"},"52":{titulo:"Alterar interface",diretorio:"i3geo/classesjs/classe_interface.js",categoria:"6",pt:"O i3Geo pode usar diferentes interfaces para manipular a navega&ccedil;&atilde;o sobre o mapa. Por padr&atilde;o, &eacute; utilizada uma interface pr&oacute;pria, desenvolvida para o i3Geo, mas pode-se optar pelo uso do OpenLayers, Google Maps ou Google Earth.",complemento:"As funcionalidade do i3Geo s&atilde;o afetadas pela interface escolhida, sendo que algumas opera&ccedil;&otilde;es diferem de uma para outra. A maior parte das funcionalidades s&atilde;o implementadas apenas na interface padr&atilde;o. No caso do Google Earth , que permite a visualiza&ccedil;&atilde;o do mapa em 3d, &eacute; necess&aacute;rio a instala&ccedil;&atilde;o de um plugin espec&iacute;fico.",apijs:"i3GEO.configura.oMenuData"},"55":{titulo:"Extens&atilde;o geogr&aacute;fica",diretorio:"i3geo/ferramentas/mostraexten",categoria:"7",pt:"A extens&atilde;o geogr&aacute;fica &eacute; a abrang&ecirc;ncia espacial do mapa definido por meio de uma lista de coordenadas em d&eacute;cimos de grau e na ordem menor longitude, menor latitude, maior longitude, maior latitude. A extens&atilde;o geogr&aacute;fica do mapa pode ser alterada digitando-se novas coordenadas por meio dessa ferramenta.",complemento:"O resultado final do mapa quando se altera a extens&atilde;o pode n&atilde;o corresponder as espectativas, uma vez que o mapa &eacute; um ret&acirc;ngulo cujas propor&ccedil;&otilde;es podem n&atilde;o ser compat&iacute;veis com as coordenadas digitadas.",apijs:"i3GEO.mapa.dialogo.mostraExten"},"56":{titulo:"Deslocamento do mapa - PAN",diretorio:"",categoria:"7",pt:"O deslocamento do mapa do tipo PAN &eacute; realizado de forma interativa, deve-se clicar em um ponto do mapa e arrastar o mouse para a nova posi&ccedil;&atilde;o. O resultado &eacute; o deslocamento da extens&atilde;o geogr&aacute;fica do mapa movendo-se o ponto inicial at&eacute; o segundo ponto.",complemento:"Caso o primeiro ponto seja muito pr&oacute;ximo do segundo, ou se o usu&aacute;rio clicar e soltar o mouse, o ponto clicado &eacute; movido para o centro do mapa.",apijs:""},"57":{titulo:"Deslocamento direcional",diretorio:"i3geo/classesjs/classe_navega.js",categoria:"7",pt:"O deslocamento direcional movimenta o mapa para o norte, sul, leste ou oeste uma dist&acirc;ncia fixa.",complemento:"Essa forma de deslocamento exige que o usu&aacute;rio clique apenas uma vez em um bot&atilde;o para realizar o deslocamento.",apijs:"i3GEO.navega.panFixo(locaplic,sid,direcao,w,h,escala)"},"58":{titulo:"Rosa dos ventos",diretorio:"i3geo/classesjs/classe_navega.js",categoria:"7",pt:"A rosa dos ventos &eacute; uma imagem mostrada na posi&ccedil;&atilde;o atual do mouse e que possibilita deslocar, aproximar ou afastar o mapa. A rosa aparece quando o mouse &eacute; estacionado por alguns instantes sobre o mapa e permite movimentar o mapa sem a necessidade de abandonar a ferramenta escolhida no momento.",complemento:"A rosa dos ventos &eacute; opcional e por padr&atilde;o n&atilde;o fica habilitada.",apijs:"i3GEO.navega.mostraRosaDosVentos() e i3GEO.eventos.MOUSEPARADO"},"59":{titulo:"Aproximar",diretorio:"i3geo/classesjs/classe_navega.js",categoria:"7",pt:"Aproxima o mapa tendo como refer&ecirc;ncia o ponto central. A aproxima&ccedil;&atilde;o ocorre por um fator fixo, modificando a escala atual.",complemento:"",apijs:"i3GEO.navega.zoomin()"},"60":{titulo:"Afastar",diretorio:"i3geo/classesjs/classe_navega.js",categoria:"7",pt:"Afasta o mapa tendo como refer&ecirc;ncia o ponto central. O afastamento ocorre por um fator fixo, modificando a escala atual.",complemento:"",apijs:"i3GEO.navega.zoomout()"},"61":{titulo:"Aproximar regi&atilde;o",diretorio:"i3geo/classesjs/classe_navega.js",categoria:"7",pt:"Ao ativar essa op&ccedil;&atilde;o deve-se desenhar um ret&acirc;ngulo sobre o mapa abrangendo a regi&atilde;o que se quer enquadrar a &aacute;rea de visualiza&ccedil;&atilde;o. O resultado &eacute; a aproxima&ccedil;&atilde;o do mapa em uma determinada regi&atilde;o.",complemento:"Para desenhar o ret&acirc;ngulo deve-se clicar em um ponto do mapa e arrastar o mouse. A medida que isso ocorre, &eacute; desenhado um ret&acirc;ngulo sobre o mapa.",apijs:"i3GEO.navega.zoomBox"},"62":{titulo:"Definir escala",diretorio:"i3geo/classesjs/classe_navega.js",categoria:"7",pt:"A altera&ccedil;&atilde;o da escala do mapa &eacute; uma das formas de aproximar ou afastar a visualiza&ccedil;&atilde;o. Nessa op&ccedil;&atilde;o, para alterar a escala deve-se digitar o novo valor do denominador da escala que ser&aacute; aplicado.",complemento:"",apijs:"i3GEO.navega.aplicaEscala(locaplic,sid,escala)"},"63":{titulo:"Centralizar em um ponto",diretorio:"i3geo/classesjs/classe_navega.js",categoria:"7",pt:"Essa op&ccedil;&atilde;o desloca o centro do mapa atual para um determinado ponto com coordenadas conhecidas. A escala do mapa n&atilde;o &eacute; alterada.",complemento:"Para usar essa opera&ccedil;&atilde;o, digite as coordenadas desejadas nos campos de formul&aacute;rio utilizados para mostrar a coordenada geogr&aacute;fica atual do mouse.",apijs:"i3GEO.navega.zoomponto(locaplic,sid,x,y)"},"64":{titulo:"Aproximar ou afastar din&acirc;mico",diretorio:"i3geo/classesjs/classe_barradebotoes.js",categoria:"7",pt:"A opera&ccedil;&atilde;o de zoom din&acirc;mico permite afastar ou aproximar o mapa por meio de um controle deslizante. O usu&aacute;rio move um controle para cima ou para baixo e ao soltar o mouse o mapa &eacute; modificado.",complemento:"",apijs:"i3GEO.barraDeBotoes.ativaBarraDeZoom()"},"65":{titulo:"Zoom pr&oacute;ximo ou anterior",diretorio:"i3geo/classesjs/classe_gadgets.js",categoria:"7",pt:"Ao navegar pelo mapa as posi&ccedil;&otilde;es obtidas s&atilde;o armazenadas em mem&oacute;ria. Essa op&ccedil;&atilde;o permite reestabelecer a abrang&ecirc;ncia espacial anterior ou posterior, se houver, de forma sequencial.",complemento:"Essa opera&ccedil;&atilde;o n&atilde;o restaura a situa&ccedil;&atilde;o do mapa apenas modifica a abrang&ecirc;ncia espacial com base nos temas vis&iacute;veis no mapa atual.",apijs:"i3GEO.gadgets.mostraHistoricoZoom(id)"},"66":{titulo:"Mapa de refer&ecirc;ncia",diretorio:"i3geo/classesjs/classe_maparef.js",categoria:"7",pt:"O mapa de refer&ecirc;ncia consiste em uma imagem com escala diferente do corpo do mapa atual, permitindo que a abrang&ecirc;ncia geogr&aacute;fica atual seja mostrada em um contexto mais amplo. A navega&ccedil;&atilde;o pode ser feito sobre o mapa de refer&ecirc;ncia, deslocando-se o ret&acirc;ngulo que mostra a abrang&ecirc;ncia atual para um outro local.",complemento:"O mapa de refer&ecirc;ncia pode ser fixo ou n&atilde;o. O mapa de refer&ecirc;ncia din&acirc;mico pode ser montado tendo como base as camadas vistas no mapa atual. Nesse caso, a topon&iacute;mia especificada e a simbologia podem gerar mapas com pouca visibilidade.",apijs:"i3GEO.maparef"},"67":{titulo:"Extens&atilde;o total",diretorio:"",categoria:"7",pt:"Ao iniciar o mapa, a primeira extens&atilde;o geogr&aacute;fica utilizada para mostrar o mapa &eacute; armazenada em mem&oacute;ria. Essa op&ccedil;&atilde;o permite aplicar essa extens&atilde;o ao mapa atual, restaurando a abrang&ecirc;ncia geogr&aacute;fica inicial.",complemento:"A aplica&ccedil;&atilde;o da extens&atilde;o total n&atilde;o restaura a situa&ccedil;&atilde;o inicial de camadas ligadas e desligadas, mantendo a situa&ccedil;&atilde;o do mapa atual.",apijs:""},"68":{titulo:"Google Maps",diretorio:"i3geo/ferramentas/googlemaps",categoria:"7",pt:"Essa op&ccedil;&atilde;o mostra em uma janela interna o mapa produzido pelo Google Maps. A janela &eacute; sincronizada com o mapa mostrado no i3Geo, permitindo que a navega&ccedil;&atilde;o em um ou noutro modifique os dois mapas.",complemento:"Al&eacute;m das op&ccedil;&otilde;es de tipo de mapa &eacute; poss&iacute;vel tra&ccedil;ar rotas no Google Maps e mostrar nessa janela o mapa visto no i3Geo. Ao tra&ccedil;ar uma rota, o resultado &eacute; inclu&iacute;do no i3Geo como uma nova camada, que pode inclusive ser obtida via download. Quando o mapa do i3Geo &eacute; inclu&iacute;do no mapa do Google, os pol&iacute;gonos com s&iacute;mbolos n&atilde;o transparentes podem encubrir o mapa, nesse caso, altere a legenda das camadas para permitir a visualiza&ccedil;&atilde;o correta.",apijs:"i3GEO.configura.funcoesBotoes a chave de acesso da API do Google Maps &eacute; definida em ms_configura.php"},"69":{titulo:"Visualiza&ccedil;&atilde;o 3d",diretorio:"i3geo/ferramentas/3d",categoria:"7",pt:"A visualiza&ccedil;&atilde;o em 3d gera um arquivo no formato 'wrl' considerando a abrang&ecirc;ncia espacial do mapa atual. Para a gera&ccedil;&atilde;o do modelo &eacute; utilizado um mapa de fundo com a representa&ccedil;&atilde;o da altimetria, esse mapa &eacute; obtido por meio de um servi&ccedil;o WMS baseado nos dados SRTM.",complemento:"Para ver o modelo 3d &eacute; necess&aacute;rio a instala&ccedil;&atilde;o de um plugin no navegador, ou ent&atilde;o, deve-se salvar o arquivo para visualiza&ccedil;&atilde;o em algum outro software. O modelo 3d &eacute; simplificado, permitindo apenas a navega&ccedil;&atilde;o b&aacute;sica.",apijs:"i3GEO.configura.funcoesBotoes"},"70":{titulo:"Identificar",diretorio:"i3geo/ferramentas/identifica",categoria:"8",pt:"Com essa ferramenta ativa pode-se clicar em um elemento do mapa e visualizar os atributos associados. Quando a janela &eacute; aberta, deve-se escolher o tema que ser&aacute; identificado em uma lista. Al&eacute;m dos temas, s&atilde;o mostrados alguns sistemas especiais que permitem a busca de dados em fun&ccedil;&atilde;o da coordenada clicada, por exemplo, &eacute; poss&iacute;vel abrir uma p&aacute;gina do IBGE com informa&ccedil;&otilde;es sobre munic&iacute;pios.",complemento:"Alguns temas permitem a identifica&ccedil;&atilde;o sem o clique no mapa, os dados s&atilde;o mostrados quando o mouse &eacute; estacionado sobre um ponto no mapa. Em 'Buscadores web' &eacute; mostrada uma lista de sistemas que permitem a busca de dados por meio de coordenadas. A guia propriedades permite definir a toler&acirc;ncia de busca, ou seja, quantos pixels ser&atilde;o considerados entorno do ponto clicado.",apijs:"i3GEO.configura.funcoesBotoes"},"71":{titulo:"Busca r&aacute;pida",diretorio:"i3geo/ferramentas/buscarapida",categoria:"8",pt:"Essa op&ccedil;&atilde;o permite localizar dados com base em palavras ou frases, por exemplo 'S&atilde;o Paulo'. A busca &eacute; feita nos temas do mapa ou em um Web Service cujo banco de dados pode variar em cada instala&ccedil;&atilde;o do i3Geo. Quando um lugar &eacute; encontrado, uma nova janela &eacute; mostrada na tela com o resultado. Clicando-se nos links dispon&iacute;veis, o mapa &eacute; deslocado para o lugar definido e uma nova camada &eacute; adicionada ao mapa.",complemento:"A busca &eacute; feita tamb&eacute;m no Web Service do Google, permitindo a localiza&ccedil;&atilde;o de endere&ccedil;os. Utilize as propriedades para definir se a busca ser&aacute; feita ou n&atilde;o nos temas existentes no mapa. Apenas os temas que tiverem sido preparados pelo administrador do i3Geo pode ser pesquisado.",apijs:"i3GEO.gadgets.mostraBuscaRapida(id)",gadget:"ferramentas/buscarapida/gadget.php?palavra=tanabi&locaplic=../../../i3geo"},"72":{titulo:"Localizar IP",diretorio:"i3geo/classesjs/classe_navega.js",categoria:"8",pt:"Ao clicar nesse &iacute;cone &eacute; mostrado um ponto no mapa identificando a coordenada geogr&aacute;fica da localiza&ccedil;&atilde;o do usu&aacute;rio.",complemento:"Essa fun&ccedil;&atilde;o &eacute; baseada em uma tabela de correspond&ecirc;ncia entre o n&uacute;mero IP e localidades. A localiza&ccedil;&atilde;o ser&aacute; mais precisa quanto for essa tabela de correspond&ecirc;ncia.",apijs:"i3GEO.navega.zoomIP()"},"73":{titulo:"Wikipedia",diretorio:"i3geo/ferramentas/wiki",categoria:"8",pt:"A <a href='http://pt.wikipedia.org/wiki/P%C3%A1gina_principal' target='_blank' >Wikipedia</a> &eacute; uma base de conhecimento livre. Alguns dos artigos existentes s&atilde;o georreferenciados, permitindo sua busca por regi&atilde;o geogr&aacute;fica. Essa ferramenta abre uma janela sobre o mapa procurando resultados na Wikipedia para a regi&atilde;o de abrang&ecirc;ncia do mapa.",complemento:"Para maior performance, o mapa deve estar na escala 1:500.000 ou maior. Ao navegar no mapa, a lista de lugares &eacute; atualizada.",apijs:"i3GEO.configura"},"74":{titulo:"Localizar fotos",diretorio:"i3geo/ferramentas/buscafotos",categoria:"8",pt:"Existem v&aacute;rios servi&ccedil;os na Internet que permitem cadastrar e visualizar fotos georreferenciadas. Essa ferramenta procura fotos para a regi&atilde;o de abrang&ecirc;ncia do mapa nos servi&ccedil;os Panor&acirc;mio, Flicker e Locr.",complemento:"Para maior performance, o mapa deve estar na escala 1:150.000 ou maior.Ao passar o mouse sobre a foto, a sua localiza&ccedil;&atilde;o &eacute; mostrada no mapa.",apijs:"i3GEO.configura"},"75":{titulo:"Conflu&ecirc;ncias",diretorio:"i3geo/ferramentas/confluence",categoria:"8",pt:"O projeto 'Confluences' registra expedi&ccedil;&otilde;es aos lugares na terra cuja coordenada geogr&aacute;fica corresponde ao cruzamento de 1 grau por 1 grau. Essa ferramenta permite localizar as conflu&ecirc;ncias no mapa que est&aacute; sendo visto e abrir a p&aacute;gina correspondente.",complemento:"O mapa deve estar pelo menos na escala 1:2.000.000 para que as conflu&ecirc;ncias sejam mostradas.",apijs:"i3GEO.navega.dialogo.confluence"},"76":{titulo:"Conex&atilde;o WMS-T",diretorio:"i3geo/ferramentas/wmstime",categoria:"4",pt:"Uma conex&atilde;o WMS-T permite que dados dispon&iacute;veis em outros servidores sejam inclu&iacute;dos como camadas no i3Geo. Na ferramenta de conex&atilde;o &eacute; mostrada uma lista de endere&ccedil;os previamente cadastrados, mas pode-se digitar um outro endere&ccedil;o qualquer, desde que seja um servi&ccedil;o no padr&atilde;o WMS-T. Ap&oacute;s ser escolhido o servi&ccedil;o, deve-se definir o per&iacute;odo das imagens e o intervalo desejado (di&aacute;rio, mensal ou anual).",complemento:"Ap&oacute;s definido o per&iacute;odo, a ferramenta far&aacute; a busca das imagens para sua apresenta&ccedil;&atilde;o em sequ&ecirc;ncia. Ao parar a anima&ccedil;&atilde;o, a imagem mostrada poder&aacute; ser acrescentada ao mapa como uma nova camada. A visualiza&ccedil;&atilde;o das imagens s&oacute; &eacute; poss&iacute;vel ap&oacute;s a carga de todas as datas selecionadas. Caso seja necess&aacute;rio cancelar a carga de uma ou mais datas, deve-se clicar em 'parar' na lista de imagens que est&atilde;o sendo carregadas.",apijs:"i3GEO.arvoreDeTemas"},"78":{titulo:"Zoom para a sele&ccedil;&atilde;o",diretorio:"i3geo/classesjs/classe_tema.js",categoria:"5",pt:"Ajusta a extens&atilde;o geogr&aacute;fica do mapa tendo como base os elementos selecionados de um tema.",complemento:"Essa op&ccedil;&atilde;o &eacute; mostrada como um pequeno &iacute;cone, localizado ao lado do nome do tema, quando este possuir sele&ccedil;&atilde;o.",apijs:"i3GEO.tema.zoomsel(idtema)"},"79":{titulo:"Exporta SLD",diretorio:"i3geo/classesjs/classe_tema.js",categoria:"5",pt:"Exporta a legenda atual do tema para o formato SLD. O XML &eacute; mostrado na tela.",complemento:"O formato SLD &eacute; utilizado em clientes WMS. Essa fun&ccedil;&atilde;o objetiva auxiliar a constru&ccedil;&atilde;o de web Services OGC.",apijs:"i3GEO.tema.dialogo.sld(idtema) Esta op&ccedil;&atilde;o n&atilde;o possu&iacute; um diret&oacute;rio em i3geo/ferramentas. O XML &eacute; gerado diretamente na tela pelo programa classesphp/mapa_controle.php"},"80":{titulo:"Inserir gr&aacute;fico interativamente",diretorio:"i3geo/ferramentas/inseregrafico",categoria:"5",pt:"Insere gr&aacute;ficos em um elemento de um tema de forma interativa.",complemento:"Para inserir gr&aacute;ficos no mapa, &eacute; necess&aacute;rio escolher os atributos do tema que ser&atilde;o considerados para a gera&ccedil;&atilde;o do gr&aacute;fico. Feito isso, clique sobre um elemento do tema utilizado e o gr&aacute;fico ser&aacute; inserido no mapa na forma de um novo tema.",apijs:"i3GEO.mapa.dialogo.cliqueGrafico()"},"81":{titulo:"Converter tema em KML",diretorio:"i3geo/ferramentas/convertekml",categoria:"5",pt:"Convertendo um tema em KML &eacute; poss&iacute;vel utilizar outros softwares para visualizar os dados. O i3Geo permite isso de duas maneiras, a primeira utiliza um WMS embutido dentro de um KML, ou seja, os dados s&atilde;o vistos como uma imagem raster georreferenciada, sendo que as coordenadas e atributos n&atilde;o s&atilde;o acess&iacute;veis diretamente.Dessa forma, grandes volumes de dados podem ser utilizados, pois n&atilde;o ocorre o download dos arquivos.<p>A segunda maneira converte os dados de um tema em arquivos KML compactados contendo as coordenadas e atributos dos elementos que comp&otilde;em o tema.",complemento:"KML &eacute; um padr&atilde;o internacional e n&atilde;o &eacute; espec&iacute;fico do i3Geo. Conforme as caracter&iacute;sticas de cada servidor onde o i3Geo estiver instalado, o KML poder&aacute; permanecer dispon&iacute;vel por per&iacute;odos de tempo vari&aacute;veis. Para usar o KML no Google Earth, utilize a op&ccedil;&atilde;o desse software chamada 'adicionar link de rede'",apijs:"i3GEO.mapa.dialogo.convertekml()"},"82":{titulo:"Download",diretorio:"i3geo/ferramentas/download",categoria:"2",pt:"Permite o download de um tema escolhido. No caso de dados vetoriais derivados de outros temas ou camadas com elementos selecionados, os dados s&atilde;o sempre fornecidos no formato 'shapefile'. Nos outros casos, o arquivo fornecido depender&aacute; da configura&ccedil;&atilde;o de cada camada, mas, por padr&atilde;o, os dados s&atilde;o fornecidos em 'shapefile'",complemento:"",apijs:"i3GEO.tema.dialogo.download()"},"83":{titulo:"Inserir texto interativamente",diretorio:"i3geo/ferramentas/inseretxt",categoria:"5",pt:"Insere textos em local do mapa de forma interativa.",complemento:"Voc&ecirc; pode inserir um texto espec&iacute;fico no mapa simplesmente digitando o texto na janela da ferramenta e clicando no local desejado no mapa, ou ainda utilizar os atributos de uma camada para capturar o texto da regi&atilde;o clicada.",apijs:"i3GEO.mapa.dialogo.cliqueTexto()"},"84":{titulo:"Gr&aacute;fico interativo",diretorio:"i3geo/ferramentas/graficointerativo1",categoria:"3",pt:"Gerador de representa&ccedil;&atilde;o gr&aacute;fica de dados tabulares. Abre uma janela flutuante onde o usu&aacute;rio pode escolher os dados e o tipo de gr&aacute;fico desejado. Os dados s&atilde;o baseados em um dos temas existentes no mapa.",complemento:"Existem v&aacute;rias op&ccedil;&otilde;es de tratamento dos dados que permitem, por exemplo, mostrar os percentuais ou os dados brutos. Pode-se ainda ativar a navega&ccedil;&atilde;o din&acirc;mica, o que permite atualizar o gr&aacute;fico conforme &eacute; feita a navega&ccedil;&atilde;o sobre o mapa.",apijs:"i3GEO.analise.dialogo.graficoInterativo1()"},"85":{titulo:"Miniaturas",diretorio:"i3geo/ferramentas/carouseltemas",categoria:"6",pt:"Abre uma janela flutuante que mostra imagens miniatura de cada tema existente na &aacute;rvore de temas. O usu&aacute;rio pode clicar em uma das imagens para adicionar o tema ao mapa atual.",complemento:"As miniaturas devem existir previamente para aparecerem nessa ferramenta. Para gerar as miniaturas, o administrador do i3Geo pode usar o sistema de administra&ccedil;&atilde;o.",apijs:"i3GEO.arvoreDeTemas.dialogo.carouselTemas()"},"86":{titulo:"Editor SQL",diretorio:"i3geo/ferramentas/editorsql",categoria:"5",pt:"Permite modificar o SQL utilizado para compor os dados referentes ao tema. Apenas temas baseados em bancos de dados podem utilizar essa fun&ccedil;&atilde;o, sendo que o administrador do i3Geo pode bloque&aacute;-la utilizando do sistema de administra&ccedil;&atilde;o. As fun&ccedil;&otilde;es SQL de modifica&ccedil;&atilde;o de dados n&atilde;o s&atilde;o suportadas (UPDATE, INSERT, DELETE, etc.)",complemento:"O Mapserver utiliza uma express&atilde;o na linguagem SQL para definir os dados que ir&atilde;o compor um tema. A edi&ccedil;&atilde;o do SQL possibilita o uso de express&otilde;es customizadas, baseadas na sintaxe SQL que o banco de dados utilizado suportar. A janela de di&aacute;logo permite ainda listar as colunas dispon&iacute;veis bem como os dados de cada coluna, facilitando a defini&ccedil;&atilde;o do novo SQL.",apijs:"i3GEO.tema.dialogo.editorsql()"},"87":{titulo:"Rede Metar",diretorio:"i3geo/ferramentas/metar",categoria:"8",pt:"A rede <a href='http://weather.noaa.gov/' target='_blank' >metar</a> reune dados de esta&ccedil;&otilde;es meteorol&oacute;gicas espalhadas por toto o mundo. Essa ferramenta mostra as esta&ccedil;&otilde;es existentes na extens&atilde;o geogr&aacute;fica do mapa",complemento:"Os dados da rede Metar s&atilde;o acessados indiretamente por meio dos Web Services do site Geonames.",apijs:"i3GEO.navega.dialogo.metar"},"88":{titulo:"Linha do tempo",diretorio:"i3geo/ferramentas/linhadotempo",categoria:"3",pt:"Constr&oacute;i um gr&aacute;fico do tipo 'linha do tempo' tendo como fonte dos dados a tabela de atributos de um tema. Veja: <a href='http://www.simile-widgets.org/timeline/' target=_blank >Simline</a>",complemento:"Ao navegar pelo mapa, o gr&aacute;fico &eacute; atualizado sendo utilizado apenas os dados existentes na extens&atilde;o do mapa. Ao passar o mouse sobre um dos nomes mostrados no gr&aacute;fico, &eacute; indicado a posi&ccedil;&atilde;o no mapa. Ao ser clicado um &iacute;cone no gr&aacute;fico, abre-se um bal&atilde;o com informa&ccedil;&otilde;es adicionais, podendo incluir links e imagens. O gr&aacute;fico s&oacute; &eacute; mostrado para os temas que estiverem configurados pelo administrador do i3Geo.",apijs:"i3GEO.configura"},"89":{titulo:"Tipo de imagem",diretorio:"i3geo/ferramentas/outputformat",categoria:"1",pt:"Modifica o tipo de imagem utilizada na gera&ccedil;&atilde;o do mapa.",complemento:"Modifica o par&acirc;metro OUTPUTFORMAT do mapa em uso permitindo-se escolher entre PNG e JPEG com tecnologia de gera&ccedil;&atilde;o AGG ou GD.",apijs:"i3GEO.mapa.dialogo.outputformat()"},"90":{titulo:"Cortina",diretorio:"i3geo/ferramentas/cortina",categoria:"5",pt:"Permite mostrar e esconder uma camada existente no mapa em um movimento cont&iacute;nuo. O efeito 'cortina' permite comparar um tema com outro.",complemento:"",apijs:"i3GEO.tema.dialogo.cortina()"},"91":{titulo:"Aplicar SLD",diretorio:"i3geo/classesjs/classe_tema.js",categoria:"5",pt:"Aplica um arquivo XML, no formato SLD, ao tema ativo.",complemento:"SLD &eacute; um formato padr&atilde;o que permite definir filtros e simbologia. V&aacute;rios softwraes permitem criar arquivos nesse padr&atilde;o.",apijs:"i3GEO.tema.dialogo.aplicarsld()"},"92":{titulo:"Salvar o mapfile",diretorio:"i3geo/ferramentas/salvamapfile",categoria:"5",pt:"Salva as defini&ccedil;&otilde;es da camada no arquivo mapfile de origem",complemento:"Essa op&ccedil;&atilde;o s&oacute; &eacute; ativada para usu&aacute;rios que s&atilde;o administradores. Permite que a camada seja alterada, por exemplo, modificando-se a legenda, e que o resultado seja salvo nas defini&ccedil;&otilde;es originais da camada.",apijs:"i3GEO.tema.dialogo.salvaMapfile()"},"93":{titulo:"Coment&aacute;rios",diretorio:"i3geo/ferramentas/comentarios",categoria:"5",pt:"Mostra os coment&aacute;rios existentes sobre o tema e permite ao usu&aacute;rio inserir novos",complemento:"Para entar com um coment&aacute;rio, o usu&aacute;rio precisa ser autenticado em alguma das redes sociais compat&iacute;veis com a rotina de login dispon&iacute;vel no i3Geo",apijs:"i3GEO.tema.dialogo.comentario()"},"94":{titulo:"Centro m&eacute;dio",diretorio:"i3geo/ferramentas/centromassa",categoria:"3",pt:"O centro m&eacute;dio &eacute; uma medida da distribui&ccedil;&atilde;o de um conjunto de pontos. Sendo definido por Gerardi & Silva (1980) como: o ponto que minimiza a soma das dist&acirc;ncias quadr&aacute;ticas a todos os outros pontos do plano",complemento:"Mais detalhes em http://www.criminologia-rsm.org/LinkClick.aspx?fileticket=XT%2BDy%2BNyrZM%3D&tabid=484&mid=1614",apijs:"i3GEO.analise.dialogo.centromassa()"},"95":{titulo:"Temas mais populares",diretorio:"",categoria:"4",pt:"Cada vez que um usu&aacute;rio adiciona uma camada ao mapa, por meio do cat&aacute;logo de temas, &eacute; feito um registro no banco de dados de administra&ccedil;&atilde;o. Esse registro &eacute; cumulativo e permite classificar os temas conforme sua popularidade.",complemento:"",apijs:"i3GEO.arvoreDeTemas"},"96":{titulo:"Gr&aacute;fico de perfil",diretorio:"",categoria:"3",pt:"Cria um gr&aacute;fico de perfil com base em um conjunto de dados contendo os valores de Z.",complemento:"Os valores de Z podem ser obtidos de um tema ou de um servi&ccedil;o do tipo Google API",apijs:"i3GEO.analise"},"97":{titulo:"Filtro de camadas",diretorio:"",categoria:"7",pt:"Filtra as camadas que s&atilde;o mostradas na &aacute;rvore de camadas conforme as caracter&iacute;sticas de cada uma.",complemento:"",apijs:"i3GEO.arvoreDeCamadas.dialogo.filtro"},"98":{titulo:"Importar WMC",diretorio:"i3geo/ferramentas/importarwmc",categoria:"4",pt:"Adiciona ao mapa camadas definidas em um arquivo XML no padr&atilde;o WMC 'Web Map Context'. O WMC permite que mapas sejam transferidos entre aplica&ccedil;&otilde;es.",complemento:"O arquivo XML pode estar em um servidor ou pode ser feito o upload para o servidor do i3Geo",apijs:"i3GEO.arvoreDeTemas.dialogo.importarwmc()"},"99":{titulo:"Tela remota",diretorio:"i3geo/ferramentas/telaremota",categoria:"7",pt:"Cria um link que permite abrir o mapa atual em outro computador ou navegador. O mapa clonado &eacute; atualizado conforme o original for sendo modificado.",complemento:"Essa funcionalidade permite que um mapa seja mostrado em uma tela remota com uma interface diferente da original. &Uacute;til para proje&ccedil;&atilde;o em tel&otilde;es e salas de situa&ccedil;&atilde;o.",apijs:"i3GEO.mapa.dialogo.telaRemota()"},"100":{titulo:"Upload KML",diretorio:"i3geo/ferramentas/uploadkml",categoria:"4",pt:"Permite que o usu&aacute;rio fa&ccedil;a o upload de um arquivo KML ou KMZ para o servidor para que seja acrescentado como uma camada ao mapa.",complemento:"O arquivo &eacute; armazenado no servidor temporariamente. &Eacute; necess&aacute;rio que o usu&aacute;rio saiba qual o tipo de elementos existentes no arquivo KML e qual o nome do folder que ser&aacute; utilizado.",apijs:"i3GEO.arvoreDeTemas.dialogo.uploadkml()"},"101":{titulo:"Temporizador",diretorio:"",categoria:"5",pt:"Aplica um temporizador que atualiza uma determinada camada ap&oacute;s um intervalo de tempo e de forma cont&iacute;nua. Para finalizar o temporizador, digite o ou vazio e aplique novamente.",complemento:"",apijs:"i3GEO.tema.temporizador()"},"102":{titulo:"Opacidade interativa",diretorio:"i3geo/ferramentas/opacidademapa",categoria:"7",pt:"Altera a opacidade do mapa de forma interativa. Aplica-se aos temas que n&atilde;o est&atilde;o definidos como 'fundo'. A altera&ccedil;&atilde;o &eacute; feita diretamente no objeto HTML, sendo que o efeito &eacute; imediato.",complemento:"",apijs:"i3GEO.mapa.dialogo.opacidade()"},"103":{titulo:"Upload de GPX",diretorio:"i3geo/ferramentas/uploadgpx",categoria:"4",pt:"Permite que um arquivo do tipo GPX, normalmente gerado por programas que utilizam GPS, seja enviado ao servidor e inclu&iacute;do no mapa como uma nova camada. O arquivo GPX ser&aacute; armazenado no servidor onde o i3geo est&aacute; instalado e permanecer&aacute; l&aacute; at&eacute; que os arquivos tempor&aacute;rios sejam apagados.",complemento:"N&atilde;o utilize essa op&ccedil;&atilde;o se existir alguma restri&ccedil;&atilde;o ao uso do arquivo e se a pol&iacute;tica de acesso aos dados, definidas pela entidade que hospeda o i3geo, n&atilde;o for compat&iacute;velcom essas restri&ccedil;&otilde;es.",apijs:"i3GEO.arvoreDeTemas.dialogo.uploadgpx()"},"104":{titulo:"Upload de KML",diretorio:"i3geo/ferramentas/uploadkml",categoria:"4",pt:"Permite que um arquivo do tipo KML, seja enviado ao servidor e inclu&iacute;do no mapa como uma nova camada. O arquivo GPX ser&aacute; armazenado no servidor onde o i3geo est&aacute; instalado e permanecer&aacute; l&aacute; at&eacute; que os arquivos tempor&aacute;rios sejam apagados.",complemento:"N&atilde;o utilize essa op&ccedil;&atilde;o se existir alguma restri&ccedil;&atilde;o ao uso do arquivo e se a pol&iacute;tica de acesso aos dados, definidas pela entidade que hospeda o i3geo, n&atilde;o for compat&iacute;velcom essas restri&ccedil;&otilde;es.",apijs:"i3GEO.arvoreDeTemas.dialogo.uploadkml()"},"105":{titulo:"Conex&atilde;o KML",diretorio:"i3geo/ferramentas/carregakml",categoria:"4",pt:"Cria um novo layer com base no endere&ccedil;o (url) de um arquivo KML. O layer &eacute; baseado em uma conex&atilde;o OGR.",complemento:"S&atilde;o criadas 3 novas camadas no mapa, uma para pontos, uma para linhas e outra para os pol&iacute;gonos. N&atilde;o necessariamente existir&atilde;o elementos nas tr&ecirc;s camadas.",apijs:"i3GEO.arvoreDeTemas.carregakml()"},"106":{titulo:"Conex&atilde;o GeoJson",diretorio:"i3geo/ferramentas/conectargeojson",categoria:"4",pt:"Cria um novo layer com base no endere&ccedil;o (url) de um arquivo no formato GeoJson. O layer &eacute; baseado em uma conex&atilde;o OGR.",complemento:"S&atilde;o criadas 3 novas camadas no mapa, uma para pontos, uma para linhas e outra para os pol&iacute;gonos. N&atilde;o necessariamente existir&atilde;o elementos nas tr&ecirc;s camadas.",apijs:"i3GEO.arvoreDeTemas.conectargeojson()"},"107":{titulo:"Anima&ccedil;&atilde;o",diretorio:"i3geo/ferramentas/animacao",categoria:"1",pt:"Mostra camadas em uma sequ&ecirc;ncia definida pelo usu&aacute;rio e em um determinado intervalo de tempo. As camadas s&atilde;o automaticamente desligadas e ligadas, formando uma sequ&ecirc;ncia que proporciona um efeito de anima&ccedil;&atilde;o",complemento:"",apijs:"i3GEO.mapa.dialogo.animacao()"},"108":{titulo:"Mapa tem&aacute;tico 3d",diretorio:"i3geo/ferramentas/tme",categoria:"5",pt:"Cria um arquivo no formato KML, representando os dados de uma coluna da tabela de atributos como elementos em 3d. Mais detalhes em http://thematicmapping.org/",complemento:"",apijs:"i3GEO.tema.dialogo.tme()"},"109":{titulo:"Busca de metadados na INDE",diretorio:"i3geo/ferramentas/buscainde",categoria:"8",pt:"Busca metadados no banco de dados da Infraestrutura Nacional de Dados Espaciais (INDE) do Brasil.",complemento:"A busca ainda &eacute; experimental, permitindo apenas a localiza&ccedil;&atilde;o dos registros, sem que o tema possa ser adicionado diretamente ao mapa.",apijs:"i3GEO.arvoreDeTemas.dialogo.buscainde()"},"110":{titulo:"Remove camadas em lote",diretorio:"i3geo/ferramentas/excluirarvore",categoria:"6",pt:"Lista as camadas que est&atilde;o no mapa para que o usu&aacute;rio escolha quais deseja remover. As camadas utilizadas no in&iacute;cio do mapa aparecem desmarcadas na lista.",complemento:"",apijs:"i3GEO.arvoreDeCamadas.dialogo.excluir()"},"111":{titulo:"Localiza regi&otilde;es cadastradas",diretorio:"i3geo/ferramentas/metaestat",categoria:"6",pt:"Lista as regi&otilde;es cadastradas no sistema de metadados estat&iacute;sticos conforme a hierarquia definida. Conforme uma regi&atilde;o &eacute; escolhida, o mapa tem a extens&atilde;o geogr&aacute;fica alterada, destacando a escolha. Essa mesma ferramenta &eacute; usada para aplicar filtros. Os filtros funcionam apenas nas camadas que forem oriundas da aplica&ccedil;&atilde;o de gera&ccedil;&atilde;o de cartogramas estat&iacute;sticos.",complemento:"",apijs:"i3GEO.mapa.dialogo.locregiao()"},"112":{titulo:"&Aacute;rvore de endere&ccedil;os WMS Metaestat",diretorio:"classe_arvoredetemas.js",categoria:"4",pt:"Mostra os WMS cuja origem &eacute; o sistema de metadados estat&iacute;sticos. Esse sistema apresenta cartogramas gerados de forma din&acirc;mica no padr&atilde;o WMS-Time.",complemento:"",apijs:"i3GEO.arvoreDeTemas.listaWMSmetaestat(node)"},"113":{titulo:"Marcador",diretorio:"classe_marcador.js",categoria:"7",pt:"Os marcadores permitem armazenar a regi&atilde;o de abrang&ecirc;ncia do mapa que est&aacute; sendo visto para que seja poss&iacute;vel voltar a essa regi&atilde;o. Para cinar as op&ccedil;&otilde;es de marca&ccedil;&atilde;o utilize a op&ccedil;&atilde;o Marcadores existente no menu suspenso. O menu permite remover marcadores, exportar, importar e converter em shapefile. Os marcadores s&atilde;o mantidos como cookies no navegador, por isso, ao limpar o seu hist&oacute;rico os registros podem ser perdidos. Para evitar isso, exporte seus marcadores como texto e depois importe-os novamente.",complemento:"",apijs:"i3GEO.marcador.prompt()"},"114":{titulo:"Visualizador INDE",diretorio:"i3geo/ferramentas/vinde",categoria:"7",pt:"Essa ferramenta apresenta os servi&ccedil;os WMS cadastrados no servidor da Infraestrutura Nacional de Dados Espaciais do Brasil. O usu&aacute;rio pode escolher diferentes camadas para visualiza&ccedil;&atilde;o e consulta.",complemento:"",apijs:"i3GEO.arvoreDeTemas.dialogo.vinde()"},"115":{titulo:"Prefer&ecirc;ncias",diretorio:"i3geo/ferramentas/preferencias",categoria:"1",pt:"Guarda as prefer&ecirc;ncias do usu&aacute;rio em rela&ccedil;&atilde;o aos par&acirc;metros que controlam a interface do mapa",complemento:"O usu&aacute;rio pode definir as prefer&ecirc;ncias para a interface do mapa, por exemplo, as configura&ccedil;&otilde;es iniciais de menu e ferramentas, temas que iniciam abertos, extens&atilde;o inicial do mapa etc. As informa&ccedil;&otilde;es de prefer&ecirc;ncias ficam armazenadas como cookies do navegador e podem ser restauradas para as configura&ccedil;&otilde;es iniciais por meio da bot&atilde;o ''Limpar'' ou pela limpeza dos cookies diretamente pelo navegador.",apijs:"i3GEO.mapa.dialogo.preferencias()"},"116":{titulo:"Upload de s&iacute;mbolo",diretorio:"i3geo/ferramentas/uploadsimbolo",categoria:"4",pt:"Envia para o servidor um arquivo de imagem que poder&aacute; ser utilizado como s&iacute;mbolo nas legendas das camadas",complemento:"",apijs:""},"117":{titulo:"SAIKU",diretorio:"i3geo/ferramentas/saiku",categoria:"5",pt:"Abre o sistema Saiku que permite o cruzamento de vari&aacute;veis estat&iacute;sticas. O Saiku utiliza o sistema de metadados estat&iacute;sticos para gerar cubos tridimensionais que permitem ao cruzamento de dados tabulares, gera&ccedil;&atilde;o de gr&aacute;ficos e relat&oacute;rios. O usu&aacute;rio deve adicionar ao mapa pelo menos uma camada com localidades originadas do sistema de metadados. Os elementos dessa camada que estiverem selecionados ser&atilde;o utilizados como filtro no Saiku.",complemento:"As vari&aacute;veis cruzadas no Saiku podem gerar artefatos como tabelas, gr&aacute;ficos, relat&oacute;rios e mapas que podem ser visualizados no i3Geo utilizando o bot&atilde;o 'Atualiza o mapa' presente na ferramenta de integra&ccedil;&atilde;o entre os sistemas.",apijs:""},"118":{titulo:"Geolocation",diretorio:"i3geo/ferramentas/geolocal",categoria:"6",pt:"Captura as coordenadas da posi&ccedil;&atilde;o atual do usu&aacute;rio. As coordenadas s&atilde;o capturadas individualmente ou por um intervalo de tempo. Os dados s&atilde;o mostrados em uma lista e no mapa.",complemento:"",apijs:"i3GEO.mapa.dialogo.geolocal()"},"119":{titulo:"Cria uma c&oacute;pia",diretorio:"i3geo/classesjs/classe_camadas.js",categoria:"5",pt:"Cria uma c&oacute;pia de uma camada existente no mapa e adiciona com novo nome.",complemento:"",apijs:"i3GEO.tema.copia(idtema)"},"120":{titulo:"V&iacute;ncula dados entre tabelas",diretorio:"i3geo/ferramentas/tabela/index.js",categoria:"5",pt:"Op&ccedil;&atilde;o utilizada na ferramenta tabela que pemrite vincular a listagem de registros entre tabelas que estejam em diferentes janelas flutuantes. Ao abrir duas tabelas de atributos, a janela de v&iacute;nculos permite definir quais as tabelas ser&atilde;o vinculadas e quais as colunas de liga&ccedil;&atilde;o. Ao marcar um registro em uma tabela, os registros semelhantes s&atilde;o marcados nas tabelas vinculadas.",complemento:"",apijs:""},"121":{titulo:"Mapa de calor",diretorio:"i3geo/ferramentas/heatmap/index.js",categoria:"3",pt:"Obt&eacute;m os dados de um tema pontual, linear ou poligonal e calcula para toda a &aacute;rea vis&iacute;vel os prov&aacute;veis valores. O resultado &eacute; uma representa&ccedil;&atilde;o cont&iacute;nua dos valores em classes de cores. O c&aacute;lculo da camada &eacute; feito diretamente no navegador utilizando-se um programa em javascript.",complemento:"A ferramenta adiciona um novo tema ao mapa contendo o mapa de calor e utiliza como refer&ecirc;ncia para a cria&ccedil;&atilde;o da legenda as classes da camada original. No caso de camadas lineares ou poligonais, ser&aacute; considerado o centroide de cada elemento.",apijs:"i3GEO.mapa.dialogo.heatmap()"},"122":{titulo:"MarkerCluster",diretorio:"i3geo/ferramentas/markercluster/index.js",categoria:"3",pt:"Cria uma camada vetorial com pontos que s&atilde;o agrupados conforme a proximidade. Os pontos agrupados s&atilde;o representados com um s&iacute;mbolo especial e &eacute; mostrado um texto indicando o total de pontos.",complemento:"",apijs:"i3GEO.mapa.dialogo.markercluster()"},"123":{titulo:"Congela a vis&atilde;o atual",diretorio:"i3geo/ferramentas/congelamapa/openlayers.php",categoria:"6",pt:"Abre uma nova janela com a visualiza&ccedil;&atilde;o atual do mapa, mantendo o n&iacute;vel de zoom e as camadas ativas.",complemento:"O mapa &eacute; mostrado na forma de uma imagem, ou seja, mant&eacute;m os elementos do mapa est&aacute;ticos mesmo que se desative as camadas ou altere a regi&atilde;o de visualiza&ccedil;&atilde;o do mapa original. Esta ferramenta &eacute; &uacute;til quando se deseja manter uma determinada regi&atilde;o do mapa sempre vis&iacute;vel enquanto se navega pelas demais regi&otilde;es do mesmo.",apijs:"i3GEO.mapa.dialogo.congelaMapa();"},"124":{titulo:"Cartogramas estat&iacute;sticos",diretorio:"i3geo/ferramentas/metaestat/index.js",categoria:"9",pt:"A ferramenta Cartogramas Estat&iacute;sticos &eacute; utilizada como uma integra&ccedil;&atilde;o entre o mapa interativo e o sistema de metadados estat&iacute;sticos. Al&eacute;m de funcionar como um cat&aacute;logo de camadas oriundas do sistema de metadados estat&iacute;sticos, ela permite a cria&ccedil;&atilde;o, edi&ccedil;&atilde;o e an&aacute;lise de vari&aacute;veis sem a necessidade de acesso ao sistema de administra&ccedil;&atilde;o.",complemento:"Voc&ecirc; pode construir um cartograma a partir da adi&ccedil;&atilde;o das vari&aacute;veis, medidas de vari&aacute;veis e par&acirc;metros constantes no sistema de metadados estat&iacute;sticos. Basta selecionar os componentes da camada e clicar em ''Adicionar camada ao mapa'.<p>O bot&atilde;o ''Edi&ccedil;&atilde;o'' abre o m&oacute;dulo ''Ajudante do editor'', que pode redirecionar o usu&aacute;rio para o ''Editor avan&ccedil;ado'' de vari&aacute;veis, diretamente no sistema de administra&ccedil;&atilde;o, para o ''Editor de limites'', onde o usu&aacute;rio pode editar os limites das camadas pertencentes ao cadastro de regi&otilde;es geogr&aacute;ficas, ou ainda acessar o gerenciador de banco de dados para a inclus&atilde;o de novos dados. Ainda por meio do ''Ajudante do editor'', o usu&aacute;rio pode editar vari&aacute;veis, medidas de vari&aacute;veis ou classifica&ccedil;&otilde;es, ou ainda criar novos elementos para a composi&ccedil;&atilde;o de uma camada no sistema de metadados estat&iacute;sticos.<p>O bot&atilde;o ''An&aacute;lise'' abre uma s&eacute;rie de ferramentas que podem ser utilizadas para uma configura&ccedil;&atilde;o e um exame mais aprofundado dos dados constantes nas vari&aacute;veis.",apijs:"javascript:i3GEO.mapa.dialogo.metaestat();"},"125":{titulo:"Aplicativos estat&iacute;sticos cadastrados",diretorio:"i3geo/ferramentas/metaestat/listamapas.js",categoria:"9",pt:"Lista os mapas cadastrados pelo publicador de mapas do sistema de metadados estat&iacute;sticos, apresentando as diferentes op&ccedil;&otilde;es de interface para abri-los.",complemento:"",apijs:"javascript:i3GEO.mapa.dialogo.metaestatListaMapas();"},"126":{titulo:"Layer KML (plugin)",diretorio:"i3geo/classesjs/classe_plugin.js",categoria:"4",pt:"Plugin que permite configurar um mapfile contendo um layer cujos dados ser&atilde;o inseridos no mapa como uma camada em KML. O KML deve ser fornecido como uma url, podendo estar em qualquer servidor, local ou externo.",complemento:"",apijs:""}}};g_traducao_ajuda_categorias={"1":{titulo:"Propriedades do mapa",observacao:"Funcionalidades que permitem alterar caracter&iacute;sticas gerais do mapa, como tamanho e filtro de cores."},"2":{titulo:"Arquivos"},"3":{titulo:"An&aacute;lise geogr&aacute;fica"},"4":{titulo:"Inclus&atilde;o de camadas",observacao:"O i3Geo utiliza um conceito de camadas dispon&iacute;veis no mapa e camadas adicionais. Camadas dispon&iacute;veis s&atilde;o as que podem ser consultadas, visualizadas e modificadas, compondo uma lista separada das camadas adicionais. Normalmente as camadas dispon&iacute;veis s&atilde;o um conjunto menor em rela&ccedil;&atilde;o ao total de temas que podem ser utilizados. Novos temas podem ser adicionados ao mapa por meio das op&ccedil;&otilde;es existentes na lista de temas, normalmente posicionada na guia '+Temas'."},"5":{titulo:"Opera&ccedil;&otilde;es sobre um tema",observacao:"Uma das caracter&iacute;sticas do i3Geo &eacute; a possibilidade de modifica&ccedil;&atilde;o das camadas vistas no mapa. As op&ccedil;&otilde;es que permitem isso s&atilde;o mostradas normalmente na lista de camadas dispon&iacute;veis no mapa atual. Essa lista &eacute; mostrada como uma &aacute;rvore hier&aacute;rquica sendo que cada camada &eacute; um dos n&oacute;s. Expandindo-se esse n&oacute;, tem-se acesso &agrave;s opera&ccedil;&otilde;es."},"6":{titulo:"Opera&ccedil;&otilde;es sobre o mapa"},"7":{titulo:"Navega&ccedil;&atilde;o",observacao:"As fun&ccedil;&otilde;es de navega&ccedil;&atilde;o permitem alterar a escala do mapa e modificar a abrang&ecirc;ncia espacial. Esse tipo de mudan&ccedil;a, principalmente de escala, afeta o contexto do mapa, modificando seu comportamento. Algumas camadas podem ser sens&iacute;veis &agrave; escala, mostrando ou n&atilde;o determinados elementos. Quando uma camada possuir muitos elementos, &eacute; aconselh&aacute;vel seu desligamento at&eacute; que a regi&atilde;o desejada seja encontrada. Algumas interfaces possuem mecanismos distintos de navega&ccedil;&atilde;o, como Google e openLayers. A lista abaixo contempla apenas a interface padr&atilde;o."},"8":{titulo:"Pesquisa"},"9":{titulo:"Metadados estat&iacute;sticos",observacao:""}};
3 \ No newline at end of file 3 \ No newline at end of file
classesjs/dicionario_ajuda.js
@@ -1051,6 +1051,14 @@ g_traducao_ajuda = { @@ -1051,6 +1051,14 @@ g_traducao_ajuda = {
1051 pt:"Lista os mapas cadastrados pelo publicador de mapas do sistema de metadados estat&iacute;sticos, apresentando as diferentes op&ccedil;&otilde;es de interface para abri-los.", 1051 pt:"Lista os mapas cadastrados pelo publicador de mapas do sistema de metadados estat&iacute;sticos, apresentando as diferentes op&ccedil;&otilde;es de interface para abri-los.",
1052 complemento:"", 1052 complemento:"",
1053 apijs:"javascript:i3GEO.mapa.dialogo.metaestatListaMapas();" 1053 apijs:"javascript:i3GEO.mapa.dialogo.metaestatListaMapas();"
  1054 + },
  1055 + "126": {
  1056 + titulo: "Layer KML (plugin)",
  1057 + diretorio:"i3geo/classesjs/classe_plugin.js",
  1058 + categoria:"4",
  1059 + pt:"Plugin que permite configurar um mapfile contendo um layer cujos dados ser&atilde;o inseridos no mapa como uma camada em KML. O KML deve ser fornecido como uma url, podendo estar em qualquer servidor, local ou externo.",
  1060 + complemento:"",
  1061 + apijs:""
1054 } 1062 }
1055 } 1063 }
1056 }; 1064 };
classesjs/i3geo_tudo_compacto6.js
@@ -405,7 +405,7 @@ if(typeof(i3GEO)===&#39;undefined&#39;){var i3GEO={}}i3GEO.gadgets={PARAMETROS:{&quot;mostraI @@ -405,7 +405,7 @@ if(typeof(i3GEO)===&#39;undefined&#39;){var i3GEO={}}i3GEO.gadgets={PARAMETROS:{&quot;mostraI
405 if(typeof(i3GEO)==='undefined'){var i3GEO={}}i3GEO.social={curtirFacebook:function(url,tipo){if(tipo==="comtotal"){return"<iframe src='http://www.facebook.com/plugins/like.php?href="+url+"&layout=button_count&show_faces=false&width=160&action=like&colorscheme=light&height=21' scrolling='no' frameborder='0' style='border:none; overflow:hidden; width:160px; height:21px;' allowTransparency='true'></iframe>"}if(tipo==="semtotal"){return"<iframe src='http://www.facebook.com/plugins/like.php?href="+url+"&layout=button_count&show_faces=false&action=like&colorscheme=light&height=21' scrolling='no' frameborder='0' style='border:none; overflow:hidden; width:100px; height:21px;' allowTransparency='true'></iframe>"}},publicarTwitter:function(url,tipo){var re=new RegExp("=","g");url=url.replace(re,'%3d');if(tipo==="comtotal"){return'<iframe allowtransparency="true" frameborder="0" scrolling="no" src="http://platform.twitter.com/widgets/tweet_button.html?count=horizontal&via=i3geo&url='+url+'" style="width:100px; height:21px;"></iframe>'}if(tipo==="semtotal"){return'<iframe allowtransparency="true" frameborder="0" scrolling="no" src="http://platform.twitter.com/widgets/tweet_button.html?count=none&via=i3geo&url='+url+'" style="width:65px; height:21px;"></iframe>'}},compartilhar:function(id,urlcf,urlpt,tipo,locaplic){if(!locaplic){locaplic=i3GEO.configura.locaplic}if(!tipo){tipo="comtotal"}var onde=$i(id),tabela="";if(tipo==="comtotal"){tabela+="<table style='width:250px' ><tr>"}if(tipo==="semtotal"){tabela+="<table style='width:115px' ><tr>"}if(onde||id===""){if(urlpt!==""){tabela+="<td>"+i3GEO.social.publicarTwitter(urlpt,tipo)+"</td>"}if(urlcf!==""){tabela+="<td>"+i3GEO.social.curtirFacebook(urlcf,tipo)+"</td>"}tabela+="</tr></table>";if(id!==""){onde.innerHTML=tabela}return tabela}else{return false}},bookmark:function(link,locaplic){if(!locaplic){locaplic=i3GEO.configura.locaplic}var ins="<img style='cursor:pointer' src='"+locaplic+"/imagens/delicious.gif' onclick='javascript:window.open(\"http://del.icio.us/post?url="+link+"\")' title='Delicious'/> ";ins+="<img style='cursor:pointer' src='"+locaplic+"/imagens/digg.gif' onclick='javascript:window.open(\"http://digg.com/submit/post?url="+link+"\")' title='Digg'/> ";ins+="<img style='cursor:pointer' src='"+locaplic+"/imagens/facebook.gif' onclick='javascript:window.open(\"http://www.facebook.com/sharer.php?u="+link+"\")' title='Facebook'/> ";ins+="<img style='cursor:pointer' src='"+locaplic+"/imagens/stumbleupon.gif' onclick='javascript:window.open(\"http://www.stumbleupon.com/submit?url="+link+"\")' title='StumbleUpon'/>";return ins}}; 405 if(typeof(i3GEO)==='undefined'){var i3GEO={}}i3GEO.social={curtirFacebook:function(url,tipo){if(tipo==="comtotal"){return"<iframe src='http://www.facebook.com/plugins/like.php?href="+url+"&layout=button_count&show_faces=false&width=160&action=like&colorscheme=light&height=21' scrolling='no' frameborder='0' style='border:none; overflow:hidden; width:160px; height:21px;' allowTransparency='true'></iframe>"}if(tipo==="semtotal"){return"<iframe src='http://www.facebook.com/plugins/like.php?href="+url+"&layout=button_count&show_faces=false&action=like&colorscheme=light&height=21' scrolling='no' frameborder='0' style='border:none; overflow:hidden; width:100px; height:21px;' allowTransparency='true'></iframe>"}},publicarTwitter:function(url,tipo){var re=new RegExp("=","g");url=url.replace(re,'%3d');if(tipo==="comtotal"){return'<iframe allowtransparency="true" frameborder="0" scrolling="no" src="http://platform.twitter.com/widgets/tweet_button.html?count=horizontal&via=i3geo&url='+url+'" style="width:100px; height:21px;"></iframe>'}if(tipo==="semtotal"){return'<iframe allowtransparency="true" frameborder="0" scrolling="no" src="http://platform.twitter.com/widgets/tweet_button.html?count=none&via=i3geo&url='+url+'" style="width:65px; height:21px;"></iframe>'}},compartilhar:function(id,urlcf,urlpt,tipo,locaplic){if(!locaplic){locaplic=i3GEO.configura.locaplic}if(!tipo){tipo="comtotal"}var onde=$i(id),tabela="";if(tipo==="comtotal"){tabela+="<table style='width:250px' ><tr>"}if(tipo==="semtotal"){tabela+="<table style='width:115px' ><tr>"}if(onde||id===""){if(urlpt!==""){tabela+="<td>"+i3GEO.social.publicarTwitter(urlpt,tipo)+"</td>"}if(urlcf!==""){tabela+="<td>"+i3GEO.social.curtirFacebook(urlcf,tipo)+"</td>"}tabela+="</tr></table>";if(id!==""){onde.innerHTML=tabela}return tabela}else{return false}},bookmark:function(link,locaplic){if(!locaplic){locaplic=i3GEO.configura.locaplic}var ins="<img style='cursor:pointer' src='"+locaplic+"/imagens/delicious.gif' onclick='javascript:window.open(\"http://del.icio.us/post?url="+link+"\")' title='Delicious'/> ";ins+="<img style='cursor:pointer' src='"+locaplic+"/imagens/digg.gif' onclick='javascript:window.open(\"http://digg.com/submit/post?url="+link+"\")' title='Digg'/> ";ins+="<img style='cursor:pointer' src='"+locaplic+"/imagens/facebook.gif' onclick='javascript:window.open(\"http://www.facebook.com/sharer.php?u="+link+"\")' title='Facebook'/> ";ins+="<img style='cursor:pointer' src='"+locaplic+"/imagens/stumbleupon.gif' onclick='javascript:window.open(\"http://www.stumbleupon.com/submit?url="+link+"\")' title='StumbleUpon'/>";return ins}};
406 if(typeof(i3GEO)==='undefined'){var i3GEO={}}if(typeof(i3GEOF)==='undefined'){var i3GEOF={}}i3GEO.login={divnomelogin:"i3GEONomeLogin",recarrega:false,funcaoLoginOk:null,funcaoLoginErro:null,dialogo:{abreLogin:function(locaplic){var js;if(!locaplic){locaplic=i3GEO.configura.locaplic}if(typeof(i3GEOF.loginusuario)==='undefined'){js=locaplic+"/ferramentas/loginusuario/index.js";i3GEO.util.scriptTag(js,"i3GEOF.loginusuario.criaJanelaFlutuante()","i3GEOF.loginusuario_script()")}else{i3GEOF.loginusuario.criaJanelaFlutuante()}},abreLogout:function(){var r=confirm($trad("x26"));if(r==true){i3GEO.login.anulaCookie();i3GEO.janela.destroi("i3GEOF.loginusuario");if($i(i3GEO.login.divnomelogin)){$i(i3GEO.login.divnomelogin).innerHTML=""}if(i3GEO.login.recarrega===true){document.location.reload()}if(i3GEO.parametros){i3GEO.parametros.editor="nao";i3GEO.arvoreDeTemas.atualiza()}}}},anulaCookie:function(){i3GEO.util.insereCookie("i3geocodigologin","",0);i3GEO.util.insereCookie("i3geousuariologin","",0);i3GEO.util.insereCookie("i3geousuarionome","",0);i3GEO.util.insereCookie("i3GeoLogin","",0)},verificaCookieLogin:function(){var a=i3GEO.util.pegaCookie("i3geocodigologin"),b=i3GEO.util.pegaCookie("i3geousuarionome");if(a&&b&&a!=""&&b!=""){return true}else{return false}},verificaOperacao:function(operacao,locaplic,funcaoOk,tipo,funcaoErro){var p="",cp,temp,resultado=true;if(!i3GEO.login.verificaCookieLogin()){if(!funcaoErro){alert("Login...!")}else{funcaoErro.call()}return false}if(!locaplic){locaplic=i3GEO.configura.locaplic}temp=function(retorno){if(retorno.data=="sim"){resultado=true}else{resultado=false}if(resultado===true){if(funcaoOk&&funcaoOk!=""){funcaoOk.call()}}else{if($i(i3GEO.login.divnomelogin)){$i(i3GEO.login.divnomelogin).innerHTML="";i3GEO.login.anulaCookie()}if(funcaoErro&&funcaoErro!=""&&resultado===false){funcaoErro.call()}}return resultado};if(tipo==="sessao"){p=locaplic+"/admin/php/login.php?funcao=validaoperacaosessao"}if(tipo==="banco"){p=locaplic+"/admin/php/login.php?funcao=validaoperacaobanco"}cp=new cpaint();cp.set_response_type("JSON");cp.set_transfer_mode("POST");cp.call(p,"login",temp,"&operacao="+operacao)},adicionaMenuSuspenso:function(obj){obj.menu.push({nome:"Admin/Login",id:"i3GeoAdmin"});obj.submenus.i3GeoAdmin=[];obj.submenus.i3GeoAdmin.push({id:"omenudataAdminu1",text:"Login",url:"javascript:i3GEO.login.dialogo.abreLogin()"},{id:"omenudataAdminu2",text:"Logout",url:"javascript:i3GEO.login.dialogo.abreLogout()"},{id:"omenudataAdmin1",text:$trad("x1"),url:"javascript:var w = window.open(i3GEO.configura.locaplic+'/admin/index.html')"},{id:"omenudataAdmin2",text:$trad("g1a"),url:"javascript:var w = window.open(i3GEO.configura.locaplic+'/admin/html/arvore.html')"},{id:"omenudataAdmin3",text:$trad("x10"),url:"javascript:i3GEO.arvoreDeTemas.abrejanelaIframe('900','700','"+i3GEO.configura.locaplic+"/admin/html/menus.html\')"},{id:"omenudataAdmin4",text:$trad("t44"),url:"javascript:i3GEO.janela.tempoMsg($trad('x63'))"},{id:"omenudataAdmin5",text:$trad("x88"),url:"javascript:i3GEO.mapa.dialogo.preferencias()"});return obj}}; 406 if(typeof(i3GEO)==='undefined'){var i3GEO={}}if(typeof(i3GEOF)==='undefined'){var i3GEOF={}}i3GEO.login={divnomelogin:"i3GEONomeLogin",recarrega:false,funcaoLoginOk:null,funcaoLoginErro:null,dialogo:{abreLogin:function(locaplic){var js;if(!locaplic){locaplic=i3GEO.configura.locaplic}if(typeof(i3GEOF.loginusuario)==='undefined'){js=locaplic+"/ferramentas/loginusuario/index.js";i3GEO.util.scriptTag(js,"i3GEOF.loginusuario.criaJanelaFlutuante()","i3GEOF.loginusuario_script()")}else{i3GEOF.loginusuario.criaJanelaFlutuante()}},abreLogout:function(){var r=confirm($trad("x26"));if(r==true){i3GEO.login.anulaCookie();i3GEO.janela.destroi("i3GEOF.loginusuario");if($i(i3GEO.login.divnomelogin)){$i(i3GEO.login.divnomelogin).innerHTML=""}if(i3GEO.login.recarrega===true){document.location.reload()}if(i3GEO.parametros){i3GEO.parametros.editor="nao";i3GEO.arvoreDeTemas.atualiza()}}}},anulaCookie:function(){i3GEO.util.insereCookie("i3geocodigologin","",0);i3GEO.util.insereCookie("i3geousuariologin","",0);i3GEO.util.insereCookie("i3geousuarionome","",0);i3GEO.util.insereCookie("i3GeoLogin","",0)},verificaCookieLogin:function(){var a=i3GEO.util.pegaCookie("i3geocodigologin"),b=i3GEO.util.pegaCookie("i3geousuarionome");if(a&&b&&a!=""&&b!=""){return true}else{return false}},verificaOperacao:function(operacao,locaplic,funcaoOk,tipo,funcaoErro){var p="",cp,temp,resultado=true;if(!i3GEO.login.verificaCookieLogin()){if(!funcaoErro){alert("Login...!")}else{funcaoErro.call()}return false}if(!locaplic){locaplic=i3GEO.configura.locaplic}temp=function(retorno){if(retorno.data=="sim"){resultado=true}else{resultado=false}if(resultado===true){if(funcaoOk&&funcaoOk!=""){funcaoOk.call()}}else{if($i(i3GEO.login.divnomelogin)){$i(i3GEO.login.divnomelogin).innerHTML="";i3GEO.login.anulaCookie()}if(funcaoErro&&funcaoErro!=""&&resultado===false){funcaoErro.call()}}return resultado};if(tipo==="sessao"){p=locaplic+"/admin/php/login.php?funcao=validaoperacaosessao"}if(tipo==="banco"){p=locaplic+"/admin/php/login.php?funcao=validaoperacaobanco"}cp=new cpaint();cp.set_response_type("JSON");cp.set_transfer_mode("POST");cp.call(p,"login",temp,"&operacao="+operacao)},adicionaMenuSuspenso:function(obj){obj.menu.push({nome:"Admin/Login",id:"i3GeoAdmin"});obj.submenus.i3GeoAdmin=[];obj.submenus.i3GeoAdmin.push({id:"omenudataAdminu1",text:"Login",url:"javascript:i3GEO.login.dialogo.abreLogin()"},{id:"omenudataAdminu2",text:"Logout",url:"javascript:i3GEO.login.dialogo.abreLogout()"},{id:"omenudataAdmin1",text:$trad("x1"),url:"javascript:var w = window.open(i3GEO.configura.locaplic+'/admin/index.html')"},{id:"omenudataAdmin2",text:$trad("g1a"),url:"javascript:var w = window.open(i3GEO.configura.locaplic+'/admin/html/arvore.html')"},{id:"omenudataAdmin3",text:$trad("x10"),url:"javascript:i3GEO.arvoreDeTemas.abrejanelaIframe('900','700','"+i3GEO.configura.locaplic+"/admin/html/menus.html\')"},{id:"omenudataAdmin4",text:$trad("t44"),url:"javascript:i3GEO.janela.tempoMsg($trad('x63'))"},{id:"omenudataAdmin5",text:$trad("x88"),url:"javascript:i3GEO.mapa.dialogo.preferencias()"});return obj}};
407 if(typeof(i3GEO)==='undefined'){var i3GEO={}}i3GEO.marcador={prompt:function(){i3GEO.janela.prompt($trad("x77"),i3GEO.marcador.armazena,"")},armazena:function(){var cookies=i3GEO.util.pegaCookie("marcadoresDoI3Geo"),ext=i3GEO.parametros.mapexten,nome="Marcador",valor;if($i("i3GEOjanelaprompt")){nome=$i("i3GEOjanelaprompt").value}valor=nome+"|"+ext;if(cookies){cookies+=":"}else{cookies=""}valor=cookies+valor;i3GEO.util.insereCookie("marcadoresDoI3Geo",valor,365);i3GEO.marcador.redesenha()},redesenha:function(){var m=i3GEOoMenuBar.getMenu("i3GeoMenuMarcador");m.clearContent();m.addItems(i3GEO.marcador.itensMenu());m.render()},exporta:function(){var c=i3GEO.util.pegaCookie("marcadoresDoI3Geo"),texto;if(!c){c=""}texto="<p class=paragrafo >"+$trad("x78")+"</p><div class='i3geoForm i3geoFormIconeEdita' ><input type=text value='"+c+"' onclick='javascript:this.select()'/></div>";i3GEO.janela.mensagemSimples(texto,$trad("x79"))},exportaShp:function(){var c=i3GEO.util.pegaCookie("marcadoresDoI3Geo"),temp=function(retorno){i3GEO.temaAtivo=retorno.data;i3GEO.atualiza()};if(c){i3GEO.php.marcadores2shp(temp)}},importa:function(){var temp=function(){var cookies=i3GEO.util.pegaCookie("marcadoresDoI3Geo"),novos="";if($i("i3GEOjanelaprompt")){novos=$i("i3GEOjanelaprompt").value}if(cookies){cookies+=":"}else{cookies=""}novos=cookies+novos;i3GEO.util.insereCookie("marcadoresDoI3Geo",novos,365);i3GEO.marcador.redesenha()};i3GEO.janela.prompt($trad("x83"),temp,"")},remove:function(nomeMarcador){var cookie=i3GEO.util.pegaCookie("marcadoresDoI3Geo"),valores=cookie.split(":"),n=valores.length,i,temp,novos=[];for(i=0;i<n;i++){temp=valores[i].split("|");if(temp[0]&&temp[0]!==nomeMarcador){novos.push(valores[i])}}i3GEO.util.insereCookie("marcadoresDoI3Geo",novos.join(":"),365);i3GEO.marcador.redesenha()},recuperaZoom:function(nomeMarcador){var cookie=i3GEO.util.pegaCookie("marcadoresDoI3Geo"),valores=cookie.split(":"),n=valores.length,i,temp;for(i=0;i<n;i++){temp=valores[i].split("|");if(temp[0]&&temp[0]===nomeMarcador){i3GEO.navega.zoomExt("","","",temp[1]);return}}},adicionaMenuSuspenso:function(obj){obj.menu.push({nome:$trad("x79"),id:"i3GeoMenuMarcador"});obj.submenus.i3GeoMenuMarcador=i3GEO.marcador.itensMenu();return obj},itensMenu:function(){var itens=[],cookie=i3GEO.util.pegaCookie("marcadoresDoI3Geo"),valores,n,i,temp;itens.push({id:"omenudataMarcadorSalva",text:$trad("x82"),url:"javascript:i3GEO.marcador.prompt()"},{id:"omenudataMarcadorExporta",text:$trad("x80"),url:"javascript:i3GEO.marcador.exporta()"},{id:"omenudataMarcadorImporta",text:$trad("x81"),url:"javascript:i3GEO.marcador.importa()"},{id:"omenudataMarcadorExportaShp",text:$trad("x84"),url:"javascript:i3GEO.marcador.exportaShp()"});if(cookie){valores=cookie.split(":");n=valores.length;for(i=0;i<n;i++){temp=valores[i].split("|");if(temp.length===2){itens.push({id:"omenudataMarcador"+i,text:"<img title='"+$trad("x62")+"' src='"+i3GEO.configura.locaplic+"/imagens/visual/default/branco.gif' class=x onclick='i3GEO.marcador.remove(\""+temp[0]+"\")' />&nbsp;<span style='color:blue;background-color:white;'>"+temp[0]+"</span>",url:"javascript:i3GEO.marcador.recuperaZoom('"+temp[0]+"')"})}}}return itens}}; 407 if(typeof(i3GEO)==='undefined'){var i3GEO={}}i3GEO.marcador={prompt:function(){i3GEO.janela.prompt($trad("x77"),i3GEO.marcador.armazena,"")},armazena:function(){var cookies=i3GEO.util.pegaCookie("marcadoresDoI3Geo"),ext=i3GEO.parametros.mapexten,nome="Marcador",valor;if($i("i3GEOjanelaprompt")){nome=$i("i3GEOjanelaprompt").value}valor=nome+"|"+ext;if(cookies){cookies+=":"}else{cookies=""}valor=cookies+valor;i3GEO.util.insereCookie("marcadoresDoI3Geo",valor,365);i3GEO.marcador.redesenha()},redesenha:function(){var m=i3GEOoMenuBar.getMenu("i3GeoMenuMarcador");m.clearContent();m.addItems(i3GEO.marcador.itensMenu());m.render()},exporta:function(){var c=i3GEO.util.pegaCookie("marcadoresDoI3Geo"),texto;if(!c){c=""}texto="<p class=paragrafo >"+$trad("x78")+"</p><div class='i3geoForm i3geoFormIconeEdita' ><input type=text value='"+c+"' onclick='javascript:this.select()'/></div>";i3GEO.janela.mensagemSimples(texto,$trad("x79"))},exportaShp:function(){var c=i3GEO.util.pegaCookie("marcadoresDoI3Geo"),temp=function(retorno){i3GEO.temaAtivo=retorno.data;i3GEO.atualiza()};if(c){i3GEO.php.marcadores2shp(temp)}},importa:function(){var temp=function(){var cookies=i3GEO.util.pegaCookie("marcadoresDoI3Geo"),novos="";if($i("i3GEOjanelaprompt")){novos=$i("i3GEOjanelaprompt").value}if(cookies){cookies+=":"}else{cookies=""}novos=cookies+novos;i3GEO.util.insereCookie("marcadoresDoI3Geo",novos,365);i3GEO.marcador.redesenha()};i3GEO.janela.prompt($trad("x83"),temp,"")},remove:function(nomeMarcador){var cookie=i3GEO.util.pegaCookie("marcadoresDoI3Geo"),valores=cookie.split(":"),n=valores.length,i,temp,novos=[];for(i=0;i<n;i++){temp=valores[i].split("|");if(temp[0]&&temp[0]!==nomeMarcador){novos.push(valores[i])}}i3GEO.util.insereCookie("marcadoresDoI3Geo",novos.join(":"),365);i3GEO.marcador.redesenha()},recuperaZoom:function(nomeMarcador){var cookie=i3GEO.util.pegaCookie("marcadoresDoI3Geo"),valores=cookie.split(":"),n=valores.length,i,temp;for(i=0;i<n;i++){temp=valores[i].split("|");if(temp[0]&&temp[0]===nomeMarcador){i3GEO.navega.zoomExt("","","",temp[1]);return}}},adicionaMenuSuspenso:function(obj){obj.menu.push({nome:$trad("x79"),id:"i3GeoMenuMarcador"});obj.submenus.i3GeoMenuMarcador=i3GEO.marcador.itensMenu();return obj},itensMenu:function(){var itens=[],cookie=i3GEO.util.pegaCookie("marcadoresDoI3Geo"),valores,n,i,temp;itens.push({id:"omenudataMarcadorSalva",text:$trad("x82"),url:"javascript:i3GEO.marcador.prompt()"},{id:"omenudataMarcadorExporta",text:$trad("x80"),url:"javascript:i3GEO.marcador.exporta()"},{id:"omenudataMarcadorImporta",text:$trad("x81"),url:"javascript:i3GEO.marcador.importa()"},{id:"omenudataMarcadorExportaShp",text:$trad("x84"),url:"javascript:i3GEO.marcador.exportaShp()"});if(cookie){valores=cookie.split(":");n=valores.length;for(i=0;i<n;i++){temp=valores[i].split("|");if(temp.length===2){itens.push({id:"omenudataMarcador"+i,text:"<img title='"+$trad("x62")+"' src='"+i3GEO.configura.locaplic+"/imagens/visual/default/branco.gif' class=x onclick='i3GEO.marcador.remove(\""+temp[0]+"\")' />&nbsp;<span style='color:blue;background-color:white;'>"+temp[0]+"</span>",url:"javascript:i3GEO.marcador.recuperaZoom('"+temp[0]+"')"})}}}return itens}};
408 -if(typeof(i3GEO)==='undefined'){var i3GEO={}}i3GEO.pluginI3geo={OBJETOS:{},PLUGINS:[{"classe":"heatmap","nome":"Mapa de calor","editor":true},{"classe":"markercluster","nome":"Agrupamento de pontos (cluster)","editor":true},{"classe":"layerkml","nome":"Camada Kml","editor":true}],inicia:function(camada){if(i3GEO.janela){i3GEO.janela.AGUARDEMODAL=true;i3GEO.janela.abreAguarde("aguardePlugin","Plugin...");i3GEO.janela.AGUARDEMODAL=false}i3GEO.pluginI3geo[camada.plugini3geo.plugin][i3GEO.Interface.ATUAL].inicia(camada)},formAdmin:function(plugin,configString){return i3GEO.pluginI3geo[plugin].formAdmin(configString)},linkAjuda:function(plugin){return i3GEO.pluginI3geo[plugin].linkAjuda()},ligaCamada:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].ligaCamada){i3GEO.pluginI3geo.OBJETOS[nomecamada].ligaCamada();return true}return false},desligaCamada:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].desLigaCamada){i3GEO.pluginI3geo.OBJETOS[nomecamada].desLigaCamada();return true}return false},removeCamada:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].removeCamada){i3GEO.pluginI3geo.OBJETOS[nomecamada].removeCamada();delete(i3GEO.pluginI3geo.OBJETOS[nomecamada]);return true}return false},atualizaCamada:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].atualizaCamada){i3GEO.pluginI3geo.OBJETOS[nomecamada].atualizaCamada();return true}return false},existeObjeto:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].atualizaCamada){return true}return false},aplicaPropriedades:function(camada){if(camada.plugini3geo&&camada.plugini3geo!=""){camada=i3GEO.pluginI3geo[camada.plugini3geo.plugin][i3GEO.Interface.ATUAL].aplicaPropriedades(camada)}return camada},heatmap:{linkAjuda:function(){return i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=3&idajuda=121"},formAdmin:function(config){var parametros,ins="",configDefault='{"plugin":"heatmap","parametros":{"tipoGradiente": "default","valorPonto":1,"coluna":"","radius":15}}';if(config===""){config=configDefault}config=YAHOO.lang.JSON.parse(config);if(config.plugin!="heatmap"){config=YAHOO.lang.JSON.parse(configDefault)}parametros=config.parametros;ins+=""+"<p>Coluna que cont&eacute;m os dados:"+"<br><input name='coluna' type='text' value='"+parametros.coluna+"' size='30'></p>"+"<p>Ou valor num&eacute;rico para cada ponto:"+"<br><input name='valorPonto' type='text' value='"+parametros.valorPonto+"' size='30'></p>"+"<p>Raio de cada ponto em pixels:"+"<br><input name='radius' type='text' value='"+parametros.radius+"' size='30'></p>"+"<p>Tipo de gradiente (deixe vazio para utilizar as classes definidas no Layer ou escreva 'default' para usar o normal):"+"<br><input name='tipoGradiente' type='text' value='"+parametros.tipoGradiente+"' size='30'></p>"+"<p>Para definir os cortes no gradiente de cores utilize valores entre 0 e 1."+" As cores s&atilde;o definidas nas classes do LAYER, sendo que o nome define o valor superior do gradiente e COLOR define a cor."+" Veja o exemplo utilizado no tema _lmapadecalor.map</p>";return ins},googlemaps:{aplicaPropriedades:function(camada){camada.sel="nao";camada.download="nao";camada.AGUARDALEGENDA=false;camada.temporizador="";camada.copia=false;camada.procurar=false;camada.toponimia=false;camada.etiquetas=false;camada.tabela=false;camada.grafico=false;camada.destacar=false;camada.wms=false;camada.classe="NAO";return camada},inicia:function(camada){var nomeScript="heatmap_script",p=i3GEO.configura.locaplic+"/ferramentas/heatmap/googlemaps_js.php",carregaJs="nao",criaLayer;criaLayer=function(){var heatmap,pontos;heatmap=new HeatmapOverlay(i3GeoMap,camada.name,{"radius":camada.plugini3geo.parametros.radius,"visible":true,"opacity":camada.transparency,"gradient":heatmap_config.gradient,"legend":{"title":camada.tema,"position":"bl","offset":[5,50]}});pontos={max:camada.plugini3geo.parametros.max,data:heatmap_dados};i3GEO.janela.fechaAguarde("aguardePlugin");heatmap.setDataSet(pontos);heatmap.ligaCamada=function(){this.liga()};heatmap.desLigaCamada=function(){this.desliga()};heatmap.removeCamada=function(){this.destroy()};heatmap.atualizaCamada=function(){this.draw()};i3GEO.pluginI3geo.OBJETOS[camada.name]=heatmap;heatmap_dados=null};if(!$i(nomeScript)){carregaJs="sim"}else{nomeScript=""}p+="?carregajs="+carregaJs+"&layer="+camada.name+"&coluna="+camada.plugini3geo.parametros.coluna+"&tipoGradiente="+camada.plugini3geo.parametros.tipoGradiente+"&g_sid="+i3GEO.configura.sid+"&nomevariavel=heatmap_dados&nomevariavelConfig=heatmap_config";i3GEO.util.scriptTag(p,criaLayer,nomeScript)}},openlayers:{aplicaPropriedades:function(camada){camada.sel="nao";camada.download="nao";camada.AGUARDALEGENDA=false;camada.temporizador="";camada.copia=false;camada.procurar=false;camada.toponimia=false;camada.etiquetas=false;camada.tabela=false;camada.grafico=false;camada.destacar=false;camada.wms=false;camada.classe="NAO";return camada},inicia:function(camada,objMapa){var nomeScript="heatmap_script",p=i3GEO.configura.locaplic+"/ferramentas/heatmap/openlayers_js.php",carregaJs="nao",criaLayer;criaLayer=function(){var temp,heatmap,transformedTestData={max:1,data:[]},data=heatmap_dados,datalen=heatmap_dados.length,nudata=[],max=0;if(!objMapa){objMapa=i3geoOL}while(datalen--){temp=heatmap_dados[datalen].count;nudata.push({lonlat:new OpenLayers.LonLat(data[datalen].lng,heatmap_dados[datalen].lat),count:temp});max=Math.max(max,temp)}transformedTestData.max=max;transformedTestData.data=nudata;heatmap=new OpenLayers.Layer.Heatmap(camada.name,objMapa,objMapa.baseLayer,{"visible":true,"opacity":camada.transparency,"radius":camada.plugini3geo.parametros.radius,"gradient":heatmap_config.gradient,"legend":{"title":camada.tema,"position":"bl","offset":[5,50]}},{isBaseLayer:false,projection:new OpenLayers.Projection("EPSG:4326"),displayInLayerSwitcher:true});heatmap.ligaCamada=function(){this.toggle();this.updateLayer()};heatmap.desLigaCamada=function(){this.toggle();this.updateLayer()};heatmap.removeCamada=function(){this.destroy()};heatmap.atualizaCamada=function(){this.updateLayer()};i3GEO.pluginI3geo.OBJETOS[camada.name]=heatmap;objMapa.addLayer(heatmap);heatmap.setDataSet(transformedTestData);heatmap_dados=null;if(i3GEO.janela){i3GEO.janela.fechaAguarde("aguardePlugin")}};if(!$i(nomeScript)){carregaJs="sim"}else{nomeScript=""}if(!i3GEO.configura||!i3GEO.configura.sid){i3GEO.configura.sid=""}p+="?carregajs="+carregaJs+"&layer="+camada.name+"&coluna="+camada.plugini3geo.parametros.coluna+"&tipoGradiente="+camada.plugini3geo.parametros.tipoGradiente+"&g_sid="+i3GEO.configura.sid+"&nomevariavel=heatmap_dados&nomevariavelConfig=heatmap_config";i3GEO.util.scriptTag(p,criaLayer,nomeScript)}},googleearth:{inicia:function(){alert("Plugin nao disponivel")}}},markercluster:{linkAjuda:function(){return i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=3&idajuda=121"},formAdmin:function(config){var parametros,ins="",configDefault='{"plugin":"markercluster","parametros":{"tipoEstilos": "default","gridSize":50}}';if(config===""){config=configDefault}config=YAHOO.lang.JSON.parse(config);if(config.plugin!="markercluster"){config=YAHOO.lang.JSON.parse(configDefault)}parametros=config.parametros;ins+=""+"<p>Dist&acirc;ncia m&aacute;xima entre ponto em pixels:"+"<br><input name='gridSize' type='text' value='"+parametros.gridSize+"' size='30'></p>"+"<p>Tipo de estilos (deixe vazio para utilizar as classes definidas no Layer ou escreva 'default' para usar o normal):"+"<br><input name='tipoEstilos' type='text' value='"+parametros.tipoEstilos+"' size='30'></p>"+"<p>Os s&iacute;mbolos utilizados podem ser customizados alterando-se as classes do Mapfile</p>"+"<p>Veja o exemplo utilizado no tema _lmapadecluster.map</p>";return ins},googlemaps:{aplicaPropriedades:function(camada){camada.sel="nao";camada.download="nao";camada.AGUARDALEGENDA=false;camada.temporizador="";camada.copia=false;camada.procurar=false;camada.toponimia=false;camada.etiquetas=false;camada.tabela=false;camada.grafico=false;camada.destacar=false;camada.wms=false;camada.classe="NAO";return camada},inicia:function(camada){var nomeScript="markercluster_script",p=i3GEO.configura.locaplic+"/ferramentas/markercluster/googlemaps_js.php",carregaJs="nao",criaLayer;criaLayer=function(){var markercluster,marcas,latLng,marker,n,i;n=markercluster_dados.length;marcas=[];for(i=0;i<n;i++){latLng=new google.maps.LatLng(markercluster_dados[i].lat,markercluster_dados[i].lng);marker=new google.maps.Marker({'position':latLng,icon:{url:markercluster_config.ponto.url,scaledSize:new google.maps.Size(markercluster_config.ponto.width,markercluster_config.ponto.height)}});marcas.push(marker)}markercluster=new MarkerClusterer(i3GeoMap,marcas,{"gridSize":parseInt(camada.plugini3geo.parametros.gridSize,10),"visible":true,"opacity":camada.transparency,"name":camada.name,"styles":markercluster_config.estilos});i3GEO.janela.fechaAguarde("aguardePlugin");i3GEO.eventos.cliquePerm.ativo=false;markercluster.ligaCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].ready_=true;i3GEO.pluginI3geo.OBJETOS[camada.name].redraw();i3GEO.eventos.cliquePerm.ativo=false};markercluster.desLigaCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].resetViewport(true);i3GEO.pluginI3geo.OBJETOS[camada.name].ready_=false;i3GEO.eventos.cliquePerm.ativo=true};markercluster.removeCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].clearMarkers();i3GEO.eventos.cliquePerm.ativo=true};markercluster.atualizaCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].ready_=true;i3GEO.pluginI3geo.OBJETOS[camada.name].redraw();i3GEO.eventos.cliquePerm.ativo=false};i3GEO.pluginI3geo.OBJETOS[camada.name]=markercluster;markercluster_dados=null};if(!$i(nomeScript)){carregaJs="sim"}else{nomeScript=""}p+="?carregajs="+carregaJs+"&layer="+camada.name+"&g_sid="+i3GEO.configura.sid+"&tipoEstilos="+camada.plugini3geo.parametros.tipoEstilos+"&nomevariavel=markercluster_dados&nomevariavelConfig=markercluster_config";i3GEO.util.scriptTag(p,criaLayer,nomeScript)}},openlayers:{aplicaPropriedades:function(camada){camada.sel="nao";camada.download="nao";camada.AGUARDALEGENDA=false;camada.temporizador="";camada.copia=false;camada.procurar=false;camada.toponimia=false;camada.etiquetas=false;camada.tabela=false;camada.grafico=false;camada.destacar=false;camada.wms=false;camada.classe="NAO";return camada},inicia:function(camada,objMapa){var nomeScript="markercluster_script",p=i3GEO.configura.locaplic+"/ferramentas/markercluster/openlayers_js.php",carregaJs="nao",criaLayer;criaLayer=function(){var layerListeners,logMax,logMin,classes,min,max,markercluster,marcas,lonlat,n,i,style,nestilos,intervalo,regra,regras=[];nestilos=markercluster_config.estilos.length;n=markercluster_dados.length;classes=Array();logMax=Math.log(n)/Math.LN10; logMin=Math.log(1)/Math.LN10;intervalo=(logMax-logMin)/nestilos;for(i=0;i<nestilos;i++){if(i==0){classes[i]=logMin}else{classes[i]=classes[i-1]+intervalo}}classes=classes.map(function(x){return Math.pow(10,x)});classes.push(n);regra=new OpenLayers.Rule({filter:new OpenLayers.Filter.Comparison({type:OpenLayers.Filter.Comparison.LESS_THAN,property:"count",value:2}),symbolizer:{externalGraphic:markercluster_config.ponto.url,graphicWidth:markercluster_config.ponto.width,graphicHeight:markercluster_config.ponto.height,graphicYOffset:(markercluster_config.ponto.height/2)*-1}});regras.push(regra);min=2;for(i=0;i<nestilos;i++){max=classes[i+1];regra=new OpenLayers.Rule({filter:new OpenLayers.Filter.Comparison({type:OpenLayers.Filter.Comparison.BETWEEN,property:"count",lowerBoundary:min,upperBoundary:max}),symbolizer:{externalGraphic:markercluster_config.estilos[i].url,graphicWidth:markercluster_config.estilos[i].width,graphicHeight:markercluster_config.estilos[i].height,label:"${count}",labelOutlineWidth:1,fontColor:"#000000",fontOpacity:1,fontSize:"12px"}});regras.push(regra);min=max}style=new OpenLayers.Style(null,{rules:regras});if(!objMapa){objMapa=i3geoOL}layerListeners={featureclick:function(e){if(e.feature.cluster.length>1){objMapa.setCenter([e.feature.geometry.x,e.feature.geometry.y],objMapa.getZoom()+1,false,false)}return false}};markercluster=new OpenLayers.Layer.Vector(camada.name,{renderers:['Canvas','SVG'],strategies:[new OpenLayers.Strategy.AnimatedCluster({distance:parseInt(camada.plugini3geo.parametros.gridSize,10)})],styleMap:new OpenLayers.StyleMap(style),eventListeners:layerListeners});objMapa.addLayer(markercluster);marcas=[];for(i=0;i<n;i++){lonlat=new OpenLayers.LonLat(markercluster_dados[i].lng,markercluster_dados[i].lat);if(i3GEO.Interface.openlayers.googleLike===true){lonlat.transform(new OpenLayers.Projection("EPSG:4326"),new OpenLayers.Projection("EPSG:900913"))}marcas.push(new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Point(lonlat.lon,lonlat.lat)))}markercluster.addFeatures(marcas);i3GEO.janela.fechaAguarde("aguardePlugin");i3GEO.eventos.cliquePerm.ativo=false;markercluster.ligaCamada=function(){i3GEO.eventos.cliquePerm.ativo=false};markercluster.desLigaCamada=function(){i3GEO.eventos.cliquePerm.ativo=true};markercluster.removeCamada=function(){i3GEO.eventos.cliquePerm.ativo=true};markercluster.atualizaCamada=function(){i3GEO.eventos.cliquePerm.ativo=false};i3GEO.pluginI3geo.OBJETOS[camada.name]=markercluster;markercluster_dados=null};if(!$i(nomeScript)){carregaJs="sim"}else{nomeScript=""}p+="?carregajs="+carregaJs+"&layer="+camada.name+"&g_sid="+i3GEO.configura.sid+"&tipoEstilos="+camada.plugini3geo.parametros.tipoEstilos+"&nomevariavel=markercluster_dados&nomevariavelConfig=markercluster_config";i3GEO.util.scriptTag(p,criaLayer,nomeScript)}}},layerkml:{linkAjuda:function(){return i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=3&idajuda=121"},formAdmin:function(config){var parametros,ins="",configDefault='{"plugin":"layerkml","parametros":{"url": ""}}';if(config===""){config=configDefault}config=YAHOO.lang.JSON.parse(config);if(config.plugin!="layerkml"){config=YAHOO.lang.JSON.parse(configDefault)}parametros=config.parametros;ins+="<p>Url do arquivo Kml:<br><input name='url' type='text' value='"+parametros.url+"'/></p>"+"<p>Veja o exemplo utilizado no tema _lmapakml.map</p>";return ins},googlemaps:{aplicaPropriedades:function(camada){camada.sel="nao";camada.download="nao";camada.AGUARDALEGENDA=false;camada.temporizador="";camada.copia=false;camada.procurar=false;camada.toponimia=false;camada.etiquetas=false;camada.tabela=false;camada.grafico=false;camada.destacar=false;camada.wms=false;camada.classe="NAO";return camada},inicia:function(camada){var layerkml=new google.maps.KmlLayer(camada.plugini3geo.parametros.url,{map:i3GeoMap,preserveViewport:true,name:camada.name});i3GEO.janela.fechaAguarde("aguardePlugin");layerkml.ligaCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].setMap(i3GeoMap)};layerkml.desLigaCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].setMap(null)};layerkml.removeCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].setMap(null);i3GEO.pluginI3geo.OBJETOS[camada.name].resetViewport(true)};layerkml.atualizaCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].setMap(null);i3GEO.pluginI3geo.OBJETOS[camada.name].resetViewport(true);i3GEO.pluginI3geo.OBJETOS[camada.name].setMap(i3GeoMap)};i3GEO.pluginI3geo.OBJETOS[camada.name]=layerkml}},openlayers:{aplicaPropriedades:function(camada){camada.sel="nao";camada.download="nao";camada.AGUARDALEGENDA=false;camada.temporizador="";camada.copia=false;camada.procurar=false;camada.toponimia=false;camada.etiquetas=false;camada.tabela=false;camada.grafico=false;camada.destacar=false;camada.wms=false;camada.classe="NAO";return camada},inicia:function(camada,objMapa){var layerkml;url=i3GEO.configura.locaplic+"/classesphp/proxy.php?url="+camada.plugini3geo.parametros.url;layerkml=new OpenLayers.Layer.Vector(camada.name,{displayOutsideMaxExtent:true,displayInLayerSwitcher:false,visibility:true,strategies:[new OpenLayers.Strategy.Fixed()],protocol:new OpenLayers.Protocol.HTTP({url:url,format:new OpenLayers.Format.KML({extractStyles:true,extractAttributes:true,maxDepth:5})})});i3geoOL.addLayer(layerkml);if(!objMapa){objMapa=i3geoOL}layerkml.div.onclick=function(e){var targ="",id,temp,features,n,i,j="",html="";if(!e){e=window.event}if(e.target){targ=e.target}else if(e.srcElement){targ=e.srcElement}if(targ.id){temp=targ.id.split("_Point");if(temp[0]==="OpenLayers_Geometry"){id=targ.id;temp=i3geoOL.getLayer(this.id);features=temp.features;n=features.length;for(i=0;i<n;i++){if(features[i].geometry.id===id){for(j in features[i].attributes){html+=j+": "+features[i].attributes[j]}g=features[i].geometry;i3geoOL.addPopup(new OpenLayers.Popup.FramedCloud("kml",new OpenLayers.LonLat(g.x,g.y),null,html,null,true))}}}}};i3GEO.janela.fechaAguarde("aguardePlugin");i3GEO.eventos.cliquePerm.ativo=false;layerkml.ligaCamada=function(){i3GEO.eventos.cliquePerm.ativo=false};layerkml.desLigaCamada=function(){i3GEO.eventos.cliquePerm.ativo=true};layerkml.removeCamada=function(){i3GEO.eventos.cliquePerm.ativo=true};layerkml.atualizaCamada=function(){i3GEO.eventos.cliquePerm.ativo=false};i3GEO.pluginI3geo.OBJETOS[camada.name]=layerkml}}}}; 408 +if(typeof(i3GEO)==='undefined'){var i3GEO={}}i3GEO.pluginI3geo={OBJETOS:{},PLUGINS:[{"classe":"heatmap","nome":"Mapa de calor","editor":true},{"classe":"markercluster","nome":"Agrupamento de pontos (cluster)","editor":true},{"classe":"layerkml","nome":"Camada Kml","editor":true},{"classe":"parametrossql","nome":"SQL parametrizado","editor":true}],inicia:function(camada){if(i3GEO.janela){i3GEO.janela.AGUARDEMODAL=true;i3GEO.janela.abreAguarde("aguardePlugin","Plugin...");i3GEO.janela.AGUARDEMODAL=false}i3GEO.pluginI3geo[camada.plugini3geo.plugin][i3GEO.Interface.ATUAL].inicia(camada)},formAdmin:function(plugin,configString){return i3GEO.pluginI3geo[plugin].formAdmin(configString)},linkAjuda:function(plugin){return i3GEO.pluginI3geo[plugin].linkAjuda()},ligaCamada:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].ligaCamada){i3GEO.pluginI3geo.OBJETOS[nomecamada].ligaCamada();return true}return false},desligaCamada:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].desLigaCamada){i3GEO.pluginI3geo.OBJETOS[nomecamada].desLigaCamada();return true}return false},removeCamada:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].removeCamada){i3GEO.pluginI3geo.OBJETOS[nomecamada].removeCamada();delete(i3GEO.pluginI3geo.OBJETOS[nomecamada]);return true}return false},atualizaCamada:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].atualizaCamada){i3GEO.pluginI3geo.OBJETOS[nomecamada].atualizaCamada();return true}return false},existeObjeto:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].atualizaCamada){return true}return false},aplicaPropriedades:function(camada){if(camada.plugini3geo&&camada.plugini3geo!=""){camada=i3GEO.pluginI3geo[camada.plugini3geo.plugin][i3GEO.Interface.ATUAL].aplicaPropriedades(camada)}return camada},heatmap:{linkAjuda:function(){return i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=3&idajuda=121"},formAdmin:function(config){var parametros,ins="",configDefault='{"plugin":"heatmap","parametros":{"tipoGradiente": "default","valorPonto":1,"coluna":"","radius":15}}';if(config===""){config=configDefault}config=YAHOO.lang.JSON.parse(config);if(config.plugin!="heatmap"){config=YAHOO.lang.JSON.parse(configDefault)}parametros=config.parametros;ins+=""+"<p>Coluna que cont&eacute;m os dados:"+"<br><input name='coluna' type='text' value='"+parametros.coluna+"' size='30'></p>"+"<p>Ou valor num&eacute;rico para cada ponto:"+"<br><input name='valorPonto' type='text' value='"+parametros.valorPonto+"' size='30'></p>"+"<p>Raio de cada ponto em pixels:"+"<br><input name='radius' type='text' value='"+parametros.radius+"' size='30'></p>"+"<p>Tipo de gradiente (deixe vazio para utilizar as classes definidas no Layer ou escreva 'default' para usar o normal):"+"<br><input name='tipoGradiente' type='text' value='"+parametros.tipoGradiente+"' size='30'></p>"+"<p>Para definir os cortes no gradiente de cores utilize valores entre 0 e 1."+" As cores s&atilde;o definidas nas classes do LAYER, sendo que o nome define o valor superior do gradiente e COLOR define a cor."+" Veja o exemplo utilizado no tema _lmapadecalor.map</p>";return ins},googlemaps:{aplicaPropriedades:function(camada){camada.sel="nao";camada.download="nao";camada.AGUARDALEGENDA=false;camada.temporizador="";camada.copia=false;camada.procurar=false;camada.toponimia=false;camada.etiquetas=false;camada.tabela=false;camada.grafico=false;camada.destacar=false;camada.wms=false;camada.classe="NAO";return camada},inicia:function(camada){var nomeScript="heatmap_script",p=i3GEO.configura.locaplic+"/ferramentas/heatmap/googlemaps_js.php",carregaJs="nao",criaLayer;criaLayer=function(){var heatmap,pontos;heatmap=new HeatmapOverlay(i3GeoMap,camada.name,{"radius":camada.plugini3geo.parametros.radius,"visible":true,"opacity":camada.transparency,"gradient":heatmap_config.gradient,"legend":{"title":camada.tema,"position":"bl","offset":[5,50]}});pontos={max:camada.plugini3geo.parametros.max,data:heatmap_dados};i3GEO.janela.fechaAguarde("aguardePlugin");heatmap.setDataSet(pontos);heatmap.ligaCamada=function(){this.liga()};heatmap.desLigaCamada=function(){this.desliga()};heatmap.removeCamada=function(){this.destroy()};heatmap.atualizaCamada=function(){this.draw()};i3GEO.pluginI3geo.OBJETOS[camada.name]=heatmap;heatmap_dados=null};if(!$i(nomeScript)){carregaJs="sim"}else{nomeScript=""}p+="?carregajs="+carregaJs+"&layer="+camada.name+"&coluna="+camada.plugini3geo.parametros.coluna+"&tipoGradiente="+camada.plugini3geo.parametros.tipoGradiente+"&g_sid="+i3GEO.configura.sid+"&nomevariavel=heatmap_dados&nomevariavelConfig=heatmap_config";i3GEO.util.scriptTag(p,criaLayer,nomeScript)}},openlayers:{aplicaPropriedades:function(camada){camada.sel="nao";camada.download="nao";camada.AGUARDALEGENDA=false;camada.temporizador="";camada.copia=false;camada.procurar=false;camada.toponimia=false;camada.etiquetas=false;camada.tabela=false;camada.grafico=false;camada.destacar=false;camada.wms=false;camada.classe="NAO";return camada},inicia:function(camada,objMapa){var nomeScript="heatmap_script",p=i3GEO.configura.locaplic+"/ferramentas/heatmap/openlayers_js.php",carregaJs="nao",criaLayer;criaLayer=function(){var temp,heatmap,transformedTestData={max:1,data:[]},data=heatmap_dados,datalen=heatmap_dados.length,nudata=[],max=0;if(!objMapa){objMapa=i3geoOL}while(datalen--){temp=heatmap_dados[datalen].count;nudata.push({lonlat:new OpenLayers.LonLat(data[datalen].lng,heatmap_dados[datalen].lat),count:temp});max=Math.max(max,temp)}transformedTestData.max=max;transformedTestData.data=nudata;heatmap=new OpenLayers.Layer.Heatmap(camada.name,objMapa,objMapa.baseLayer,{"visible":true,"opacity":camada.transparency,"radius":camada.plugini3geo.parametros.radius,"gradient":heatmap_config.gradient,"legend":{"title":camada.tema,"position":"bl","offset":[5,50]}},{isBaseLayer:false,projection:new OpenLayers.Projection("EPSG:4326"),displayInLayerSwitcher:true});heatmap.ligaCamada=function(){this.toggle();this.updateLayer()};heatmap.desLigaCamada=function(){this.toggle();this.updateLayer()};heatmap.removeCamada=function(){this.destroy()};heatmap.atualizaCamada=function(){this.updateLayer()};i3GEO.pluginI3geo.OBJETOS[camada.name]=heatmap;objMapa.addLayer(heatmap);heatmap.setDataSet(transformedTestData);heatmap_dados=null;if(i3GEO.janela){i3GEO.janela.fechaAguarde("aguardePlugin")}};if(!$i(nomeScript)){carregaJs="sim"}else{nomeScript=""}if(!i3GEO.configura||!i3GEO.configura.sid){i3GEO.configura.sid=""}p+="?carregajs="+carregaJs+"&layer="+camada.name+"&coluna="+camada.plugini3geo.parametros.coluna+"&tipoGradiente="+camada.plugini3geo.parametros.tipoGradiente+"&g_sid="+i3GEO.configura.sid+"&nomevariavel=heatmap_dados&nomevariavelConfig=heatmap_config";i3GEO.util.scriptTag(p,criaLayer,nomeScript)}},googleearth:{inicia:function(){alert("Plugin nao disponivel")}}},markercluster:{linkAjuda:function(){return i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=3&idajuda=121"},formAdmin:function(config){var parametros,ins="",configDefault='{"plugin":"markercluster","parametros":{"tipoEstilos": "default","gridSize":50}}';if(config===""){config=configDefault}config=YAHOO.lang.JSON.parse(config);if(config.plugin!="markercluster"){config=YAHOO.lang.JSON.parse(configDefault)}parametros=config.parametros;ins+=""+"<p>Dist&acirc;ncia m&aacute;xima entre ponto em pixels:"+"<br><input name='gridSize' type='text' value='"+parametros.gridSize+"' size='30'></p>"+"<p>Tipo de estilos (deixe vazio para utilizar as classes definidas no Layer ou escreva 'default' para usar o normal):"+"<br><input name='tipoEstilos' type='text' value='"+parametros.tipoEstilos+"' size='30'></p>"+"<p>Os s&iacute;mbolos utilizados podem ser customizados alterando-se as classes do Mapfile</p>"+"<p>Veja o exemplo utilizado no tema _lmapadecluster.map</p>";return ins},googlemaps:{aplicaPropriedades:function(camada){camada.sel="nao";camada.download="nao";camada.AGUARDALEGENDA=false;camada.temporizador="";camada.copia=false;camada.procurar=false;camada.toponimia=false;camada.etiquetas=false;camada.tabela=false;camada.grafico=false;camada.destacar=false;camada.wms=false;camada.classe="NAO";return camada},inicia:function(camada){var nomeScript="markercluster_script",p=i3GEO.configura.locaplic+"/ferramentas/markercluster/googlemaps_js.php",carregaJs="nao",criaLayer;criaLayer=function(){var markercluster,marcas,latLng,marker,n,i;n=markercluster_dados.length;marcas=[];for(i=0;i<n;i++){latLng=new google.maps.LatLng(markercluster_dados[i].lat,markercluster_dados[i].lng);marker=new google.maps.Marker({'position':latLng,icon:{url:markercluster_config.ponto.url,scaledSize:new google.maps.Size(markercluster_config.ponto.width,markercluster_config.ponto.height)}});marcas.push(marker)}markercluster=new MarkerClusterer(i3GeoMap,marcas,{"gridSize":parseInt(camada.plugini3geo.parametros.gridSize,10),"visible":true,"opacity":camada.transparency,"name":camada.name,"styles":markercluster_config.estilos});i3GEO.janela.fechaAguarde("aguardePlugin");i3GEO.eventos.cliquePerm.ativo=false;markercluster.ligaCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].ready_=true;i3GEO.pluginI3geo.OBJETOS[camada.name].redraw();i3GEO.eventos.cliquePerm.ativo=false};markercluster.desLigaCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].resetViewport(true);i3GEO.pluginI3geo.OBJETOS[camada.name].ready_=false;i3GEO.eventos.cliquePerm.ativo=true};markercluster.removeCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].clearMarkers();i3GEO.eventos.cliquePerm.ativo=true};markercluster.atualizaCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].ready_=true;i3GEO.pluginI3geo.OBJETOS[camada.name].redraw();i3GEO.eventos.cliquePerm.ativo=false};i3GEO.pluginI3geo.OBJETOS[camada.name]=markercluster;markercluster_dados=null};if(!$i(nomeScript)){carregaJs="sim"}else{nomeScript=""}p+="?carregajs="+carregaJs+"&layer="+camada.name+"&g_sid="+i3GEO.configura.sid+"&tipoEstilos="+camada.plugini3geo.parametros.tipoEstilos+"&nomevariavel=markercluster_dados&nomevariavelConfig=markercluster_config";i3GEO.util.scriptTag(p,criaLayer,nomeScript)}},openlayers:{aplicaPropriedades:function(camada){camada.sel="nao";camada.download="nao";camada.AGUARDALEGENDA=false;camada.temporizador="";camada.copia=false;camada.procurar=false;camada.toponimia=false;camada.etiquetas=false;camada.tabela=false;camada.grafico=false;camada.destacar=false;camada.wms=false;camada.classe="NAO";return camada},inicia:function(camada,objMapa){var nomeScript="markercluster_script",p=i3GEO.configura.locaplic+"/ferramentas/markercluster/openlayers_js.php",carregaJs="nao",criaLayer;criaLayer=function(){var layerListeners,logMax,logMin,classes,min,max,markercluster,marcas,lonlat,n,i,style,nestilos,intervalo,regra,regras=[];nestilos=markercluster_config.estilos.length;n=markercluster_dados.length;classes=Array();logMax=Math.log(n)/Math.LN10; logMin=Math.log(1)/Math.LN10;intervalo=(logMax-logMin)/nestilos;for(i=0;i<nestilos;i++){if(i==0){classes[i]=logMin}else{classes[i]=classes[i-1]+intervalo}}classes=classes.map(function(x){return Math.pow(10,x)});classes.push(n);regra=new OpenLayers.Rule({filter:new OpenLayers.Filter.Comparison({type:OpenLayers.Filter.Comparison.LESS_THAN,property:"count",value:2}),symbolizer:{externalGraphic:markercluster_config.ponto.url,graphicWidth:markercluster_config.ponto.width,graphicHeight:markercluster_config.ponto.height,graphicYOffset:(markercluster_config.ponto.height/2)*-1}});regras.push(regra);min=2;for(i=0;i<nestilos;i++){max=classes[i+1];regra=new OpenLayers.Rule({filter:new OpenLayers.Filter.Comparison({type:OpenLayers.Filter.Comparison.BETWEEN,property:"count",lowerBoundary:min,upperBoundary:max}),symbolizer:{externalGraphic:markercluster_config.estilos[i].url,graphicWidth:markercluster_config.estilos[i].width,graphicHeight:markercluster_config.estilos[i].height,label:"${count}",labelOutlineWidth:1,fontColor:"#000000",fontOpacity:1,fontSize:"12px"}});regras.push(regra);min=max}style=new OpenLayers.Style(null,{rules:regras});if(!objMapa){objMapa=i3geoOL}layerListeners={featureclick:function(e){if(e.feature.cluster.length>1){objMapa.setCenter([e.feature.geometry.x,e.feature.geometry.y],objMapa.getZoom()+1,false,false)}return false}};markercluster=new OpenLayers.Layer.Vector(camada.name,{renderers:['Canvas','SVG'],strategies:[new OpenLayers.Strategy.AnimatedCluster({distance:parseInt(camada.plugini3geo.parametros.gridSize,10)})],styleMap:new OpenLayers.StyleMap(style),eventListeners:layerListeners});objMapa.addLayer(markercluster);marcas=[];for(i=0;i<n;i++){lonlat=new OpenLayers.LonLat(markercluster_dados[i].lng,markercluster_dados[i].lat);if(i3GEO.Interface.openlayers.googleLike===true){lonlat.transform(new OpenLayers.Projection("EPSG:4326"),new OpenLayers.Projection("EPSG:900913"))}marcas.push(new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Point(lonlat.lon,lonlat.lat)))}markercluster.addFeatures(marcas);i3GEO.janela.fechaAguarde("aguardePlugin");i3GEO.eventos.cliquePerm.ativo=false;markercluster.ligaCamada=function(){i3GEO.eventos.cliquePerm.ativo=false};markercluster.desLigaCamada=function(){i3GEO.eventos.cliquePerm.ativo=true};markercluster.removeCamada=function(){i3GEO.eventos.cliquePerm.ativo=true};markercluster.atualizaCamada=function(){i3GEO.eventos.cliquePerm.ativo=false};i3GEO.pluginI3geo.OBJETOS[camada.name]=markercluster;markercluster_dados=null};if(!$i(nomeScript)){carregaJs="sim"}else{nomeScript=""}p+="?carregajs="+carregaJs+"&layer="+camada.name+"&g_sid="+i3GEO.configura.sid+"&tipoEstilos="+camada.plugini3geo.parametros.tipoEstilos+"&nomevariavel=markercluster_dados&nomevariavelConfig=markercluster_config";i3GEO.util.scriptTag(p,criaLayer,nomeScript)}}},layerkml:{linkAjuda:function(){return i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=3&idajuda=121"},formAdmin:function(config){var parametros,ins="",configDefault='{"plugin":"layerkml","parametros":{"url": ""}}';if(config===""){config=configDefault}config=YAHOO.lang.JSON.parse(config);if(config.plugin!="layerkml"){config=YAHOO.lang.JSON.parse(configDefault)}parametros=config.parametros;ins+="<p>Url do arquivo Kml:<br><input name='url' type='text' value='"+parametros.url+"'/></p>"+"<p>Veja o exemplo utilizado no tema _lmapakml.map</p>";return ins},googlemaps:{aplicaPropriedades:function(camada){camada.sel="nao";camada.download="nao";camada.AGUARDALEGENDA=false;camada.temporizador="";camada.copia=false;camada.procurar=false;camada.toponimia=false;camada.etiquetas=false;camada.tabela=false;camada.grafico=false;camada.destacar=false;camada.wms=false;camada.classe="NAO";return camada},inicia:function(camada){var layerkml=new google.maps.KmlLayer(camada.plugini3geo.parametros.url,{map:i3GeoMap,preserveViewport:true,name:camada.name});i3GEO.janela.fechaAguarde("aguardePlugin");layerkml.ligaCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].setMap(i3GeoMap)};layerkml.desLigaCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].setMap(null)};layerkml.removeCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].setMap(null);i3GEO.pluginI3geo.OBJETOS[camada.name].resetViewport(true)};layerkml.atualizaCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].setMap(null);i3GEO.pluginI3geo.OBJETOS[camada.name].resetViewport(true);i3GEO.pluginI3geo.OBJETOS[camada.name].setMap(i3GeoMap)};i3GEO.pluginI3geo.OBJETOS[camada.name]=layerkml}},openlayers:{aplicaPropriedades:function(camada){camada.sel="nao";camada.download="nao";camada.AGUARDALEGENDA=false;camada.temporizador="";camada.copia=false;camada.procurar=false;camada.toponimia=false;camada.etiquetas=false;camada.tabela=false;camada.grafico=false;camada.destacar=false;camada.wms=false;camada.classe="NAO";return camada},inicia:function(camada,objMapa){var layerkml;url=i3GEO.configura.locaplic+"/classesphp/proxy.php?url="+camada.plugini3geo.parametros.url;layerkml=new OpenLayers.Layer.Vector(camada.name,{displayOutsideMaxExtent:true,displayInLayerSwitcher:false,visibility:true,strategies:[new OpenLayers.Strategy.Fixed()],protocol:new OpenLayers.Protocol.HTTP({url:url,format:new OpenLayers.Format.KML({extractStyles:true,extractAttributes:true,maxDepth:5})})});i3geoOL.addLayer(layerkml);if(!objMapa){objMapa=i3geoOL}layerkml.div.onclick=function(e){var targ="",id,temp,features,n,i,j="",html="";if(!e){e=window.event}if(e.target){targ=e.target}else if(e.srcElement){targ=e.srcElement}if(targ.id){temp=targ.id.split("_Point");if(temp[0]==="OpenLayers_Geometry"){id=targ.id;temp=i3geoOL.getLayer(this.id);features=temp.features;n=features.length;for(i=0;i<n;i++){if(features[i].geometry.id===id){for(j in features[i].attributes){html+=j+": "+features[i].attributes[j]}g=features[i].geometry;i3geoOL.addPopup(new OpenLayers.Popup.FramedCloud("kml",new OpenLayers.LonLat(g.x,g.y),null,html,null,true))}}}}};i3GEO.janela.fechaAguarde("aguardePlugin");i3GEO.eventos.cliquePerm.ativo=false;layerkml.ligaCamada=function(){i3GEO.eventos.cliquePerm.ativo=false};layerkml.desLigaCamada=function(){i3GEO.eventos.cliquePerm.ativo=true};layerkml.removeCamada=function(){i3GEO.eventos.cliquePerm.ativo=true};layerkml.atualizaCamada=function(){i3GEO.eventos.cliquePerm.ativo=false};i3GEO.pluginI3geo.OBJETOS[camada.name]=layerkml}}},parametrossql:{linkAjuda:function(){return i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=3&idajuda=121"},formAdmin:function(config){var n,i,parametros,ins="",configDefault='{"plugin":"parametrossql","parametros":[{"titulo":"","tipo":"input","valores":[],"chave":""},{"titulo":"","tipo":"input","valores":[],"chave":""},{"titulo":"","tipo":"input","valores":[],"chave":""},{"titulo":"","tipo":"input","valores":[],"chave":""}]}';if(config===""){config=configDefault}config=YAHOO.lang.JSON.parse(config);if(config.plugin!="parametrossql"){config=YAHOO.lang.JSON.parse(configDefault)}parametros=config.parametros;n=parametros.length;ins+="<table><tr><td>T&iacute;tulo</td><td>Chave</td><td>Tipo (input ou select)</td><td>Valores</td></tr>";for(i=0;i<n;i++){ins+="<tr><td><input name='titulo' type=text size=20 value='"+parametros[i].titulo+"' /></td>"+"<td><input name='chave' type=text size=20 value='"+parametros[i].chave+"' /></td>"+"<td><input name='tipo' type=text size=20 value='"+parametros[i].tipo+"' /></td> "+"<td><input name='valores' type=text size=20 value='"+parametros[i].valores+"' /></td></tr>"}ins+="</table>"+"<p class='paragrafo'>As chaves s&atilde;o palavras que devem existir no SQL definido em DATA."+"<br>O usu&aacute;rio ir&aacute; fornecer os valores que ser&atilde;o ent&atilde;o utilizados para substituir as chaves de forma din&acirc;mica"+"<br>Ser&aacute; mostrado ao usu&aacute;rio um formul&aacute;rio com op&ccedil;&otilde;es. Cada op&ccedil;&atilde;o conter&aacute; um t&iacute;tulo e um campo de formul&aacute;rio"+"<br>Cada campo de formul&aacute;rio pode ser dos tipos input (para digitar um valor) ou select (caixa de op&ccedil;&otilde;es)."+"<br>Em valores deve ser definida a lista ou o valor default que ser&aacute; mostrado. No caso de listas, utilize v&iacute;rgula para separar os valores.";return ins},parametrosFormAdmin:function(onde){var campo=0,nlinhas=4,ncampos=4,campos=onde.getElementsByTagName("input"),par=[],temp=[],i,j;for(j=0;j<nlinhas;j++){temp=[];for(i=0;i<ncampos;i++){if(campos[campo]){temp.push('"'+campos[campo].name+'" : "'+campos[campo].value+'"')}campo++}par.push("{"+temp.join(",")+"}")}return'{"plugin":"parametrossql","parametros":['+par.join(",")+']}'},inicia:function(camada){i3GEO.janela.fechaAguarde("aguardePlugin");var iniciaform=function(){i3GEOF.parametrossql.iniciaJanelaFlutuante(camada)};i3GEO.util.scriptTag((i3GEO.configura.locaplic+"/ferramentas/parametrossql/dependencias.php"),iniciaform,"parametrossql_script")},googlemaps:{inicia:function(camada){i3GEO.pluginI3geo.parametrossql.inicia(camada)},aplicaPropriedades:function(camada){return camada}},openlayers:{inicia:function(camada){i3GEO.pluginI3geo.parametrossql.inicia(camada)},aplicaPropriedades:function(camada){return camada}}}};
409 /* 409 /*
410 * euDock - javascript Emulation of Dock style MAC OS X bar 410 * euDock - javascript Emulation of Dock style MAC OS X bar
411 * 411 *
classesjs/i3geo_tudo_compacto6.js.php
@@ -405,7 +405,7 @@ if(typeof(i3GEO)===&#39;undefined&#39;){var i3GEO={}}i3GEO.gadgets={PARAMETROS:{&quot;mostraI @@ -405,7 +405,7 @@ if(typeof(i3GEO)===&#39;undefined&#39;){var i3GEO={}}i3GEO.gadgets={PARAMETROS:{&quot;mostraI
405 if(typeof(i3GEO)==='undefined'){var i3GEO={}}i3GEO.social={curtirFacebook:function(url,tipo){if(tipo==="comtotal"){return"<iframe src='http://www.facebook.com/plugins/like.php?href="+url+"&layout=button_count&show_faces=false&width=160&action=like&colorscheme=light&height=21' scrolling='no' frameborder='0' style='border:none; overflow:hidden; width:160px; height:21px;' allowTransparency='true'></iframe>"}if(tipo==="semtotal"){return"<iframe src='http://www.facebook.com/plugins/like.php?href="+url+"&layout=button_count&show_faces=false&action=like&colorscheme=light&height=21' scrolling='no' frameborder='0' style='border:none; overflow:hidden; width:100px; height:21px;' allowTransparency='true'></iframe>"}},publicarTwitter:function(url,tipo){var re=new RegExp("=","g");url=url.replace(re,'%3d');if(tipo==="comtotal"){return'<iframe allowtransparency="true" frameborder="0" scrolling="no" src="http://platform.twitter.com/widgets/tweet_button.html?count=horizontal&via=i3geo&url='+url+'" style="width:100px; height:21px;"></iframe>'}if(tipo==="semtotal"){return'<iframe allowtransparency="true" frameborder="0" scrolling="no" src="http://platform.twitter.com/widgets/tweet_button.html?count=none&via=i3geo&url='+url+'" style="width:65px; height:21px;"></iframe>'}},compartilhar:function(id,urlcf,urlpt,tipo,locaplic){if(!locaplic){locaplic=i3GEO.configura.locaplic}if(!tipo){tipo="comtotal"}var onde=$i(id),tabela="";if(tipo==="comtotal"){tabela+="<table style='width:250px' ><tr>"}if(tipo==="semtotal"){tabela+="<table style='width:115px' ><tr>"}if(onde||id===""){if(urlpt!==""){tabela+="<td>"+i3GEO.social.publicarTwitter(urlpt,tipo)+"</td>"}if(urlcf!==""){tabela+="<td>"+i3GEO.social.curtirFacebook(urlcf,tipo)+"</td>"}tabela+="</tr></table>";if(id!==""){onde.innerHTML=tabela}return tabela}else{return false}},bookmark:function(link,locaplic){if(!locaplic){locaplic=i3GEO.configura.locaplic}var ins="<img style='cursor:pointer' src='"+locaplic+"/imagens/delicious.gif' onclick='javascript:window.open(\"http://del.icio.us/post?url="+link+"\")' title='Delicious'/> ";ins+="<img style='cursor:pointer' src='"+locaplic+"/imagens/digg.gif' onclick='javascript:window.open(\"http://digg.com/submit/post?url="+link+"\")' title='Digg'/> ";ins+="<img style='cursor:pointer' src='"+locaplic+"/imagens/facebook.gif' onclick='javascript:window.open(\"http://www.facebook.com/sharer.php?u="+link+"\")' title='Facebook'/> ";ins+="<img style='cursor:pointer' src='"+locaplic+"/imagens/stumbleupon.gif' onclick='javascript:window.open(\"http://www.stumbleupon.com/submit?url="+link+"\")' title='StumbleUpon'/>";return ins}}; 405 if(typeof(i3GEO)==='undefined'){var i3GEO={}}i3GEO.social={curtirFacebook:function(url,tipo){if(tipo==="comtotal"){return"<iframe src='http://www.facebook.com/plugins/like.php?href="+url+"&layout=button_count&show_faces=false&width=160&action=like&colorscheme=light&height=21' scrolling='no' frameborder='0' style='border:none; overflow:hidden; width:160px; height:21px;' allowTransparency='true'></iframe>"}if(tipo==="semtotal"){return"<iframe src='http://www.facebook.com/plugins/like.php?href="+url+"&layout=button_count&show_faces=false&action=like&colorscheme=light&height=21' scrolling='no' frameborder='0' style='border:none; overflow:hidden; width:100px; height:21px;' allowTransparency='true'></iframe>"}},publicarTwitter:function(url,tipo){var re=new RegExp("=","g");url=url.replace(re,'%3d');if(tipo==="comtotal"){return'<iframe allowtransparency="true" frameborder="0" scrolling="no" src="http://platform.twitter.com/widgets/tweet_button.html?count=horizontal&via=i3geo&url='+url+'" style="width:100px; height:21px;"></iframe>'}if(tipo==="semtotal"){return'<iframe allowtransparency="true" frameborder="0" scrolling="no" src="http://platform.twitter.com/widgets/tweet_button.html?count=none&via=i3geo&url='+url+'" style="width:65px; height:21px;"></iframe>'}},compartilhar:function(id,urlcf,urlpt,tipo,locaplic){if(!locaplic){locaplic=i3GEO.configura.locaplic}if(!tipo){tipo="comtotal"}var onde=$i(id),tabela="";if(tipo==="comtotal"){tabela+="<table style='width:250px' ><tr>"}if(tipo==="semtotal"){tabela+="<table style='width:115px' ><tr>"}if(onde||id===""){if(urlpt!==""){tabela+="<td>"+i3GEO.social.publicarTwitter(urlpt,tipo)+"</td>"}if(urlcf!==""){tabela+="<td>"+i3GEO.social.curtirFacebook(urlcf,tipo)+"</td>"}tabela+="</tr></table>";if(id!==""){onde.innerHTML=tabela}return tabela}else{return false}},bookmark:function(link,locaplic){if(!locaplic){locaplic=i3GEO.configura.locaplic}var ins="<img style='cursor:pointer' src='"+locaplic+"/imagens/delicious.gif' onclick='javascript:window.open(\"http://del.icio.us/post?url="+link+"\")' title='Delicious'/> ";ins+="<img style='cursor:pointer' src='"+locaplic+"/imagens/digg.gif' onclick='javascript:window.open(\"http://digg.com/submit/post?url="+link+"\")' title='Digg'/> ";ins+="<img style='cursor:pointer' src='"+locaplic+"/imagens/facebook.gif' onclick='javascript:window.open(\"http://www.facebook.com/sharer.php?u="+link+"\")' title='Facebook'/> ";ins+="<img style='cursor:pointer' src='"+locaplic+"/imagens/stumbleupon.gif' onclick='javascript:window.open(\"http://www.stumbleupon.com/submit?url="+link+"\")' title='StumbleUpon'/>";return ins}};
406 if(typeof(i3GEO)==='undefined'){var i3GEO={}}if(typeof(i3GEOF)==='undefined'){var i3GEOF={}}i3GEO.login={divnomelogin:"i3GEONomeLogin",recarrega:false,funcaoLoginOk:null,funcaoLoginErro:null,dialogo:{abreLogin:function(locaplic){var js;if(!locaplic){locaplic=i3GEO.configura.locaplic}if(typeof(i3GEOF.loginusuario)==='undefined'){js=locaplic+"/ferramentas/loginusuario/index.js";i3GEO.util.scriptTag(js,"i3GEOF.loginusuario.criaJanelaFlutuante()","i3GEOF.loginusuario_script()")}else{i3GEOF.loginusuario.criaJanelaFlutuante()}},abreLogout:function(){var r=confirm($trad("x26"));if(r==true){i3GEO.login.anulaCookie();i3GEO.janela.destroi("i3GEOF.loginusuario");if($i(i3GEO.login.divnomelogin)){$i(i3GEO.login.divnomelogin).innerHTML=""}if(i3GEO.login.recarrega===true){document.location.reload()}if(i3GEO.parametros){i3GEO.parametros.editor="nao";i3GEO.arvoreDeTemas.atualiza()}}}},anulaCookie:function(){i3GEO.util.insereCookie("i3geocodigologin","",0);i3GEO.util.insereCookie("i3geousuariologin","",0);i3GEO.util.insereCookie("i3geousuarionome","",0);i3GEO.util.insereCookie("i3GeoLogin","",0)},verificaCookieLogin:function(){var a=i3GEO.util.pegaCookie("i3geocodigologin"),b=i3GEO.util.pegaCookie("i3geousuarionome");if(a&&b&&a!=""&&b!=""){return true}else{return false}},verificaOperacao:function(operacao,locaplic,funcaoOk,tipo,funcaoErro){var p="",cp,temp,resultado=true;if(!i3GEO.login.verificaCookieLogin()){if(!funcaoErro){alert("Login...!")}else{funcaoErro.call()}return false}if(!locaplic){locaplic=i3GEO.configura.locaplic}temp=function(retorno){if(retorno.data=="sim"){resultado=true}else{resultado=false}if(resultado===true){if(funcaoOk&&funcaoOk!=""){funcaoOk.call()}}else{if($i(i3GEO.login.divnomelogin)){$i(i3GEO.login.divnomelogin).innerHTML="";i3GEO.login.anulaCookie()}if(funcaoErro&&funcaoErro!=""&&resultado===false){funcaoErro.call()}}return resultado};if(tipo==="sessao"){p=locaplic+"/admin/php/login.php?funcao=validaoperacaosessao"}if(tipo==="banco"){p=locaplic+"/admin/php/login.php?funcao=validaoperacaobanco"}cp=new cpaint();cp.set_response_type("JSON");cp.set_transfer_mode("POST");cp.call(p,"login",temp,"&operacao="+operacao)},adicionaMenuSuspenso:function(obj){obj.menu.push({nome:"Admin/Login",id:"i3GeoAdmin"});obj.submenus.i3GeoAdmin=[];obj.submenus.i3GeoAdmin.push({id:"omenudataAdminu1",text:"Login",url:"javascript:i3GEO.login.dialogo.abreLogin()"},{id:"omenudataAdminu2",text:"Logout",url:"javascript:i3GEO.login.dialogo.abreLogout()"},{id:"omenudataAdmin1",text:$trad("x1"),url:"javascript:var w = window.open(i3GEO.configura.locaplic+'/admin/index.html')"},{id:"omenudataAdmin2",text:$trad("g1a"),url:"javascript:var w = window.open(i3GEO.configura.locaplic+'/admin/html/arvore.html')"},{id:"omenudataAdmin3",text:$trad("x10"),url:"javascript:i3GEO.arvoreDeTemas.abrejanelaIframe('900','700','"+i3GEO.configura.locaplic+"/admin/html/menus.html\')"},{id:"omenudataAdmin4",text:$trad("t44"),url:"javascript:i3GEO.janela.tempoMsg($trad('x63'))"},{id:"omenudataAdmin5",text:$trad("x88"),url:"javascript:i3GEO.mapa.dialogo.preferencias()"});return obj}}; 406 if(typeof(i3GEO)==='undefined'){var i3GEO={}}if(typeof(i3GEOF)==='undefined'){var i3GEOF={}}i3GEO.login={divnomelogin:"i3GEONomeLogin",recarrega:false,funcaoLoginOk:null,funcaoLoginErro:null,dialogo:{abreLogin:function(locaplic){var js;if(!locaplic){locaplic=i3GEO.configura.locaplic}if(typeof(i3GEOF.loginusuario)==='undefined'){js=locaplic+"/ferramentas/loginusuario/index.js";i3GEO.util.scriptTag(js,"i3GEOF.loginusuario.criaJanelaFlutuante()","i3GEOF.loginusuario_script()")}else{i3GEOF.loginusuario.criaJanelaFlutuante()}},abreLogout:function(){var r=confirm($trad("x26"));if(r==true){i3GEO.login.anulaCookie();i3GEO.janela.destroi("i3GEOF.loginusuario");if($i(i3GEO.login.divnomelogin)){$i(i3GEO.login.divnomelogin).innerHTML=""}if(i3GEO.login.recarrega===true){document.location.reload()}if(i3GEO.parametros){i3GEO.parametros.editor="nao";i3GEO.arvoreDeTemas.atualiza()}}}},anulaCookie:function(){i3GEO.util.insereCookie("i3geocodigologin","",0);i3GEO.util.insereCookie("i3geousuariologin","",0);i3GEO.util.insereCookie("i3geousuarionome","",0);i3GEO.util.insereCookie("i3GeoLogin","",0)},verificaCookieLogin:function(){var a=i3GEO.util.pegaCookie("i3geocodigologin"),b=i3GEO.util.pegaCookie("i3geousuarionome");if(a&&b&&a!=""&&b!=""){return true}else{return false}},verificaOperacao:function(operacao,locaplic,funcaoOk,tipo,funcaoErro){var p="",cp,temp,resultado=true;if(!i3GEO.login.verificaCookieLogin()){if(!funcaoErro){alert("Login...!")}else{funcaoErro.call()}return false}if(!locaplic){locaplic=i3GEO.configura.locaplic}temp=function(retorno){if(retorno.data=="sim"){resultado=true}else{resultado=false}if(resultado===true){if(funcaoOk&&funcaoOk!=""){funcaoOk.call()}}else{if($i(i3GEO.login.divnomelogin)){$i(i3GEO.login.divnomelogin).innerHTML="";i3GEO.login.anulaCookie()}if(funcaoErro&&funcaoErro!=""&&resultado===false){funcaoErro.call()}}return resultado};if(tipo==="sessao"){p=locaplic+"/admin/php/login.php?funcao=validaoperacaosessao"}if(tipo==="banco"){p=locaplic+"/admin/php/login.php?funcao=validaoperacaobanco"}cp=new cpaint();cp.set_response_type("JSON");cp.set_transfer_mode("POST");cp.call(p,"login",temp,"&operacao="+operacao)},adicionaMenuSuspenso:function(obj){obj.menu.push({nome:"Admin/Login",id:"i3GeoAdmin"});obj.submenus.i3GeoAdmin=[];obj.submenus.i3GeoAdmin.push({id:"omenudataAdminu1",text:"Login",url:"javascript:i3GEO.login.dialogo.abreLogin()"},{id:"omenudataAdminu2",text:"Logout",url:"javascript:i3GEO.login.dialogo.abreLogout()"},{id:"omenudataAdmin1",text:$trad("x1"),url:"javascript:var w = window.open(i3GEO.configura.locaplic+'/admin/index.html')"},{id:"omenudataAdmin2",text:$trad("g1a"),url:"javascript:var w = window.open(i3GEO.configura.locaplic+'/admin/html/arvore.html')"},{id:"omenudataAdmin3",text:$trad("x10"),url:"javascript:i3GEO.arvoreDeTemas.abrejanelaIframe('900','700','"+i3GEO.configura.locaplic+"/admin/html/menus.html\')"},{id:"omenudataAdmin4",text:$trad("t44"),url:"javascript:i3GEO.janela.tempoMsg($trad('x63'))"},{id:"omenudataAdmin5",text:$trad("x88"),url:"javascript:i3GEO.mapa.dialogo.preferencias()"});return obj}};
407 if(typeof(i3GEO)==='undefined'){var i3GEO={}}i3GEO.marcador={prompt:function(){i3GEO.janela.prompt($trad("x77"),i3GEO.marcador.armazena,"")},armazena:function(){var cookies=i3GEO.util.pegaCookie("marcadoresDoI3Geo"),ext=i3GEO.parametros.mapexten,nome="Marcador",valor;if($i("i3GEOjanelaprompt")){nome=$i("i3GEOjanelaprompt").value}valor=nome+"|"+ext;if(cookies){cookies+=":"}else{cookies=""}valor=cookies+valor;i3GEO.util.insereCookie("marcadoresDoI3Geo",valor,365);i3GEO.marcador.redesenha()},redesenha:function(){var m=i3GEOoMenuBar.getMenu("i3GeoMenuMarcador");m.clearContent();m.addItems(i3GEO.marcador.itensMenu());m.render()},exporta:function(){var c=i3GEO.util.pegaCookie("marcadoresDoI3Geo"),texto;if(!c){c=""}texto="<p class=paragrafo >"+$trad("x78")+"</p><div class='i3geoForm i3geoFormIconeEdita' ><input type=text value='"+c+"' onclick='javascript:this.select()'/></div>";i3GEO.janela.mensagemSimples(texto,$trad("x79"))},exportaShp:function(){var c=i3GEO.util.pegaCookie("marcadoresDoI3Geo"),temp=function(retorno){i3GEO.temaAtivo=retorno.data;i3GEO.atualiza()};if(c){i3GEO.php.marcadores2shp(temp)}},importa:function(){var temp=function(){var cookies=i3GEO.util.pegaCookie("marcadoresDoI3Geo"),novos="";if($i("i3GEOjanelaprompt")){novos=$i("i3GEOjanelaprompt").value}if(cookies){cookies+=":"}else{cookies=""}novos=cookies+novos;i3GEO.util.insereCookie("marcadoresDoI3Geo",novos,365);i3GEO.marcador.redesenha()};i3GEO.janela.prompt($trad("x83"),temp,"")},remove:function(nomeMarcador){var cookie=i3GEO.util.pegaCookie("marcadoresDoI3Geo"),valores=cookie.split(":"),n=valores.length,i,temp,novos=[];for(i=0;i<n;i++){temp=valores[i].split("|");if(temp[0]&&temp[0]!==nomeMarcador){novos.push(valores[i])}}i3GEO.util.insereCookie("marcadoresDoI3Geo",novos.join(":"),365);i3GEO.marcador.redesenha()},recuperaZoom:function(nomeMarcador){var cookie=i3GEO.util.pegaCookie("marcadoresDoI3Geo"),valores=cookie.split(":"),n=valores.length,i,temp;for(i=0;i<n;i++){temp=valores[i].split("|");if(temp[0]&&temp[0]===nomeMarcador){i3GEO.navega.zoomExt("","","",temp[1]);return}}},adicionaMenuSuspenso:function(obj){obj.menu.push({nome:$trad("x79"),id:"i3GeoMenuMarcador"});obj.submenus.i3GeoMenuMarcador=i3GEO.marcador.itensMenu();return obj},itensMenu:function(){var itens=[],cookie=i3GEO.util.pegaCookie("marcadoresDoI3Geo"),valores,n,i,temp;itens.push({id:"omenudataMarcadorSalva",text:$trad("x82"),url:"javascript:i3GEO.marcador.prompt()"},{id:"omenudataMarcadorExporta",text:$trad("x80"),url:"javascript:i3GEO.marcador.exporta()"},{id:"omenudataMarcadorImporta",text:$trad("x81"),url:"javascript:i3GEO.marcador.importa()"},{id:"omenudataMarcadorExportaShp",text:$trad("x84"),url:"javascript:i3GEO.marcador.exportaShp()"});if(cookie){valores=cookie.split(":");n=valores.length;for(i=0;i<n;i++){temp=valores[i].split("|");if(temp.length===2){itens.push({id:"omenudataMarcador"+i,text:"<img title='"+$trad("x62")+"' src='"+i3GEO.configura.locaplic+"/imagens/visual/default/branco.gif' class=x onclick='i3GEO.marcador.remove(\""+temp[0]+"\")' />&nbsp;<span style='color:blue;background-color:white;'>"+temp[0]+"</span>",url:"javascript:i3GEO.marcador.recuperaZoom('"+temp[0]+"')"})}}}return itens}}; 407 if(typeof(i3GEO)==='undefined'){var i3GEO={}}i3GEO.marcador={prompt:function(){i3GEO.janela.prompt($trad("x77"),i3GEO.marcador.armazena,"")},armazena:function(){var cookies=i3GEO.util.pegaCookie("marcadoresDoI3Geo"),ext=i3GEO.parametros.mapexten,nome="Marcador",valor;if($i("i3GEOjanelaprompt")){nome=$i("i3GEOjanelaprompt").value}valor=nome+"|"+ext;if(cookies){cookies+=":"}else{cookies=""}valor=cookies+valor;i3GEO.util.insereCookie("marcadoresDoI3Geo",valor,365);i3GEO.marcador.redesenha()},redesenha:function(){var m=i3GEOoMenuBar.getMenu("i3GeoMenuMarcador");m.clearContent();m.addItems(i3GEO.marcador.itensMenu());m.render()},exporta:function(){var c=i3GEO.util.pegaCookie("marcadoresDoI3Geo"),texto;if(!c){c=""}texto="<p class=paragrafo >"+$trad("x78")+"</p><div class='i3geoForm i3geoFormIconeEdita' ><input type=text value='"+c+"' onclick='javascript:this.select()'/></div>";i3GEO.janela.mensagemSimples(texto,$trad("x79"))},exportaShp:function(){var c=i3GEO.util.pegaCookie("marcadoresDoI3Geo"),temp=function(retorno){i3GEO.temaAtivo=retorno.data;i3GEO.atualiza()};if(c){i3GEO.php.marcadores2shp(temp)}},importa:function(){var temp=function(){var cookies=i3GEO.util.pegaCookie("marcadoresDoI3Geo"),novos="";if($i("i3GEOjanelaprompt")){novos=$i("i3GEOjanelaprompt").value}if(cookies){cookies+=":"}else{cookies=""}novos=cookies+novos;i3GEO.util.insereCookie("marcadoresDoI3Geo",novos,365);i3GEO.marcador.redesenha()};i3GEO.janela.prompt($trad("x83"),temp,"")},remove:function(nomeMarcador){var cookie=i3GEO.util.pegaCookie("marcadoresDoI3Geo"),valores=cookie.split(":"),n=valores.length,i,temp,novos=[];for(i=0;i<n;i++){temp=valores[i].split("|");if(temp[0]&&temp[0]!==nomeMarcador){novos.push(valores[i])}}i3GEO.util.insereCookie("marcadoresDoI3Geo",novos.join(":"),365);i3GEO.marcador.redesenha()},recuperaZoom:function(nomeMarcador){var cookie=i3GEO.util.pegaCookie("marcadoresDoI3Geo"),valores=cookie.split(":"),n=valores.length,i,temp;for(i=0;i<n;i++){temp=valores[i].split("|");if(temp[0]&&temp[0]===nomeMarcador){i3GEO.navega.zoomExt("","","",temp[1]);return}}},adicionaMenuSuspenso:function(obj){obj.menu.push({nome:$trad("x79"),id:"i3GeoMenuMarcador"});obj.submenus.i3GeoMenuMarcador=i3GEO.marcador.itensMenu();return obj},itensMenu:function(){var itens=[],cookie=i3GEO.util.pegaCookie("marcadoresDoI3Geo"),valores,n,i,temp;itens.push({id:"omenudataMarcadorSalva",text:$trad("x82"),url:"javascript:i3GEO.marcador.prompt()"},{id:"omenudataMarcadorExporta",text:$trad("x80"),url:"javascript:i3GEO.marcador.exporta()"},{id:"omenudataMarcadorImporta",text:$trad("x81"),url:"javascript:i3GEO.marcador.importa()"},{id:"omenudataMarcadorExportaShp",text:$trad("x84"),url:"javascript:i3GEO.marcador.exportaShp()"});if(cookie){valores=cookie.split(":");n=valores.length;for(i=0;i<n;i++){temp=valores[i].split("|");if(temp.length===2){itens.push({id:"omenudataMarcador"+i,text:"<img title='"+$trad("x62")+"' src='"+i3GEO.configura.locaplic+"/imagens/visual/default/branco.gif' class=x onclick='i3GEO.marcador.remove(\""+temp[0]+"\")' />&nbsp;<span style='color:blue;background-color:white;'>"+temp[0]+"</span>",url:"javascript:i3GEO.marcador.recuperaZoom('"+temp[0]+"')"})}}}return itens}};
408 -if(typeof(i3GEO)==='undefined'){var i3GEO={}}i3GEO.pluginI3geo={OBJETOS:{},PLUGINS:[{"classe":"heatmap","nome":"Mapa de calor","editor":true},{"classe":"markercluster","nome":"Agrupamento de pontos (cluster)","editor":true},{"classe":"layerkml","nome":"Camada Kml","editor":true}],inicia:function(camada){if(i3GEO.janela){i3GEO.janela.AGUARDEMODAL=true;i3GEO.janela.abreAguarde("aguardePlugin","Plugin...");i3GEO.janela.AGUARDEMODAL=false}i3GEO.pluginI3geo[camada.plugini3geo.plugin][i3GEO.Interface.ATUAL].inicia(camada)},formAdmin:function(plugin,configString){return i3GEO.pluginI3geo[plugin].formAdmin(configString)},linkAjuda:function(plugin){return i3GEO.pluginI3geo[plugin].linkAjuda()},ligaCamada:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].ligaCamada){i3GEO.pluginI3geo.OBJETOS[nomecamada].ligaCamada();return true}return false},desligaCamada:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].desLigaCamada){i3GEO.pluginI3geo.OBJETOS[nomecamada].desLigaCamada();return true}return false},removeCamada:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].removeCamada){i3GEO.pluginI3geo.OBJETOS[nomecamada].removeCamada();delete(i3GEO.pluginI3geo.OBJETOS[nomecamada]);return true}return false},atualizaCamada:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].atualizaCamada){i3GEO.pluginI3geo.OBJETOS[nomecamada].atualizaCamada();return true}return false},existeObjeto:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].atualizaCamada){return true}return false},aplicaPropriedades:function(camada){if(camada.plugini3geo&&camada.plugini3geo!=""){camada=i3GEO.pluginI3geo[camada.plugini3geo.plugin][i3GEO.Interface.ATUAL].aplicaPropriedades(camada)}return camada},heatmap:{linkAjuda:function(){return i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=3&idajuda=121"},formAdmin:function(config){var parametros,ins="",configDefault='{"plugin":"heatmap","parametros":{"tipoGradiente": "default","valorPonto":1,"coluna":"","radius":15}}';if(config===""){config=configDefault}config=YAHOO.lang.JSON.parse(config);if(config.plugin!="heatmap"){config=YAHOO.lang.JSON.parse(configDefault)}parametros=config.parametros;ins+=""+"<p>Coluna que cont&eacute;m os dados:"+"<br><input name='coluna' type='text' value='"+parametros.coluna+"' size='30'></p>"+"<p>Ou valor num&eacute;rico para cada ponto:"+"<br><input name='valorPonto' type='text' value='"+parametros.valorPonto+"' size='30'></p>"+"<p>Raio de cada ponto em pixels:"+"<br><input name='radius' type='text' value='"+parametros.radius+"' size='30'></p>"+"<p>Tipo de gradiente (deixe vazio para utilizar as classes definidas no Layer ou escreva 'default' para usar o normal):"+"<br><input name='tipoGradiente' type='text' value='"+parametros.tipoGradiente+"' size='30'></p>"+"<p>Para definir os cortes no gradiente de cores utilize valores entre 0 e 1."+" As cores s&atilde;o definidas nas classes do LAYER, sendo que o nome define o valor superior do gradiente e COLOR define a cor."+" Veja o exemplo utilizado no tema _lmapadecalor.map</p>";return ins},googlemaps:{aplicaPropriedades:function(camada){camada.sel="nao";camada.download="nao";camada.AGUARDALEGENDA=false;camada.temporizador="";camada.copia=false;camada.procurar=false;camada.toponimia=false;camada.etiquetas=false;camada.tabela=false;camada.grafico=false;camada.destacar=false;camada.wms=false;camada.classe="NAO";return camada},inicia:function(camada){var nomeScript="heatmap_script",p=i3GEO.configura.locaplic+"/ferramentas/heatmap/googlemaps_js.php",carregaJs="nao",criaLayer;criaLayer=function(){var heatmap,pontos;heatmap=new HeatmapOverlay(i3GeoMap,camada.name,{"radius":camada.plugini3geo.parametros.radius,"visible":true,"opacity":camada.transparency,"gradient":heatmap_config.gradient,"legend":{"title":camada.tema,"position":"bl","offset":[5,50]}});pontos={max:camada.plugini3geo.parametros.max,data:heatmap_dados};i3GEO.janela.fechaAguarde("aguardePlugin");heatmap.setDataSet(pontos);heatmap.ligaCamada=function(){this.liga()};heatmap.desLigaCamada=function(){this.desliga()};heatmap.removeCamada=function(){this.destroy()};heatmap.atualizaCamada=function(){this.draw()};i3GEO.pluginI3geo.OBJETOS[camada.name]=heatmap;heatmap_dados=null};if(!$i(nomeScript)){carregaJs="sim"}else{nomeScript=""}p+="?carregajs="+carregaJs+"&layer="+camada.name+"&coluna="+camada.plugini3geo.parametros.coluna+"&tipoGradiente="+camada.plugini3geo.parametros.tipoGradiente+"&g_sid="+i3GEO.configura.sid+"&nomevariavel=heatmap_dados&nomevariavelConfig=heatmap_config";i3GEO.util.scriptTag(p,criaLayer,nomeScript)}},openlayers:{aplicaPropriedades:function(camada){camada.sel="nao";camada.download="nao";camada.AGUARDALEGENDA=false;camada.temporizador="";camada.copia=false;camada.procurar=false;camada.toponimia=false;camada.etiquetas=false;camada.tabela=false;camada.grafico=false;camada.destacar=false;camada.wms=false;camada.classe="NAO";return camada},inicia:function(camada,objMapa){var nomeScript="heatmap_script",p=i3GEO.configura.locaplic+"/ferramentas/heatmap/openlayers_js.php",carregaJs="nao",criaLayer;criaLayer=function(){var temp,heatmap,transformedTestData={max:1,data:[]},data=heatmap_dados,datalen=heatmap_dados.length,nudata=[],max=0;if(!objMapa){objMapa=i3geoOL}while(datalen--){temp=heatmap_dados[datalen].count;nudata.push({lonlat:new OpenLayers.LonLat(data[datalen].lng,heatmap_dados[datalen].lat),count:temp});max=Math.max(max,temp)}transformedTestData.max=max;transformedTestData.data=nudata;heatmap=new OpenLayers.Layer.Heatmap(camada.name,objMapa,objMapa.baseLayer,{"visible":true,"opacity":camada.transparency,"radius":camada.plugini3geo.parametros.radius,"gradient":heatmap_config.gradient,"legend":{"title":camada.tema,"position":"bl","offset":[5,50]}},{isBaseLayer:false,projection:new OpenLayers.Projection("EPSG:4326"),displayInLayerSwitcher:true});heatmap.ligaCamada=function(){this.toggle();this.updateLayer()};heatmap.desLigaCamada=function(){this.toggle();this.updateLayer()};heatmap.removeCamada=function(){this.destroy()};heatmap.atualizaCamada=function(){this.updateLayer()};i3GEO.pluginI3geo.OBJETOS[camada.name]=heatmap;objMapa.addLayer(heatmap);heatmap.setDataSet(transformedTestData);heatmap_dados=null;if(i3GEO.janela){i3GEO.janela.fechaAguarde("aguardePlugin")}};if(!$i(nomeScript)){carregaJs="sim"}else{nomeScript=""}if(!i3GEO.configura||!i3GEO.configura.sid){i3GEO.configura.sid=""}p+="?carregajs="+carregaJs+"&layer="+camada.name+"&coluna="+camada.plugini3geo.parametros.coluna+"&tipoGradiente="+camada.plugini3geo.parametros.tipoGradiente+"&g_sid="+i3GEO.configura.sid+"&nomevariavel=heatmap_dados&nomevariavelConfig=heatmap_config";i3GEO.util.scriptTag(p,criaLayer,nomeScript)}},googleearth:{inicia:function(){alert("Plugin nao disponivel")}}},markercluster:{linkAjuda:function(){return i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=3&idajuda=121"},formAdmin:function(config){var parametros,ins="",configDefault='{"plugin":"markercluster","parametros":{"tipoEstilos": "default","gridSize":50}}';if(config===""){config=configDefault}config=YAHOO.lang.JSON.parse(config);if(config.plugin!="markercluster"){config=YAHOO.lang.JSON.parse(configDefault)}parametros=config.parametros;ins+=""+"<p>Dist&acirc;ncia m&aacute;xima entre ponto em pixels:"+"<br><input name='gridSize' type='text' value='"+parametros.gridSize+"' size='30'></p>"+"<p>Tipo de estilos (deixe vazio para utilizar as classes definidas no Layer ou escreva 'default' para usar o normal):"+"<br><input name='tipoEstilos' type='text' value='"+parametros.tipoEstilos+"' size='30'></p>"+"<p>Os s&iacute;mbolos utilizados podem ser customizados alterando-se as classes do Mapfile</p>"+"<p>Veja o exemplo utilizado no tema _lmapadecluster.map</p>";return ins},googlemaps:{aplicaPropriedades:function(camada){camada.sel="nao";camada.download="nao";camada.AGUARDALEGENDA=false;camada.temporizador="";camada.copia=false;camada.procurar=false;camada.toponimia=false;camada.etiquetas=false;camada.tabela=false;camada.grafico=false;camada.destacar=false;camada.wms=false;camada.classe="NAO";return camada},inicia:function(camada){var nomeScript="markercluster_script",p=i3GEO.configura.locaplic+"/ferramentas/markercluster/googlemaps_js.php",carregaJs="nao",criaLayer;criaLayer=function(){var markercluster,marcas,latLng,marker,n,i;n=markercluster_dados.length;marcas=[];for(i=0;i<n;i++){latLng=new google.maps.LatLng(markercluster_dados[i].lat,markercluster_dados[i].lng);marker=new google.maps.Marker({'position':latLng,icon:{url:markercluster_config.ponto.url,scaledSize:new google.maps.Size(markercluster_config.ponto.width,markercluster_config.ponto.height)}});marcas.push(marker)}markercluster=new MarkerClusterer(i3GeoMap,marcas,{"gridSize":parseInt(camada.plugini3geo.parametros.gridSize,10),"visible":true,"opacity":camada.transparency,"name":camada.name,"styles":markercluster_config.estilos});i3GEO.janela.fechaAguarde("aguardePlugin");i3GEO.eventos.cliquePerm.ativo=false;markercluster.ligaCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].ready_=true;i3GEO.pluginI3geo.OBJETOS[camada.name].redraw();i3GEO.eventos.cliquePerm.ativo=false};markercluster.desLigaCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].resetViewport(true);i3GEO.pluginI3geo.OBJETOS[camada.name].ready_=false;i3GEO.eventos.cliquePerm.ativo=true};markercluster.removeCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].clearMarkers();i3GEO.eventos.cliquePerm.ativo=true};markercluster.atualizaCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].ready_=true;i3GEO.pluginI3geo.OBJETOS[camada.name].redraw();i3GEO.eventos.cliquePerm.ativo=false};i3GEO.pluginI3geo.OBJETOS[camada.name]=markercluster;markercluster_dados=null};if(!$i(nomeScript)){carregaJs="sim"}else{nomeScript=""}p+="?carregajs="+carregaJs+"&layer="+camada.name+"&g_sid="+i3GEO.configura.sid+"&tipoEstilos="+camada.plugini3geo.parametros.tipoEstilos+"&nomevariavel=markercluster_dados&nomevariavelConfig=markercluster_config";i3GEO.util.scriptTag(p,criaLayer,nomeScript)}},openlayers:{aplicaPropriedades:function(camada){camada.sel="nao";camada.download="nao";camada.AGUARDALEGENDA=false;camada.temporizador="";camada.copia=false;camada.procurar=false;camada.toponimia=false;camada.etiquetas=false;camada.tabela=false;camada.grafico=false;camada.destacar=false;camada.wms=false;camada.classe="NAO";return camada},inicia:function(camada,objMapa){var nomeScript="markercluster_script",p=i3GEO.configura.locaplic+"/ferramentas/markercluster/openlayers_js.php",carregaJs="nao",criaLayer;criaLayer=function(){var layerListeners,logMax,logMin,classes,min,max,markercluster,marcas,lonlat,n,i,style,nestilos,intervalo,regra,regras=[];nestilos=markercluster_config.estilos.length;n=markercluster_dados.length;classes=Array();logMax=Math.log(n)/Math.LN10; logMin=Math.log(1)/Math.LN10;intervalo=(logMax-logMin)/nestilos;for(i=0;i<nestilos;i++){if(i==0){classes[i]=logMin}else{classes[i]=classes[i-1]+intervalo}}classes=classes.map(function(x){return Math.pow(10,x)});classes.push(n);regra=new OpenLayers.Rule({filter:new OpenLayers.Filter.Comparison({type:OpenLayers.Filter.Comparison.LESS_THAN,property:"count",value:2}),symbolizer:{externalGraphic:markercluster_config.ponto.url,graphicWidth:markercluster_config.ponto.width,graphicHeight:markercluster_config.ponto.height,graphicYOffset:(markercluster_config.ponto.height/2)*-1}});regras.push(regra);min=2;for(i=0;i<nestilos;i++){max=classes[i+1];regra=new OpenLayers.Rule({filter:new OpenLayers.Filter.Comparison({type:OpenLayers.Filter.Comparison.BETWEEN,property:"count",lowerBoundary:min,upperBoundary:max}),symbolizer:{externalGraphic:markercluster_config.estilos[i].url,graphicWidth:markercluster_config.estilos[i].width,graphicHeight:markercluster_config.estilos[i].height,label:"${count}",labelOutlineWidth:1,fontColor:"#000000",fontOpacity:1,fontSize:"12px"}});regras.push(regra);min=max}style=new OpenLayers.Style(null,{rules:regras});if(!objMapa){objMapa=i3geoOL}layerListeners={featureclick:function(e){if(e.feature.cluster.length>1){objMapa.setCenter([e.feature.geometry.x,e.feature.geometry.y],objMapa.getZoom()+1,false,false)}return false}};markercluster=new OpenLayers.Layer.Vector(camada.name,{renderers:['Canvas','SVG'],strategies:[new OpenLayers.Strategy.AnimatedCluster({distance:parseInt(camada.plugini3geo.parametros.gridSize,10)})],styleMap:new OpenLayers.StyleMap(style),eventListeners:layerListeners});objMapa.addLayer(markercluster);marcas=[];for(i=0;i<n;i++){lonlat=new OpenLayers.LonLat(markercluster_dados[i].lng,markercluster_dados[i].lat);if(i3GEO.Interface.openlayers.googleLike===true){lonlat.transform(new OpenLayers.Projection("EPSG:4326"),new OpenLayers.Projection("EPSG:900913"))}marcas.push(new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Point(lonlat.lon,lonlat.lat)))}markercluster.addFeatures(marcas);i3GEO.janela.fechaAguarde("aguardePlugin");i3GEO.eventos.cliquePerm.ativo=false;markercluster.ligaCamada=function(){i3GEO.eventos.cliquePerm.ativo=false};markercluster.desLigaCamada=function(){i3GEO.eventos.cliquePerm.ativo=true};markercluster.removeCamada=function(){i3GEO.eventos.cliquePerm.ativo=true};markercluster.atualizaCamada=function(){i3GEO.eventos.cliquePerm.ativo=false};i3GEO.pluginI3geo.OBJETOS[camada.name]=markercluster;markercluster_dados=null};if(!$i(nomeScript)){carregaJs="sim"}else{nomeScript=""}p+="?carregajs="+carregaJs+"&layer="+camada.name+"&g_sid="+i3GEO.configura.sid+"&tipoEstilos="+camada.plugini3geo.parametros.tipoEstilos+"&nomevariavel=markercluster_dados&nomevariavelConfig=markercluster_config";i3GEO.util.scriptTag(p,criaLayer,nomeScript)}}},layerkml:{linkAjuda:function(){return i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=3&idajuda=121"},formAdmin:function(config){var parametros,ins="",configDefault='{"plugin":"layerkml","parametros":{"url": ""}}';if(config===""){config=configDefault}config=YAHOO.lang.JSON.parse(config);if(config.plugin!="layerkml"){config=YAHOO.lang.JSON.parse(configDefault)}parametros=config.parametros;ins+="<p>Url do arquivo Kml:<br><input name='url' type='text' value='"+parametros.url+"'/></p>"+"<p>Veja o exemplo utilizado no tema _lmapakml.map</p>";return ins},googlemaps:{aplicaPropriedades:function(camada){camada.sel="nao";camada.download="nao";camada.AGUARDALEGENDA=false;camada.temporizador="";camada.copia=false;camada.procurar=false;camada.toponimia=false;camada.etiquetas=false;camada.tabela=false;camada.grafico=false;camada.destacar=false;camada.wms=false;camada.classe="NAO";return camada},inicia:function(camada){var layerkml=new google.maps.KmlLayer(camada.plugini3geo.parametros.url,{map:i3GeoMap,preserveViewport:true,name:camada.name});i3GEO.janela.fechaAguarde("aguardePlugin");layerkml.ligaCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].setMap(i3GeoMap)};layerkml.desLigaCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].setMap(null)};layerkml.removeCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].setMap(null);i3GEO.pluginI3geo.OBJETOS[camada.name].resetViewport(true)};layerkml.atualizaCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].setMap(null);i3GEO.pluginI3geo.OBJETOS[camada.name].resetViewport(true);i3GEO.pluginI3geo.OBJETOS[camada.name].setMap(i3GeoMap)};i3GEO.pluginI3geo.OBJETOS[camada.name]=layerkml}},openlayers:{aplicaPropriedades:function(camada){camada.sel="nao";camada.download="nao";camada.AGUARDALEGENDA=false;camada.temporizador="";camada.copia=false;camada.procurar=false;camada.toponimia=false;camada.etiquetas=false;camada.tabela=false;camada.grafico=false;camada.destacar=false;camada.wms=false;camada.classe="NAO";return camada},inicia:function(camada,objMapa){var layerkml;url=i3GEO.configura.locaplic+"/classesphp/proxy.php?url="+camada.plugini3geo.parametros.url;layerkml=new OpenLayers.Layer.Vector(camada.name,{displayOutsideMaxExtent:true,displayInLayerSwitcher:false,visibility:true,strategies:[new OpenLayers.Strategy.Fixed()],protocol:new OpenLayers.Protocol.HTTP({url:url,format:new OpenLayers.Format.KML({extractStyles:true,extractAttributes:true,maxDepth:5})})});i3geoOL.addLayer(layerkml);if(!objMapa){objMapa=i3geoOL}layerkml.div.onclick=function(e){var targ="",id,temp,features,n,i,j="",html="";if(!e){e=window.event}if(e.target){targ=e.target}else if(e.srcElement){targ=e.srcElement}if(targ.id){temp=targ.id.split("_Point");if(temp[0]==="OpenLayers_Geometry"){id=targ.id;temp=i3geoOL.getLayer(this.id);features=temp.features;n=features.length;for(i=0;i<n;i++){if(features[i].geometry.id===id){for(j in features[i].attributes){html+=j+": "+features[i].attributes[j]}g=features[i].geometry;i3geoOL.addPopup(new OpenLayers.Popup.FramedCloud("kml",new OpenLayers.LonLat(g.x,g.y),null,html,null,true))}}}}};i3GEO.janela.fechaAguarde("aguardePlugin");i3GEO.eventos.cliquePerm.ativo=false;layerkml.ligaCamada=function(){i3GEO.eventos.cliquePerm.ativo=false};layerkml.desLigaCamada=function(){i3GEO.eventos.cliquePerm.ativo=true};layerkml.removeCamada=function(){i3GEO.eventos.cliquePerm.ativo=true};layerkml.atualizaCamada=function(){i3GEO.eventos.cliquePerm.ativo=false};i3GEO.pluginI3geo.OBJETOS[camada.name]=layerkml}}}}; 408 +if(typeof(i3GEO)==='undefined'){var i3GEO={}}i3GEO.pluginI3geo={OBJETOS:{},PLUGINS:[{"classe":"heatmap","nome":"Mapa de calor","editor":true},{"classe":"markercluster","nome":"Agrupamento de pontos (cluster)","editor":true},{"classe":"layerkml","nome":"Camada Kml","editor":true},{"classe":"parametrossql","nome":"SQL parametrizado","editor":true}],inicia:function(camada){if(i3GEO.janela){i3GEO.janela.AGUARDEMODAL=true;i3GEO.janela.abreAguarde("aguardePlugin","Plugin...");i3GEO.janela.AGUARDEMODAL=false}i3GEO.pluginI3geo[camada.plugini3geo.plugin][i3GEO.Interface.ATUAL].inicia(camada)},formAdmin:function(plugin,configString){return i3GEO.pluginI3geo[plugin].formAdmin(configString)},linkAjuda:function(plugin){return i3GEO.pluginI3geo[plugin].linkAjuda()},ligaCamada:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].ligaCamada){i3GEO.pluginI3geo.OBJETOS[nomecamada].ligaCamada();return true}return false},desligaCamada:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].desLigaCamada){i3GEO.pluginI3geo.OBJETOS[nomecamada].desLigaCamada();return true}return false},removeCamada:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].removeCamada){i3GEO.pluginI3geo.OBJETOS[nomecamada].removeCamada();delete(i3GEO.pluginI3geo.OBJETOS[nomecamada]);return true}return false},atualizaCamada:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].atualizaCamada){i3GEO.pluginI3geo.OBJETOS[nomecamada].atualizaCamada();return true}return false},existeObjeto:function(nomecamada){if(i3GEO.pluginI3geo.OBJETOS[nomecamada]&&i3GEO.pluginI3geo.OBJETOS[nomecamada].atualizaCamada){return true}return false},aplicaPropriedades:function(camada){if(camada.plugini3geo&&camada.plugini3geo!=""){camada=i3GEO.pluginI3geo[camada.plugini3geo.plugin][i3GEO.Interface.ATUAL].aplicaPropriedades(camada)}return camada},heatmap:{linkAjuda:function(){return i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=3&idajuda=121"},formAdmin:function(config){var parametros,ins="",configDefault='{"plugin":"heatmap","parametros":{"tipoGradiente": "default","valorPonto":1,"coluna":"","radius":15}}';if(config===""){config=configDefault}config=YAHOO.lang.JSON.parse(config);if(config.plugin!="heatmap"){config=YAHOO.lang.JSON.parse(configDefault)}parametros=config.parametros;ins+=""+"<p>Coluna que cont&eacute;m os dados:"+"<br><input name='coluna' type='text' value='"+parametros.coluna+"' size='30'></p>"+"<p>Ou valor num&eacute;rico para cada ponto:"+"<br><input name='valorPonto' type='text' value='"+parametros.valorPonto+"' size='30'></p>"+"<p>Raio de cada ponto em pixels:"+"<br><input name='radius' type='text' value='"+parametros.radius+"' size='30'></p>"+"<p>Tipo de gradiente (deixe vazio para utilizar as classes definidas no Layer ou escreva 'default' para usar o normal):"+"<br><input name='tipoGradiente' type='text' value='"+parametros.tipoGradiente+"' size='30'></p>"+"<p>Para definir os cortes no gradiente de cores utilize valores entre 0 e 1."+" As cores s&atilde;o definidas nas classes do LAYER, sendo que o nome define o valor superior do gradiente e COLOR define a cor."+" Veja o exemplo utilizado no tema _lmapadecalor.map</p>";return ins},googlemaps:{aplicaPropriedades:function(camada){camada.sel="nao";camada.download="nao";camada.AGUARDALEGENDA=false;camada.temporizador="";camada.copia=false;camada.procurar=false;camada.toponimia=false;camada.etiquetas=false;camada.tabela=false;camada.grafico=false;camada.destacar=false;camada.wms=false;camada.classe="NAO";return camada},inicia:function(camada){var nomeScript="heatmap_script",p=i3GEO.configura.locaplic+"/ferramentas/heatmap/googlemaps_js.php",carregaJs="nao",criaLayer;criaLayer=function(){var heatmap,pontos;heatmap=new HeatmapOverlay(i3GeoMap,camada.name,{"radius":camada.plugini3geo.parametros.radius,"visible":true,"opacity":camada.transparency,"gradient":heatmap_config.gradient,"legend":{"title":camada.tema,"position":"bl","offset":[5,50]}});pontos={max:camada.plugini3geo.parametros.max,data:heatmap_dados};i3GEO.janela.fechaAguarde("aguardePlugin");heatmap.setDataSet(pontos);heatmap.ligaCamada=function(){this.liga()};heatmap.desLigaCamada=function(){this.desliga()};heatmap.removeCamada=function(){this.destroy()};heatmap.atualizaCamada=function(){this.draw()};i3GEO.pluginI3geo.OBJETOS[camada.name]=heatmap;heatmap_dados=null};if(!$i(nomeScript)){carregaJs="sim"}else{nomeScript=""}p+="?carregajs="+carregaJs+"&layer="+camada.name+"&coluna="+camada.plugini3geo.parametros.coluna+"&tipoGradiente="+camada.plugini3geo.parametros.tipoGradiente+"&g_sid="+i3GEO.configura.sid+"&nomevariavel=heatmap_dados&nomevariavelConfig=heatmap_config";i3GEO.util.scriptTag(p,criaLayer,nomeScript)}},openlayers:{aplicaPropriedades:function(camada){camada.sel="nao";camada.download="nao";camada.AGUARDALEGENDA=false;camada.temporizador="";camada.copia=false;camada.procurar=false;camada.toponimia=false;camada.etiquetas=false;camada.tabela=false;camada.grafico=false;camada.destacar=false;camada.wms=false;camada.classe="NAO";return camada},inicia:function(camada,objMapa){var nomeScript="heatmap_script",p=i3GEO.configura.locaplic+"/ferramentas/heatmap/openlayers_js.php",carregaJs="nao",criaLayer;criaLayer=function(){var temp,heatmap,transformedTestData={max:1,data:[]},data=heatmap_dados,datalen=heatmap_dados.length,nudata=[],max=0;if(!objMapa){objMapa=i3geoOL}while(datalen--){temp=heatmap_dados[datalen].count;nudata.push({lonlat:new OpenLayers.LonLat(data[datalen].lng,heatmap_dados[datalen].lat),count:temp});max=Math.max(max,temp)}transformedTestData.max=max;transformedTestData.data=nudata;heatmap=new OpenLayers.Layer.Heatmap(camada.name,objMapa,objMapa.baseLayer,{"visible":true,"opacity":camada.transparency,"radius":camada.plugini3geo.parametros.radius,"gradient":heatmap_config.gradient,"legend":{"title":camada.tema,"position":"bl","offset":[5,50]}},{isBaseLayer:false,projection:new OpenLayers.Projection("EPSG:4326"),displayInLayerSwitcher:true});heatmap.ligaCamada=function(){this.toggle();this.updateLayer()};heatmap.desLigaCamada=function(){this.toggle();this.updateLayer()};heatmap.removeCamada=function(){this.destroy()};heatmap.atualizaCamada=function(){this.updateLayer()};i3GEO.pluginI3geo.OBJETOS[camada.name]=heatmap;objMapa.addLayer(heatmap);heatmap.setDataSet(transformedTestData);heatmap_dados=null;if(i3GEO.janela){i3GEO.janela.fechaAguarde("aguardePlugin")}};if(!$i(nomeScript)){carregaJs="sim"}else{nomeScript=""}if(!i3GEO.configura||!i3GEO.configura.sid){i3GEO.configura.sid=""}p+="?carregajs="+carregaJs+"&layer="+camada.name+"&coluna="+camada.plugini3geo.parametros.coluna+"&tipoGradiente="+camada.plugini3geo.parametros.tipoGradiente+"&g_sid="+i3GEO.configura.sid+"&nomevariavel=heatmap_dados&nomevariavelConfig=heatmap_config";i3GEO.util.scriptTag(p,criaLayer,nomeScript)}},googleearth:{inicia:function(){alert("Plugin nao disponivel")}}},markercluster:{linkAjuda:function(){return i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=3&idajuda=121"},formAdmin:function(config){var parametros,ins="",configDefault='{"plugin":"markercluster","parametros":{"tipoEstilos": "default","gridSize":50}}';if(config===""){config=configDefault}config=YAHOO.lang.JSON.parse(config);if(config.plugin!="markercluster"){config=YAHOO.lang.JSON.parse(configDefault)}parametros=config.parametros;ins+=""+"<p>Dist&acirc;ncia m&aacute;xima entre ponto em pixels:"+"<br><input name='gridSize' type='text' value='"+parametros.gridSize+"' size='30'></p>"+"<p>Tipo de estilos (deixe vazio para utilizar as classes definidas no Layer ou escreva 'default' para usar o normal):"+"<br><input name='tipoEstilos' type='text' value='"+parametros.tipoEstilos+"' size='30'></p>"+"<p>Os s&iacute;mbolos utilizados podem ser customizados alterando-se as classes do Mapfile</p>"+"<p>Veja o exemplo utilizado no tema _lmapadecluster.map</p>";return ins},googlemaps:{aplicaPropriedades:function(camada){camada.sel="nao";camada.download="nao";camada.AGUARDALEGENDA=false;camada.temporizador="";camada.copia=false;camada.procurar=false;camada.toponimia=false;camada.etiquetas=false;camada.tabela=false;camada.grafico=false;camada.destacar=false;camada.wms=false;camada.classe="NAO";return camada},inicia:function(camada){var nomeScript="markercluster_script",p=i3GEO.configura.locaplic+"/ferramentas/markercluster/googlemaps_js.php",carregaJs="nao",criaLayer;criaLayer=function(){var markercluster,marcas,latLng,marker,n,i;n=markercluster_dados.length;marcas=[];for(i=0;i<n;i++){latLng=new google.maps.LatLng(markercluster_dados[i].lat,markercluster_dados[i].lng);marker=new google.maps.Marker({'position':latLng,icon:{url:markercluster_config.ponto.url,scaledSize:new google.maps.Size(markercluster_config.ponto.width,markercluster_config.ponto.height)}});marcas.push(marker)}markercluster=new MarkerClusterer(i3GeoMap,marcas,{"gridSize":parseInt(camada.plugini3geo.parametros.gridSize,10),"visible":true,"opacity":camada.transparency,"name":camada.name,"styles":markercluster_config.estilos});i3GEO.janela.fechaAguarde("aguardePlugin");i3GEO.eventos.cliquePerm.ativo=false;markercluster.ligaCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].ready_=true;i3GEO.pluginI3geo.OBJETOS[camada.name].redraw();i3GEO.eventos.cliquePerm.ativo=false};markercluster.desLigaCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].resetViewport(true);i3GEO.pluginI3geo.OBJETOS[camada.name].ready_=false;i3GEO.eventos.cliquePerm.ativo=true};markercluster.removeCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].clearMarkers();i3GEO.eventos.cliquePerm.ativo=true};markercluster.atualizaCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].ready_=true;i3GEO.pluginI3geo.OBJETOS[camada.name].redraw();i3GEO.eventos.cliquePerm.ativo=false};i3GEO.pluginI3geo.OBJETOS[camada.name]=markercluster;markercluster_dados=null};if(!$i(nomeScript)){carregaJs="sim"}else{nomeScript=""}p+="?carregajs="+carregaJs+"&layer="+camada.name+"&g_sid="+i3GEO.configura.sid+"&tipoEstilos="+camada.plugini3geo.parametros.tipoEstilos+"&nomevariavel=markercluster_dados&nomevariavelConfig=markercluster_config";i3GEO.util.scriptTag(p,criaLayer,nomeScript)}},openlayers:{aplicaPropriedades:function(camada){camada.sel="nao";camada.download="nao";camada.AGUARDALEGENDA=false;camada.temporizador="";camada.copia=false;camada.procurar=false;camada.toponimia=false;camada.etiquetas=false;camada.tabela=false;camada.grafico=false;camada.destacar=false;camada.wms=false;camada.classe="NAO";return camada},inicia:function(camada,objMapa){var nomeScript="markercluster_script",p=i3GEO.configura.locaplic+"/ferramentas/markercluster/openlayers_js.php",carregaJs="nao",criaLayer;criaLayer=function(){var layerListeners,logMax,logMin,classes,min,max,markercluster,marcas,lonlat,n,i,style,nestilos,intervalo,regra,regras=[];nestilos=markercluster_config.estilos.length;n=markercluster_dados.length;classes=Array();logMax=Math.log(n)/Math.LN10; logMin=Math.log(1)/Math.LN10;intervalo=(logMax-logMin)/nestilos;for(i=0;i<nestilos;i++){if(i==0){classes[i]=logMin}else{classes[i]=classes[i-1]+intervalo}}classes=classes.map(function(x){return Math.pow(10,x)});classes.push(n);regra=new OpenLayers.Rule({filter:new OpenLayers.Filter.Comparison({type:OpenLayers.Filter.Comparison.LESS_THAN,property:"count",value:2}),symbolizer:{externalGraphic:markercluster_config.ponto.url,graphicWidth:markercluster_config.ponto.width,graphicHeight:markercluster_config.ponto.height,graphicYOffset:(markercluster_config.ponto.height/2)*-1}});regras.push(regra);min=2;for(i=0;i<nestilos;i++){max=classes[i+1];regra=new OpenLayers.Rule({filter:new OpenLayers.Filter.Comparison({type:OpenLayers.Filter.Comparison.BETWEEN,property:"count",lowerBoundary:min,upperBoundary:max}),symbolizer:{externalGraphic:markercluster_config.estilos[i].url,graphicWidth:markercluster_config.estilos[i].width,graphicHeight:markercluster_config.estilos[i].height,label:"${count}",labelOutlineWidth:1,fontColor:"#000000",fontOpacity:1,fontSize:"12px"}});regras.push(regra);min=max}style=new OpenLayers.Style(null,{rules:regras});if(!objMapa){objMapa=i3geoOL}layerListeners={featureclick:function(e){if(e.feature.cluster.length>1){objMapa.setCenter([e.feature.geometry.x,e.feature.geometry.y],objMapa.getZoom()+1,false,false)}return false}};markercluster=new OpenLayers.Layer.Vector(camada.name,{renderers:['Canvas','SVG'],strategies:[new OpenLayers.Strategy.AnimatedCluster({distance:parseInt(camada.plugini3geo.parametros.gridSize,10)})],styleMap:new OpenLayers.StyleMap(style),eventListeners:layerListeners});objMapa.addLayer(markercluster);marcas=[];for(i=0;i<n;i++){lonlat=new OpenLayers.LonLat(markercluster_dados[i].lng,markercluster_dados[i].lat);if(i3GEO.Interface.openlayers.googleLike===true){lonlat.transform(new OpenLayers.Projection("EPSG:4326"),new OpenLayers.Projection("EPSG:900913"))}marcas.push(new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Point(lonlat.lon,lonlat.lat)))}markercluster.addFeatures(marcas);i3GEO.janela.fechaAguarde("aguardePlugin");i3GEO.eventos.cliquePerm.ativo=false;markercluster.ligaCamada=function(){i3GEO.eventos.cliquePerm.ativo=false};markercluster.desLigaCamada=function(){i3GEO.eventos.cliquePerm.ativo=true};markercluster.removeCamada=function(){i3GEO.eventos.cliquePerm.ativo=true};markercluster.atualizaCamada=function(){i3GEO.eventos.cliquePerm.ativo=false};i3GEO.pluginI3geo.OBJETOS[camada.name]=markercluster;markercluster_dados=null};if(!$i(nomeScript)){carregaJs="sim"}else{nomeScript=""}p+="?carregajs="+carregaJs+"&layer="+camada.name+"&g_sid="+i3GEO.configura.sid+"&tipoEstilos="+camada.plugini3geo.parametros.tipoEstilos+"&nomevariavel=markercluster_dados&nomevariavelConfig=markercluster_config";i3GEO.util.scriptTag(p,criaLayer,nomeScript)}}},layerkml:{linkAjuda:function(){return i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=3&idajuda=121"},formAdmin:function(config){var parametros,ins="",configDefault='{"plugin":"layerkml","parametros":{"url": ""}}';if(config===""){config=configDefault}config=YAHOO.lang.JSON.parse(config);if(config.plugin!="layerkml"){config=YAHOO.lang.JSON.parse(configDefault)}parametros=config.parametros;ins+="<p>Url do arquivo Kml:<br><input name='url' type='text' value='"+parametros.url+"'/></p>"+"<p>Veja o exemplo utilizado no tema _lmapakml.map</p>";return ins},googlemaps:{aplicaPropriedades:function(camada){camada.sel="nao";camada.download="nao";camada.AGUARDALEGENDA=false;camada.temporizador="";camada.copia=false;camada.procurar=false;camada.toponimia=false;camada.etiquetas=false;camada.tabela=false;camada.grafico=false;camada.destacar=false;camada.wms=false;camada.classe="NAO";return camada},inicia:function(camada){var layerkml=new google.maps.KmlLayer(camada.plugini3geo.parametros.url,{map:i3GeoMap,preserveViewport:true,name:camada.name});i3GEO.janela.fechaAguarde("aguardePlugin");layerkml.ligaCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].setMap(i3GeoMap)};layerkml.desLigaCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].setMap(null)};layerkml.removeCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].setMap(null);i3GEO.pluginI3geo.OBJETOS[camada.name].resetViewport(true)};layerkml.atualizaCamada=function(){i3GEO.pluginI3geo.OBJETOS[camada.name].setMap(null);i3GEO.pluginI3geo.OBJETOS[camada.name].resetViewport(true);i3GEO.pluginI3geo.OBJETOS[camada.name].setMap(i3GeoMap)};i3GEO.pluginI3geo.OBJETOS[camada.name]=layerkml}},openlayers:{aplicaPropriedades:function(camada){camada.sel="nao";camada.download="nao";camada.AGUARDALEGENDA=false;camada.temporizador="";camada.copia=false;camada.procurar=false;camada.toponimia=false;camada.etiquetas=false;camada.tabela=false;camada.grafico=false;camada.destacar=false;camada.wms=false;camada.classe="NAO";return camada},inicia:function(camada,objMapa){var layerkml;url=i3GEO.configura.locaplic+"/classesphp/proxy.php?url="+camada.plugini3geo.parametros.url;layerkml=new OpenLayers.Layer.Vector(camada.name,{displayOutsideMaxExtent:true,displayInLayerSwitcher:false,visibility:true,strategies:[new OpenLayers.Strategy.Fixed()],protocol:new OpenLayers.Protocol.HTTP({url:url,format:new OpenLayers.Format.KML({extractStyles:true,extractAttributes:true,maxDepth:5})})});i3geoOL.addLayer(layerkml);if(!objMapa){objMapa=i3geoOL}layerkml.div.onclick=function(e){var targ="",id,temp,features,n,i,j="",html="";if(!e){e=window.event}if(e.target){targ=e.target}else if(e.srcElement){targ=e.srcElement}if(targ.id){temp=targ.id.split("_Point");if(temp[0]==="OpenLayers_Geometry"){id=targ.id;temp=i3geoOL.getLayer(this.id);features=temp.features;n=features.length;for(i=0;i<n;i++){if(features[i].geometry.id===id){for(j in features[i].attributes){html+=j+": "+features[i].attributes[j]}g=features[i].geometry;i3geoOL.addPopup(new OpenLayers.Popup.FramedCloud("kml",new OpenLayers.LonLat(g.x,g.y),null,html,null,true))}}}}};i3GEO.janela.fechaAguarde("aguardePlugin");i3GEO.eventos.cliquePerm.ativo=false;layerkml.ligaCamada=function(){i3GEO.eventos.cliquePerm.ativo=false};layerkml.desLigaCamada=function(){i3GEO.eventos.cliquePerm.ativo=true};layerkml.removeCamada=function(){i3GEO.eventos.cliquePerm.ativo=true};layerkml.atualizaCamada=function(){i3GEO.eventos.cliquePerm.ativo=false};i3GEO.pluginI3geo.OBJETOS[camada.name]=layerkml}}},parametrossql:{linkAjuda:function(){return i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=3&idajuda=121"},formAdmin:function(config){var n,i,parametros,ins="",configDefault='{"plugin":"parametrossql","parametros":[{"titulo":"","tipo":"input","valores":[],"chave":""},{"titulo":"","tipo":"input","valores":[],"chave":""},{"titulo":"","tipo":"input","valores":[],"chave":""},{"titulo":"","tipo":"input","valores":[],"chave":""}]}';if(config===""){config=configDefault}config=YAHOO.lang.JSON.parse(config);if(config.plugin!="parametrossql"){config=YAHOO.lang.JSON.parse(configDefault)}parametros=config.parametros;n=parametros.length;ins+="<table><tr><td>T&iacute;tulo</td><td>Chave</td><td>Tipo (input ou select)</td><td>Valores</td></tr>";for(i=0;i<n;i++){ins+="<tr><td><input name='titulo' type=text size=20 value='"+parametros[i].titulo+"' /></td>"+"<td><input name='chave' type=text size=20 value='"+parametros[i].chave+"' /></td>"+"<td><input name='tipo' type=text size=20 value='"+parametros[i].tipo+"' /></td> "+"<td><input name='valores' type=text size=20 value='"+parametros[i].valores+"' /></td></tr>"}ins+="</table>"+"<p class='paragrafo'>As chaves s&atilde;o palavras que devem existir no SQL definido em DATA."+"<br>O usu&aacute;rio ir&aacute; fornecer os valores que ser&atilde;o ent&atilde;o utilizados para substituir as chaves de forma din&acirc;mica"+"<br>Ser&aacute; mostrado ao usu&aacute;rio um formul&aacute;rio com op&ccedil;&otilde;es. Cada op&ccedil;&atilde;o conter&aacute; um t&iacute;tulo e um campo de formul&aacute;rio"+"<br>Cada campo de formul&aacute;rio pode ser dos tipos input (para digitar um valor) ou select (caixa de op&ccedil;&otilde;es)."+"<br>Em valores deve ser definida a lista ou o valor default que ser&aacute; mostrado. No caso de listas, utilize v&iacute;rgula para separar os valores.";return ins},parametrosFormAdmin:function(onde){var campo=0,nlinhas=4,ncampos=4,campos=onde.getElementsByTagName("input"),par=[],temp=[],i,j;for(j=0;j<nlinhas;j++){temp=[];for(i=0;i<ncampos;i++){if(campos[campo]){temp.push('"'+campos[campo].name+'" : "'+campos[campo].value+'"')}campo++}par.push("{"+temp.join(",")+"}")}return'{"plugin":"parametrossql","parametros":['+par.join(",")+']}'},inicia:function(camada){i3GEO.janela.fechaAguarde("aguardePlugin");var iniciaform=function(){i3GEOF.parametrossql.iniciaJanelaFlutuante(camada)};i3GEO.util.scriptTag((i3GEO.configura.locaplic+"/ferramentas/parametrossql/dependencias.php"),iniciaform,"parametrossql_script")},googlemaps:{inicia:function(camada){i3GEO.pluginI3geo.parametrossql.inicia(camada)},aplicaPropriedades:function(camada){return camada}},openlayers:{inicia:function(camada){i3GEO.pluginI3geo.parametrossql.inicia(camada)},aplicaPropriedades:function(camada){return camada}}}};
409 /* 409 /*
410 * euDock - javascript Emulation of Dock style MAC OS X bar 410 * euDock - javascript Emulation of Dock style MAC OS X bar
411 * 411 *
classesphp/classe_mapa.php
@@ -407,6 +407,9 @@ class Mapa @@ -407,6 +407,9 @@ class Mapa
407 $plugini3geo = ""; 407 $plugini3geo = "";
408 if($oLayer->getmetadata("PLUGINI3GEO") != ""){ 408 if($oLayer->getmetadata("PLUGINI3GEO") != ""){
409 $plugini3geo = $oLayer->getmetadata("PLUGINI3GEO"); 409 $plugini3geo = $oLayer->getmetadata("PLUGINI3GEO");
  410 + if (!mb_detect_encoding($plugini3geo,"UTF-8",true)){
  411 + $plugini3geo = mb_convert_encoding($plugini3geo,"UTF-8","ISO-8859-1");
  412 + }
410 $plugini3geo = json_decode($plugini3geo); 413 $plugini3geo = json_decode($plugini3geo);
411 } 414 }
412 //formatacao antiga, antes da versao 6.0 415 //formatacao antiga, antes da versao 6.0
classesphp/mapa_controle.php
@@ -890,7 +890,7 @@ Gera os arquivos para download de um tema for&amp;ccedil;ando um mapfile vazio. @@ -890,7 +890,7 @@ Gera os arquivos para download de um tema for&amp;ccedil;ando um mapfile vazio.
890 */ 890 */
891 case "DOWNLOAD3": 891 case "DOWNLOAD3":
892 //caso o tema tenha de vir do sistema de metadados estatisticos 892 //caso o tema tenha de vir do sistema de metadados estatisticos
893 - 893 +
894 //pode ser uma regiao cadastrada no sistema de metadados 894 //pode ser uma regiao cadastrada no sistema de metadados
895 if(isset($codigo_tipo_regiao) && $codigo_tipo_regiao != ""){ 895 if(isset($codigo_tipo_regiao) && $codigo_tipo_regiao != ""){
896 include(dirname(__FILE__)."/../admin/php/classe_metaestat.php"); 896 include(dirname(__FILE__)."/../admin/php/classe_metaestat.php");
@@ -898,7 +898,7 @@ Gera os arquivos para download de um tema for&amp;ccedil;ando um mapfile vazio. @@ -898,7 +898,7 @@ Gera os arquivos para download de um tema for&amp;ccedil;ando um mapfile vazio.
898 $m->nomecache = "ogcmetaestatreg".$codigo_tipo_regiao; 898 $m->nomecache = "ogcmetaestatreg".$codigo_tipo_regiao;
899 $tema = $m->mapfileTipoRegiao($codigo_tipo_regiao); 899 $tema = $m->mapfileTipoRegiao($codigo_tipo_regiao);
900 $tema = str_replace(".map","",$tema["mapfile"]); 900 $tema = str_replace(".map","",$tema["mapfile"]);
901 - } 901 + }
902 //pode ser uma medida de uma variavel 902 //pode ser uma medida de uma variavel
903 if(isset($id_medida_variavel) && $id_medida_variavel != ""){ 903 if(isset($id_medida_variavel) && $id_medida_variavel != ""){
904 include(dirname(__FILE__)."/../admin/php/classe_metaestat.php"); 904 include(dirname(__FILE__)."/../admin/php/classe_metaestat.php");
css/i3geo_ferramentas6.css
1 -/*  
2 -Copyright (c) 2007, Yahoo! Inc. All rights reserved.  
3 -Code licensed under the BSD License:  
4 -http://developer.yahoo.net/yui/license.txt  
5 -version: 2.2.2  
6 -*/  
7 -.yuibutton {  
8 -  
9 - display:-moz-inline-stack; /* Gecko */  
10 - display:inline-block; /* IE, Opera and Safari */  
11 - border-width:1px 0;  
12 - border-style:solid;  
13 - border-color:#999;  
14 - margin:auto .25em;  
15 -}  
16 -  
17 -.yuibutton.ie6 {  
18 -  
19 - /* Give the transparent background image to IE 6 */  
20 - background-image:none;  
21 - filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='background.png', sizingMethod = 'scale');  
22 -  
23 -}  
24 -  
25 -.yuibutton .first-child {  
26 -  
27 - display:block; /* Gecko, Opera and Safari */  
28 - display:inline-block; /* IE */  
29 -  
30 - border-width:0 2px;  
31 - border-style:solid;  
32 - border-color:#999;  
33 -  
34 - margin:0 -1px;  
35 -/*  
36 - *position:relative;  
37 - *left:-1px;  
38 -*/  
39 -}  
40 -  
41 -.yuibutton button,  
42 -.yuibutton a {  
43 -  
44 - display:block; /* Opera and Safari */  
45 - display:-moz-inline-block; /* Gecko */  
46 - *display:inline-block; /* IE */  
47 - padding:.25em .5em;  
48 - border:1px solid #ccc;  
49 -  
50 -}  
51 -  
52 -.yuibutton button {  
53 -  
54 - overflow:visible; /* Remove superfluous padding for IE */  
55 - font-size:100%; /* Makes form controls resizable in IE */  
56 - background-color:transparent;  
57 - cursor:pointer;  
58 - cursor:hand;  
59 -  
60 -}  
61 -  
62 -.yuibutton a {  
63 -  
64 - text-decoration:none;  
65 - color:#000;  
66 -  
67 -}  
68 -  
69 -.yuibutton.splitbutton button,  
70 -.yuibutton.menubutton button {  
71 -  
72 - padding-right:20px;  
73 - background-position:right center;  
74 - background-repeat:no-repeat;  
75 -  
76 -}  
77 -  
78 -.yuibutton.menubutton button {  
79 -  
80 - background-image:url(menuarrow.gif);  
81 -  
82 -}  
83 -  
84 -.yuibutton.splitbutton button {  
85 -  
86 - background-image:url(splitarrow.gif);  
87 -  
88 -}  
89 -  
90 -  
91 -/* Focus state */  
92 -  
93 -.yuibutton.focus {  
94 -  
95 - border-color:#5e5c95;  
96 -  
97 -}  
98 -  
99 -.yuibutton.focus .first-child {  
100 -  
101 - border-color:#5e5c95;  
102 -  
103 -}  
104 -  
105 -.yuibutton.focus button,  
106 -.yuibutton.focus a {  
107 -  
108 - border-color:#cec1fc;  
109 -  
110 -}  
111 -  
112 -  
113 -/* Hover state */  
114 -  
115 -.yuibutton.hover {  
116 -  
117 - border-color:#406fac;  
118 - background-color:#98d5fc;  
119 -  
120 -}  
121 -  
122 -.yuibutton.hover .first-child {  
123 -  
124 - border-color:#406fac;  
125 -  
126 -}  
127 -  
128 -.yuibutton.hover button,  
129 -.yuibutton.hover a {  
130 -  
131 - border-color:#7099ce;  
132 -  
133 -}  
134 -  
135 -  
136 -/* Active state */  
137 -  
138 -.yuibutton.active {  
139 -  
140 - border-color:#7a8180;  
141 - background-color:#333;  
142 -  
143 -}  
144 -  
145 -.yuibutton.active .first-child {  
146 -  
147 - border-color:#7a8180;  
148 -  
149 -}  
150 -  
151 -.yuibutton.active button,  
152 -.yuibutton.active a {  
153 -  
154 - border-color:#98a09f;  
155 -  
156 -}  
157 -  
158 -.yuibutton.splitbutton.activeoption button {  
159 -  
160 - background-color:transparent;  
161 - background-image:url(splitarrow_active.gif);  
162 -  
163 -}  
164 -  
165 -  
166 -  
167 -/* Checked state */  
168 -  
169 -.yuibutton.radio.checked,  
170 -.yuibutton.checkbox.checked {  
171 -  
172 - border-color:#7a8180;  
173 - background-color:#333;  
174 -  
175 -}  
176 -  
177 -.yuibutton.radio.checked .first-child,  
178 -.yuibutton.checkbox.checked .first-child {  
179 -  
180 - border-color:#7a8180;  
181 -  
182 -}  
183 -  
184 -.yuibutton.radio.checked button,  
185 -.yuibutton.checkbox.checked button {  
186 -  
187 - border-color:#98a09f;  
188 -  
189 -}  
190 -  
191 -  
192 -  
193 -/* Disabled state */  
194 -  
195 -.yuibutton.disabled {  
196 -  
197 - border-color:#cbcdc5;  
198 - background:#ecece3;  
199 -  
200 - filter:none;  
201 -  
202 -}  
203 -  
204 -.yuibutton.disabled .first-child {  
205 -  
206 - border-color:#cbcdc5;  
207 -  
208 -}  
209 -  
210 -.yuibutton.disabled button,  
211 -.yuibutton.disabled a {  
212 -  
213 - border-color:transparent;  
214 - color:#b9b9b9;  
215 - cursor:default;  
216 -  
217 -}  
218 -td input {  
219 - border-bottom: 1px solid rgb(156, 195, 195);  
220 - border-left: 1px solid rgb(156, 195, 195);  
221 - border-right: 1px solid rgb(156, 195, 195);  
222 - border-top: 1px solid rgb(156, 195, 195);  
223 - font-size: 10px;  
224 - font-family: Verdana, Arial, Helvetica, sans-serif;  
225 - color: navy;  
226 - text-align: center;  
227 -}  
228 -  
229 -body {  
230 - overflow: hidden;  
231 - font-size: 12px  
232 -}  
233 -  
234 -div {  
235 - text-align: left;  
236 - border: 0px solid #FFFFFF;  
237 - font-family: Verdana, Arial, Helvetica, sans-serif;  
238 - position: relative;  
239 - display: block;  
240 - font-size: 12px;  
241 - padding: 0px;  
242 - font-weight: normal;  
243 - left: 10px;  
244 -}  
245 -  
246 -tr {  
247 - background-color: white;  
248 - border: 0px solid rgb(240, 240, 240);  
249 - padding: 0px;  
250 - margin: 0px;  
251 -}  
252 -  
253 -td {  
254 - border: 2px solid rgb(240, 240, 240);  
255 - border-left: 0px;  
256 - border-right: 0px;  
257 - border-top: 0px;  
258 - padding: 0px;  
259 - color: #2F4632;  
260 - margin: 0px;  
261 - text-align: center;  
262 - font-size: 10px;  
263 - font-family: Verdana, Arial, Helvetica, sans-serif;  
264 -}  
265 -  
266 -.lista td {  
267 - border: 0px solid rgb(240, 240, 240);  
268 - border-left: 0px;  
269 - border-right: 0px;  
270 - border-top: 0px;  
271 - padding: 0px;  
272 - color: #2F4632;  
273 - margin: 0px;  
274 - text-align: left;  
275 - font-size: 10px;  
276 - font-family: Verdana, Arial, Helvetica, sans-serif;  
277 -}  
278 -  
279 -.lista2 td {  
280 - border: 0px solid rgb(240, 240, 240);  
281 - border-left: 0px;  
282 - border-right: 0px;  
283 - border-top: 0px;  
284 - padding: 2px;  
285 - color: #2F4632;  
286 - margin: 0px;  
287 - text-align: left;  
288 - font-size: 10px;  
289 - font-family: Verdana, Arial, Helvetica, sans-serif;  
290 -}  
291 -  
292 -.lista3 td {  
293 - border: 0px solid rgb(240, 240, 240);  
294 - border-left: 0px;  
295 - border-right: 0px;  
296 - border-top: 0px;  
297 - padding: 1px;  
298 - color: #2F4632;  
299 - background-color: #F2F2F2;  
300 - margin: 0px;  
301 - text-align: left;  
302 - font-size: 12px;  
303 - font-family: Verdana, Arial, Helvetica, sans-serif;  
304 -}  
305 -  
306 -select {  
307 - font-family: Verdana, Arial, Helvetica, sans-serif;  
308 - font-size: 10px;  
309 - color: navy;  
310 - background-color: #FFFFFF;  
311 - padding: 0;  
312 - border: 1px solid rgb(240, 240, 240);  
313 - text-align: left;  
314 - cursor: pointer;  
315 -}  
316 -  
317 -.digitar {  
318 - box-shadow: 1px 1px 3px 0px lightgray;  
319 - margin: 0px;  
320 - color: #426252;  
321 - background-color: white;  
322 - height: 17px;  
323 - font-size: 12px;  
324 - font-family: Verdana, Arial, Helvetica, sans-serif;  
325 -}  
326 -  
327 -.digitar input {  
328 - border: 1px solid rgb(180, 180, 180);  
329 -}  
330 -  
331 -.executar {  
332 - cursor: pointer;  
333 - color: rgb(0, 0, 200);  
334 - text-align: left;  
335 - padding-left: 5px;  
336 - background-color: white;  
337 - background-image: URL('../imagens/tic.png');  
338 - background-repeat: no-repeat;  
339 - border-style: outset;  
340 - background-position: right;  
341 - font-family: Verdana, Arial, Helvetica, sans-serif;  
342 - font-size: 10px;  
343 -}  
344 -  
345 -#fundo {  
346 - background-color: rgb(255, 255, 255);  
347 - overflow: hidden;  
348 - position: absolute;  
349 - top: 0px;  
350 - left: 0px;  
351 -}  
352 -  
353 -.guias {  
354 - background-color: rgb(255, 255, 255);  
355 - cursor: pointer;  
356 - position: relative;  
357 - text-align: left;  
358 - top: 8px;  
359 - left: 8px;  
360 - padding: 0px;  
361 - margin: 0px;  
362 -}  
363 -  
364 -.guia {  
365 - display: inline;  
366 - background-color: rgb(230, 230, 230);  
367 - color: rgb(150, 150, 150);  
368 - position: relative;  
369 - left: 0px;  
370 - top: 0px;  
371 - border: 0px solid white;  
372 - font-size: 12px;  
373 - z-index: 1050;  
374 - padding: 0;  
375 - margin-right: 3px;  
376 - border-left: 1px solid rgb(230, 230, 230);  
377 - border-top: 1px solid rgb(230, 230, 230);  
378 - border-right: 1px solid rgb(230, 230, 230);  
379 -}  
380 -  
381 -.guiaobj {  
382 - text-align: left;  
383 - text-decoration: none;  
384 - border: 0px solid #ffffff;  
385 - font-family: Verdana, Arial, Helvetica, sans-serif;  
386 - position: relative;  
387 - display: block;  
388 - font-size: 8px;  
389 - padding: 1;  
390 - font-weight: normal;  
391 - top: 0px;  
392 - width: 95%;  
393 -}  
394 -  
395 -#geral {  
396 - position: relative;  
397 - background-color: white;  
398 - text-align: center;  
399 - text-decoration: none;  
400 - border-top: 2px solid rgb(230, 230, 230);  
401 - font-family: Verdana, Arial, Helvetica, sans-serif;  
402 - display: block;  
403 - font-size: 8px;  
404 - padding: 5px;  
405 - font-weight: normal;  
406 - top: 8px;  
407 - left: 0px;  
408 - overflow: auto;  
409 - width: 100%;  
410 -}  
411 -  
412 -.geralFerramentas {  
413 - position: relative;  
414 - background-color: white;  
415 - text-align: center;  
416 - text-decoration: none;  
417 - border-top: 2px solid rgb(230, 230, 230);  
418 - font-family: Verdana, Arial, Helvetica, sans-serif;  
419 - display: block;  
420 - font-size: 8px;  
421 - padding: 5px;  
422 - font-weight: normal;  
423 - top: 8px;  
424 - left: 0px;  
425 - overflow: auto;  
426 - width: 100%;  
427 -}  
428 -  
429 -#aguarde {  
430 - position: relative;  
431 - top: 10px;  
432 - left: 5px;  
433 -}  
434 -  
435 -.aguarde1 {  
436 - background-image: URL('../../imagens/aguarde.gif');  
437 -}  
438 -  
439 -.alerta {  
440 - font-weight: bold;  
441 - color: red;  
442 - top: 5px;  
443 - left: 0px;  
444 - padding: 5px;  
445 -}  
446 -  
447 -.erro {  
448 - color: red;  
449 - padding: 5px;  
450 -}  
451 -  
452 -.destaca {  
453 - left: 0px;  
454 - bottom: 10px;  
455 - padding: 5px;  
456 -}  
457 -/*  
458 -Copyright (c) 2011, Yahoo! Inc. All rights reserved.  
459 -Code licensed under the BSD License:  
460 -http://developer.yahoo.com/yui/license.html  
461 -version: 2.9.0  
462 -*/  
463 -.yui-overlay,.yui-panel-container{visibility:hidden;position:absolute;z-index:2}.yui-panel{position:relative}.yui-panel-container form{margin:0}.mask{z-index:1;display:none;position:absolute;top:0;left:0;right:0;bottom:0}.mask.block-scrollbars{overflow:auto}.masked select,.drag select,.hide-select select{_visibility:hidden}.yui-panel-container select{_visibility:inherit}.hide-scrollbars,.hide-scrollbars *{overflow:hidden}.hide-scrollbars select{display:none}.show-scrollbars{overflow:auto}.yui-panel-container.show-scrollbars,.yui-tt.show-scrollbars{overflow:visible}.yui-panel-container.show-scrollbars .underlay,.yui-tt.show-scrollbars .yui-tt-shadow{overflow:auto}.yui-panel-container.shadow .underlay.yui-force-redraw{padding-bottom:1px}.yui-effect-fade .underlay,.yui-effect-fade .yui-tt-shadow{display:none}.yui-tt-shadow{position:absolute}.yui-override-padding{padding:0!important}.yui-panel-container .container-close{overflow:hidden;text-indent:-10000em;text-decoration:none}.yui-overlay.yui-force-redraw,.yui-panel-container.yui-force-redraw{margin-bottom:1px}.yui-skin-sam .mask{background-color:#000;opacity:.25;filter:alpha(opacity=25)}.yui-skin-sam .yui-panel-container{padding:0 1px;*padding:2px}.yui-skin-sam .yui-panel{position:relative;left:0;top:0;border-style:solid;border-width:1px 0;border-color:#808080;z-index:1;*border-width:1px;*zoom:1;_zoom:normal}.yui-skin-sam .yui-panel .hd,.yui-skin-sam .yui-panel .bd,.yui-skin-sam .yui-panel .ft{border-style:solid;border-width:0 1px;border-color:#808080;margin:0 -1px;*margin:0;*border:0}.yui-skin-sam .yui-panel .hd{border-bottom:solid 1px #ccc}.yui-skin-sam .yui-panel .bd,.yui-skin-sam .yui-panel .ft{background-color:#f2f2f2}.yui-skin-sam .yui-panel .hd{padding:0 10px;font-size:93%;line-height:2;*line-height:1.9;font-weight:bold;color:#000;background:url(../../../../assets/skins/sam/sprite.png) repeat-x 0 -200px}.yui-skin-sam .yui-panel .bd{padding:10px}.yui-skin-sam .yui-panel .ft{border-top:solid 1px #808080;padding:5px 10px;font-size:77%}.yui-skin-sam .container-close{position:absolute;top:5px;right:6px;width:25px;height:15px;background:url(../../../../assets/skins/sam/sprite.png) no-repeat 0 -300px;cursor:pointer}.yui-skin-sam .yui-panel-container .underlay{right:-1px;left:-1px}.yui-skin-sam .yui-panel-container.matte{padding:9px 10px;background-color:#fff}.yui-skin-sam .yui-panel-container.shadow{_padding:2px 4px 0 2px}.yui-skin-sam .yui-panel-container.shadow .underlay{position:absolute;top:2px;left:-3px;right:-3px;bottom:-3px;*top:4px;*left:-1px;*right:-1px;*bottom:-1px;_top:0;_left:0;_right:0;_bottom:0;_margin-top:3px;_margin-left:-1px;background-color:#000;opacity:.12;filter:alpha(opacity=12)}.yui-skin-sam .yui-dialog .ft{border-top:0;padding:0 10px 10px 10px;font-size:100%}.yui-skin-sam .yui-dialog .ft .button-group{display:block;text-align:right}.yui-skin-sam .yui-dialog .ft button.default{font-weight:bold}.yui-skin-sam .yui-dialog .ft span.default{border-color:#304369;background-position:0 -1400px}.yui-skin-sam .yui-dialog .ft span.default .first-child{border-color:#304369}.yui-skin-sam .yui-dialog .ft span.default button{color:#fff}.yui-skin-sam .yui-dialog .ft span.yui-button-disabled{background-position:0 -1500px;border-color:#ccc}.yui-skin-sam .yui-dialog .ft span.yui-button-disabled .first-child{border-color:#ccc}.yui-skin-sam .yui-dialog .ft span.yui-button-disabled button{color:#a6a6a6}.yui-skin-sam .yui-simple-dialog .bd .yui-icon{background:url(../../../../assets/skins/sam/sprite.png) no-repeat 0 0;width:16px;height:16px;margin-right:10px;float:left}.yui-skin-sam .yui-simple-dialog .bd span.blckicon{background-position:0 -1100px}.yui-skin-sam .yui-simple-dialog .bd span.alrticon{background-position:0 -1050px}.yui-skin-sam .yui-simple-dialog .bd span.hlpicon{background-position:0 -1150px}.yui-skin-sam .yui-simple-dialog .bd span.infoicon{background-position:0 -1200px}.yui-skin-sam .yui-simple-dialog .bd span.warnicon{background-position:0 -1900px}.yui-skin-sam .yui-simple-dialog .bd span.tipicon{background-position:0 -1250px}.yui-skin-sam .yui-tt .bd{position:relative;top:0;left:0;z-index:1;color:#000;padding:2px 5px;border-color:#d4c237 #A6982b #a6982b #A6982B;border-width:1px;border-style:solid;background-color:#ffee69}.yui-skin-sam .yui-tt.show-scrollbars .bd{overflow:auto}.yui-skin-sam .yui-tt-shadow{top:2px;right:-3px;left:-3px;bottom:-3px;background-color:#000}.yui-skin-sam .yui-tt-shadow-visible{opacity:.12;filter:alpha(opacity=12)}  
464 -  
465 -/*  
466 -Copyright (c) 2011, Yahoo! Inc. All rights reserved.  
467 -Code licensed under the BSD License:  
468 -http://developer.yahoo.com/yui/license.html  
469 -version: 2.9.0  
470 -*/  
471 -/* MenuBar style rules */  
472 -  
473 -.yui-skin-sam .yuimenubar {  
474 -  
475 - font-size: 93%; /* 12px */  
476 - line-height: 2; /* ~24px */  
477 - *line-height: 1.9; /* For IE */  
478 - border: solid 1px #808080;  
479 - background: url(../../../../assets/skins/sam/sprite.png) repeat-x 0 0;  
480 -  
481 -}  
482 -  
483 -  
484 -/* MenuBarItem style rules */  
485 -  
486 -.yui-skin-sam .yuimenubarnav .yuimenubaritem {  
487 -  
488 - border-right: solid 1px #ccc;  
489 -  
490 -}  
491 -  
492 -.yui-skin-sam .yuimenubaritemlabel {  
493 -  
494 - padding: 0 10px;  
495 - color: #000;  
496 - text-decoration: none;  
497 - cursor: default;  
498 - border-style: solid;  
499 - border-color: #808080;  
500 - border-width: 1px 0;  
501 - *position: relative; /* Necessary to get negative margins in IE. */  
502 - margin: -1px 0;  
503 -  
504 -}  
505 -  
506 -.yui-skin-sam .yuimenubaritemlabel:visited {  
507 -  
508 - color: #000;  
509 -  
510 -}  
511 -  
512 -.yui-skin-sam .yuimenubarnav .yuimenubaritemlabel {  
513 -  
514 - padding-right: 20px;  
515 -  
516 - /*  
517 - Prevents the label from shifting left in IE when the  
518 - ".yui-skin-sam .yuimenubarnav .yuimenubaritemlabel-selected"  
519 - rule us applied.  
520 - */  
521 -  
522 - *display: inline-block;  
523 -  
524 -}  
525 -  
526 -.yui-skin-sam .yuimenubarnav .yuimenubaritemlabel-hassubmenu {  
527 -  
528 - background: url(menubaritem_submenuindicator.png) right center no-repeat;  
529 -  
530 -}  
531 -  
532 -  
533 -  
534 -/* MenuBarItem states */  
535 -  
536 -/* Selected MenuBarItem */  
537 -  
538 -.yui-skin-sam .yuimenubaritem-selected {  
539 -  
540 - background: url(../../../../assets/skins/sam/sprite.png) repeat-x 0 -1700px;  
541 -  
542 -}  
543 -  
544 -.yui-skin-sam .yuimenubaritemlabel-selected {  
545 -  
546 - border-color: #7D98B8;  
547 -  
548 -}  
549 -  
550 -.yui-skin-sam .yuimenubarnav .yuimenubaritemlabel-selected {  
551 -  
552 - border-left-width: 1px;  
553 - margin-left: -1px;  
554 - *left: -1px; /* For IE */  
555 -  
556 -}  
557 -  
558 -  
559 -/* Disabled MenuBarItem */  
560 -  
561 -.yui-skin-sam .yuimenubaritemlabel-disabled,  
562 -.yui-skin-sam .yuimenubaritemlabel-disabled:visited {  
563 -  
564 - cursor: default;  
565 - color: #A6A6A6;  
566 -  
567 -}  
568 -  
569 -.yui-skin-sam .yuimenubarnav .yuimenubaritemlabel-hassubmenu-disabled {  
570 -  
571 - background-image: url(menubaritem_submenuindicator_disabled.png);  
572 -  
573 -}  
574 -  
575 -  
576 -  
577 -/* Menu style rules */  
578 -  
579 -.yui-skin-sam .yuimenu {  
580 -  
581 - font-size: 93%; /* 12px */  
582 - line-height: 1.5; /* 18px */  
583 - *line-height: 1.45; /* For IE */  
584 -  
585 -}  
586 -  
587 -.yui-skin-sam .yuimenubar .yuimenu,  
588 -.yui-skin-sam .yuimenu .yuimenu {  
589 -  
590 - font-size: 100%;  
591 -  
592 -}  
593 -  
594 -.yui-skin-sam .yuimenu .bd {  
595 -  
596 - /*  
597 - The following application of zoom:1 prevents first tier submenus of a MenuBar from hiding  
598 - when the mouse is moving from an item in a MenuBar to a submenu in IE 7.  
599 - */  
600 -  
601 - *zoom: 1;  
602 - _zoom: normal; /* Remove this rule for IE 6. */  
603 - border: solid 1px #808080;  
604 - background-color: #fff;  
605 -  
606 -}  
607 -  
608 -.yui-skin-sam .yuimenu .yuimenu .bd {  
609 -  
610 - *zoom: normal;  
611 -  
612 -}  
613 -  
614 -.yui-skin-sam .yuimenu ul {  
615 -  
616 - padding: 3px 0;  
617 - border-width: 1px 0 0 0;  
618 - border-color: #ccc;  
619 - border-style: solid;  
620 -  
621 -}  
622 -  
623 -.yui-skin-sam .yuimenu ul.first-of-type {  
624 -  
625 - border-width: 0;  
626 -  
627 -}  
628 -  
629 -  
630 -/* Group titles */  
631 -  
632 -.yui-skin-sam .yuimenu h6 {  
633 -  
634 - font-weight: bold;  
635 - border-style: solid;  
636 - border-color: #ccc;  
637 - border-width: 1px 0 0 0;  
638 - color: #a4a4a4;  
639 - padding: 3px 10px 0 10px;  
640 -  
641 -}  
642 -  
643 -.yui-skin-sam .yuimenu ul.hastitle,  
644 -.yui-skin-sam .yuimenu h6.first-of-type {  
645 -  
646 - border-width: 0;  
647 -  
648 -}  
649 -  
650 -  
651 -/* Top and bottom scroll controls */  
652 -  
653 -.yui-skin-sam .yuimenu .yui-menu-body-scrolled {  
654 -  
655 - border-color: #ccc #808080;  
656 - overflow: hidden;  
657 -  
658 -}  
659 -  
660 -.yui-skin-sam .yuimenu .topscrollbar,  
661 -.yui-skin-sam .yuimenu .bottomscrollbar {  
662 -  
663 - height: 16px;  
664 - border: solid 1px #808080;  
665 - background: #fff url(../../../../assets/skins/sam/sprite.png) no-repeat 0 0;  
666 -  
667 -}  
668 -  
669 -.yui-skin-sam .yuimenu .topscrollbar {  
670 -  
671 - border-bottom-width: 0;  
672 - background-position: center -950px;  
673 -  
674 -}  
675 -  
676 -.yui-skin-sam .yuimenu .topscrollbar_disabled {  
677 -  
678 - background-position: center -975px;  
679 -  
680 -}  
681 -  
682 -.yui-skin-sam .yuimenu .bottomscrollbar {  
683 -  
684 - border-top-width: 0;  
685 - background-position: center -850px;  
686 -  
687 -}  
688 -  
689 -.yui-skin-sam .yuimenu .bottomscrollbar_disabled {  
690 -  
691 - background-position: center -875px;  
692 -  
693 -}  
694 -  
695 -  
696 -/* MenuItem style rules */  
697 -  
698 -.yui-skin-sam .yuimenuitem {  
699 -  
700 - /*  
701 - For IE 7 Quirks and IE 6 Strict Mode and Quirks Mode:  
702 - Used to collapse superfluous white space between <li> elements  
703 - that is triggered by the "display" property of the <a> elements being  
704 - set to "block."  
705 - */  
706 -  
707 - _border-bottom: solid 1px #fff;  
708 -  
709 -}  
710 -  
711 -.yui-skin-sam .yuimenuitemlabel {  
712 -  
713 - padding: 0 20px;  
714 - color: #000;  
715 - text-decoration: none;  
716 - cursor: default;  
717 -  
718 -}  
719 -  
720 -.yui-skin-sam .yuimenuitemlabel:visited {  
721 -  
722 - color: #000;  
723 -  
724 -}  
725 -  
726 -.yui-skin-sam .yuimenuitemlabel .helptext {  
727 -  
728 - margin-top: -1.5em;  
729 - *margin-top: -1.45em; /* For IE*/  
730 -  
731 -}  
732 -  
733 -.yui-skin-sam .yuimenuitem-hassubmenu {  
734 -  
735 - background-image: url(menuitem_submenuindicator.png);  
736 - background-position: right center;  
737 - background-repeat: no-repeat;  
738 -  
739 -}  
740 -  
741 -.yui-skin-sam .yuimenuitem-checked {  
742 -  
743 - background-image: url(menuitem_checkbox.png);  
744 - background-position: left center;  
745 - background-repeat: no-repeat;  
746 -  
747 -}  
748 -  
749 -  
750 -/* Menu states */  
751 -  
752 -  
753 -/* Visible Menu */  
754 -  
755 -.yui-skin-sam .yui-menu-shadow-visible {  
756 -  
757 - background-color: #000;  
758 -  
759 - /*  
760 - Opacity can be expensive, so defer the use of opacity until the  
761 - menu is visible.  
762 - */  
763 -  
764 - opacity: .12;  
765 - filter: alpha(opacity=12); /* For IE */  
766 -  
767 -}  
768 -  
769 -  
770 -  
771 -/* MenuItem states */  
772 -  
773 -  
774 -/* Selected MenuItem */  
775 -  
776 -.yui-skin-sam .yuimenuitem-selected {  
777 -  
778 - background-color: #B3D4FF;  
779 -  
780 -}  
781 -  
782 -  
783 -/* Disabled MenuItem */  
784 -  
785 -.yui-skin-sam .yuimenuitemlabel-disabled,  
786 -.yui-skin-sam .yuimenuitemlabel-disabled:visited {  
787 -  
788 - cursor: default;  
789 - color: #A6A6A6;  
790 -  
791 -}  
792 -  
793 -.yui-skin-sam .yuimenuitem-hassubmenu-disabled {  
794 -  
795 - background-image: url(menuitem_submenuindicator_disabled.png);  
796 -  
797 -}  
798 -  
799 -.yui-skin-sam .yuimenuitem-checked-disabled {  
800 -  
801 - background-image: url(menuitem_checkbox_disabled.png);  
802 -  
803 -}  
804 -/*  
805 -Copyright (c) 2009, Yahoo! Inc. All rights reserved.  
806 -Code licensed under the BSD License:  
807 -http://developer.yahoo.net/yui/license.txt  
808 -version: 2.7.0  
809 -*/  
810 -.yui-navset .yui-nav li,.yui-navset .yui-navset-top .yui-nav li,.yui-navset .yui-navset-bottom .yui-nav li{margin:0 .5em 0 0;}.yui-navset-left .yui-nav li,.yui-navset-right .yui-nav li{margin:0 0 .5em;}.yui-navset .yui-content .yui-hidden{position:absolute;left:-999999px;visibility:hidden;}.yui-navset .yui-navset-left .yui-nav,.yui-navset .yui-navset-right .yui-nav,.yui-navset-left .yui-nav,.yui-navset-right .yui-nav{width:6em;}.yui-navset-top .yui-nav,.yui-navset-bottom .yui-nav{width:auto;}.yui-navset .yui-navset-left,.yui-navset-left{padding:0 0 0 6em;}.yui-navset-right{padding:0 6em 0 0;}.yui-navset-top,.yui-navset-bottom{padding:auto;}.yui-nav,.yui-nav li{margin:0;padding:0;list-style:none;}.yui-navset li em{font-style:normal;}.yui-navset{position:relative;zoom:1;}.yui-navset .yui-content,.yui-navset .yui-content div{zoom:1;}.yui-navset .yui-content:after{content:'';display:block;clear:both;}.yui-navset .yui-nav li,.yui-navset .yui-navset-top .yui-nav li,.yui-navset .yui-navset-bottom .yui-nav li{display:inline-block;display:-moz-inline-stack;*display:inline;vertical-align:bottom;cursor:pointer;zoom:1;}.yui-navset-left .yui-nav li,.yui-navset-right .yui-nav li{display:block;}.yui-navset .yui-nav a{position:relative;}.yui-navset .yui-nav li a,.yui-navset-top .yui-nav li a,.yui-navset-bottom .yui-nav li a{display:block;display:inline-block;vertical-align:bottom;zoom:1;}.yui-navset-left .yui-nav li a,.yui-navset-right .yui-nav li a{display:block;}.yui-navset-bottom .yui-nav li a{vertical-align:text-top;}.yui-navset .yui-nav li a em,.yui-navset-top .yui-nav li a em,.yui-navset-bottom .yui-nav li a em{display:block;}.yui-navset .yui-navset-left .yui-nav,.yui-navset .yui-navset-right .yui-nav,.yui-navset-left .yui-nav,.yui-navset-right .yui-nav{position:absolute;z-index:1;}.yui-navset-top .yui-nav,.yui-navset-bottom .yui-nav{position:static;}.yui-navset .yui-navset-left .yui-nav,.yui-navset-left .yui-nav{left:0;right:auto;}.yui-navset .yui-navset-right .yui-nav,.yui-navset-right .yui-nav{right:0;left:auto;}.yui-skin-sam .yui-navset .yui-nav,.yui-skin-sam .yui-navset .yui-navset-top .yui-nav{border:solid #2647a0;border-width:0 0 5px;zoom:1;}.yui-skin-sam .yui-navset .yui-nav li,.yui-skin-sam .yui-navset .yui-navset-top .yui-nav li{margin:0 .16em 0 0;padding:1px 0 0;zoom:1;}.yui-skin-sam .yui-navset .yui-nav .selected,.yui-skin-sam .yui-navset .yui-navset-top .yui-nav .selected{margin:0 .16em -1px 0;}.yui-skin-sam .yui-navset .yui-nav a,.yui-skin-sam .yui-navset .yui-navset-top .yui-nav a{background:#d8d8d8 url(../pacotes/yui290/build/assets/skins/sam/sprite.png) repeat-x;border:solid #a3a3a3;border-width:0 1px;color:#000;position:relative;text-decoration:none;}.yui-skin-sam .yui-navset .yui-nav a em,.yui-skin-sam .yui-navset .yui-navset-top .yui-nav a em{border:solid #a3a3a3;border-width:1px 0 0;cursor:hand;padding:.25em .75em;left:0;right:0;bottom:0;top:-1px;position:relative;}.yui-skin-sam .yui-navset .yui-nav .selected a,.yui-skin-sam .yui-navset .yui-nav .selected a:focus,.yui-skin-sam .yui-navset .yui-nav .selected a:hover{background:#2647a0 url(../pacotes/yui290/build/assets/skins/sam/sprite.png) repeat-x left -1400px;color:#fff;}.yui-skin-sam .yui-navset .yui-nav a:hover,.yui-skin-sam .yui-navset .yui-nav a:focus{background:white url(../pacotes/yui290/build/assets/skins/sam/sprite.png) repeat-x left -1300px;outline:0;}.yui-skin-sam .yui-navset .yui-nav .selected a em{padding:.35em .75em;}.yui-skin-sam .yui-navset .yui-nav .selected a,.yui-skin-sam .yui-navset .yui-nav .selected a em{border-color:#243356;}.yui-skin-sam .yui-navset .yui-content{background:#edf5ff;}.yui-skin-sam .yui-navset .yui-content,.yui-skin-sam .yui-navset .yui-navset-top .yui-content{border:1px solid #808080;border-top-color:#243356;padding:.25em .5em;}.yui-skin-sam .yui-navset-left .yui-nav,.yui-skin-sam .yui-navset .yui-navset-left .yui-nav,.yui-skin-sam .yui-navset .yui-navset-right .yui-nav,.yui-skin-sam .yui-navset-right .yui-nav{border-width:0 5px 0 0;Xposition:absolute;top:0;bottom:0;}.yui-skin-sam .yui-navset .yui-navset-right .yui-nav,.yui-skin-sam .yui-navset-right .yui-nav{border-width:0 0 0 5px;}.yui-skin-sam .yui-navset-left .yui-nav li,.yui-skin-sam .yui-navset .yui-navset-left .yui-nav li,.yui-skin-sam .yui-navset-right .yui-nav li{margin:0 0 .16em;padding:0 0 0 1px;}.yui-skin-sam .yui-navset-right .yui-nav li{padding:0 1px 0 0;}.yui-skin-sam .yui-navset-left .yui-nav .selected,.yui-skin-sam .yui-navset .yui-navset-left .yui-nav .selected{margin:0 -1px .16em 0;}.yui-skin-sam .yui-navset-right .yui-nav .selected{margin:0 0 .16em -1px;}.yui-skin-sam .yui-navset-left .yui-nav a,.yui-skin-sam .yui-navset-right .yui-nav a{border-width:1px 0;}.yui-skin-sam .yui-navset-left .yui-nav a em,.yui-skin-sam .yui-navset .yui-navset-left .yui-nav a em,.yui-skin-sam .yui-navset-right .yui-nav a em{border-width:0 0 0 1px;padding:.2em .75em;top:auto;left:-1px;}.yui-skin-sam .yui-navset-right .yui-nav a em{border-width:0 1px 0 0;left:auto;right:-1px;}.yui-skin-sam .yui-navset-left .yui-nav a,.yui-skin-sam .yui-navset-left .yui-nav .selected a,.yui-skin-sam .yui-navset-left .yui-nav a:hover,.yui-skin-sam .yui-navset-right .yui-nav a,.yui-skin-sam .yui-navset-right .yui-nav .selected a,.yui-skin-sam .yui-navset-right .yui-nav a:hover,.yui-skin-sam .yui-navset-bottom .yui-nav a,.yui-skin-sam .yui-navset-bottom .yui-nav .selected a,.yui-skin-sam .yui-navset-bottom .yui-nav a:hover{background-image:none;}.yui-skin-sam .yui-navset-left .yui-content{border:1px solid #808080;border-left-color:#243356;}.yui-skin-sam .yui-navset-bottom .yui-nav,.yui-skin-sam .yui-navset .yui-navset-bottom .yui-nav{border-width:5px 0 0;}.yui-skin-sam .yui-navset .yui-navset-bottom .yui-nav .selected,.yui-skin-sam .yui-navset-bottom .yui-nav .selected{margin:-1px .16em 0 0;}.yui-skin-sam .yui-navset .yui-navset-bottom .yui-nav li,.yui-skin-sam .yui-navset-bottom .yui-nav li{padding:0 0 1px 0;vertical-align:top;}.yui-skin-sam .yui-navset .yui-navset-bottom .yui-nav a em,.yui-skin-sam .yui-navset-bottom .yui-nav a em{border-width:0 0 1px;top:auto;bottom:-1px;}  
811 -.yui-skin-sam .yui-navset-bottom .yui-content,.yui-skin-sam .yui-navset .yui-navset-bottom .yui-content{border:1px solid #808080;border-bottom-color:#243356;}  
812 - 1 +/*
  2 +Copyright (c) 2007, Yahoo! Inc. All rights reserved.
  3 +Code licensed under the BSD License:
  4 +http://developer.yahoo.net/yui/license.txt
  5 +version: 2.2.2
  6 +*/
  7 +.yuibutton {
  8 +
  9 + display:-moz-inline-stack; /* Gecko */
  10 + display:inline-block; /* IE, Opera and Safari */
  11 + border-width:1px 0;
  12 + border-style:solid;
  13 + border-color:#999;
  14 + margin:auto .25em;
  15 +}
  16 +
  17 +.yuibutton.ie6 {
  18 +
  19 + /* Give the transparent background image to IE 6 */
  20 + background-image:none;
  21 + filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='background.png', sizingMethod = 'scale');
  22 +
  23 +}
  24 +
  25 +.yuibutton .first-child {
  26 +
  27 + display:block; /* Gecko, Opera and Safari */
  28 + display:inline-block; /* IE */
  29 +
  30 + border-width:0 2px;
  31 + border-style:solid;
  32 + border-color:#999;
  33 +
  34 + margin:0 -1px;
  35 +/*
  36 + *position:relative;
  37 + *left:-1px;
  38 +*/
  39 +}
  40 +
  41 +.yuibutton button,
  42 +.yuibutton a {
  43 +
  44 + display:block; /* Opera and Safari */
  45 + display:-moz-inline-block; /* Gecko */
  46 + *display:inline-block; /* IE */
  47 + padding:.25em .5em;
  48 + border:1px solid #ccc;
  49 +
  50 +}
  51 +
  52 +.yuibutton button {
  53 +
  54 + overflow:visible; /* Remove superfluous padding for IE */
  55 + font-size:100%; /* Makes form controls resizable in IE */
  56 + background-color:transparent;
  57 + cursor:pointer;
  58 + cursor:hand;
  59 +
  60 +}
  61 +
  62 +.yuibutton a {
  63 +
  64 + text-decoration:none;
  65 + color:#000;
  66 +
  67 +}
  68 +
  69 +.yuibutton.splitbutton button,
  70 +.yuibutton.menubutton button {
  71 +
  72 + padding-right:20px;
  73 + background-position:right center;
  74 + background-repeat:no-repeat;
  75 +
  76 +}
  77 +
  78 +.yuibutton.menubutton button {
  79 +
  80 + background-image:url(menuarrow.gif);
  81 +
  82 +}
  83 +
  84 +.yuibutton.splitbutton button {
  85 +
  86 + background-image:url(splitarrow.gif);
  87 +
  88 +}
  89 +
  90 +
  91 +/* Focus state */
  92 +
  93 +.yuibutton.focus {
  94 +
  95 + border-color:#5e5c95;
  96 +
  97 +}
  98 +
  99 +.yuibutton.focus .first-child {
  100 +
  101 + border-color:#5e5c95;
  102 +
  103 +}
  104 +
  105 +.yuibutton.focus button,
  106 +.yuibutton.focus a {
  107 +
  108 + border-color:#cec1fc;
  109 +
  110 +}
  111 +
  112 +
  113 +/* Hover state */
  114 +
  115 +.yuibutton.hover {
  116 +
  117 + border-color:#406fac;
  118 + background-color:#98d5fc;
  119 +
  120 +}
  121 +
  122 +.yuibutton.hover .first-child {
  123 +
  124 + border-color:#406fac;
  125 +
  126 +}
  127 +
  128 +.yuibutton.hover button,
  129 +.yuibutton.hover a {
  130 +
  131 + border-color:#7099ce;
  132 +
  133 +}
  134 +
  135 +
  136 +/* Active state */
  137 +
  138 +.yuibutton.active {
  139 +
  140 + border-color:#7a8180;
  141 + background-color:#333;
  142 +
  143 +}
  144 +
  145 +.yuibutton.active .first-child {
  146 +
  147 + border-color:#7a8180;
  148 +
  149 +}
  150 +
  151 +.yuibutton.active button,
  152 +.yuibutton.active a {
  153 +
  154 + border-color:#98a09f;
  155 +
  156 +}
  157 +
  158 +.yuibutton.splitbutton.activeoption button {
  159 +
  160 + background-color:transparent;
  161 + background-image:url(splitarrow_active.gif);
  162 +
  163 +}
  164 +
  165 +
  166 +
  167 +/* Checked state */
  168 +
  169 +.yuibutton.radio.checked,
  170 +.yuibutton.checkbox.checked {
  171 +
  172 + border-color:#7a8180;
  173 + background-color:#333;
  174 +
  175 +}
  176 +
  177 +.yuibutton.radio.checked .first-child,
  178 +.yuibutton.checkbox.checked .first-child {
  179 +
  180 + border-color:#7a8180;
  181 +
  182 +}
  183 +
  184 +.yuibutton.radio.checked button,
  185 +.yuibutton.checkbox.checked button {
  186 +
  187 + border-color:#98a09f;
  188 +
  189 +}
  190 +
  191 +
  192 +
  193 +/* Disabled state */
  194 +
  195 +.yuibutton.disabled {
  196 +
  197 + border-color:#cbcdc5;
  198 + background:#ecece3;
  199 +
  200 + filter:none;
  201 +
  202 +}
  203 +
  204 +.yuibutton.disabled .first-child {
  205 +
  206 + border-color:#cbcdc5;
  207 +
  208 +}
  209 +
  210 +.yuibutton.disabled button,
  211 +.yuibutton.disabled a {
  212 +
  213 + border-color:transparent;
  214 + color:#b9b9b9;
  215 + cursor:default;
  216 +
  217 +}
  218 +td input {
  219 + border-bottom: 1px solid rgb(156, 195, 195);
  220 + border-left: 1px solid rgb(156, 195, 195);
  221 + border-right: 1px solid rgb(156, 195, 195);
  222 + border-top: 1px solid rgb(156, 195, 195);
  223 + font-size: 10px;
  224 + font-family: Verdana, Arial, Helvetica, sans-serif;
  225 + color: navy;
  226 + text-align: center;
  227 +}
  228 +
  229 +body {
  230 + overflow: hidden;
  231 + font-size: 12px
  232 +}
  233 +
  234 +div {
  235 + text-align: left;
  236 + border: 0px solid #FFFFFF;
  237 + font-family: Verdana, Arial, Helvetica, sans-serif;
  238 + position: relative;
  239 + display: block;
  240 + font-size: 12px;
  241 + padding: 0px;
  242 + font-weight: normal;
  243 + left: 10px;
  244 +}
  245 +
  246 +tr {
  247 + background-color: white;
  248 + border: 0px solid rgb(240, 240, 240);
  249 + padding: 0px;
  250 + margin: 0px;
  251 +}
  252 +
  253 +td {
  254 + border: 2px solid rgb(240, 240, 240);
  255 + border-left: 0px;
  256 + border-right: 0px;
  257 + border-top: 0px;
  258 + padding: 0px;
  259 + color: #2F4632;
  260 + margin: 0px;
  261 + text-align: center;
  262 + font-size: 10px;
  263 + font-family: Verdana, Arial, Helvetica, sans-serif;
  264 +}
  265 +
  266 +.lista td {
  267 + border: 0px solid rgb(240, 240, 240);
  268 + border-left: 0px;
  269 + border-right: 0px;
  270 + border-top: 0px;
  271 + padding: 0px;
  272 + color: #2F4632;
  273 + margin: 0px;
  274 + text-align: left;
  275 + font-size: 10px;
  276 + font-family: Verdana, Arial, Helvetica, sans-serif;
  277 +}
  278 +
  279 +.lista2 td {
  280 + border: 0px solid rgb(240, 240, 240);
  281 + border-left: 0px;
  282 + border-right: 0px;
  283 + border-top: 0px;
  284 + padding: 2px;
  285 + color: #2F4632;
  286 + margin: 0px;
  287 + text-align: left;
  288 + font-size: 10px;
  289 + font-family: Verdana, Arial, Helvetica, sans-serif;
  290 +}
  291 +
  292 +.lista3 td {
  293 + border: 0px solid rgb(240, 240, 240);
  294 + border-left: 0px;
  295 + border-right: 0px;
  296 + border-top: 0px;
  297 + padding: 1px;
  298 + color: #2F4632;
  299 + background-color: #F2F2F2;
  300 + margin: 0px;
  301 + text-align: left;
  302 + font-size: 12px;
  303 + font-family: Verdana, Arial, Helvetica, sans-serif;
  304 +}
  305 +
  306 +select {
  307 + font-family: Verdana, Arial, Helvetica, sans-serif;
  308 + font-size: 10px;
  309 + color: navy;
  310 + background-color: #FFFFFF;
  311 + padding: 0;
  312 + border: 1px solid rgb(240, 240, 240);
  313 + text-align: left;
  314 + cursor: pointer;
  315 +}
  316 +
  317 +.digitar {
  318 + box-shadow: 1px 1px 3px 0px lightgray;
  319 + margin: 0px;
  320 + color: #426252;
  321 + background-color: white;
  322 + height: 17px;
  323 + font-size: 12px;
  324 + font-family: Verdana, Arial, Helvetica, sans-serif;
  325 +}
  326 +
  327 +.digitar input {
  328 + border: 1px solid rgb(180, 180, 180);
  329 +}
  330 +
  331 +.executar {
  332 + cursor: pointer;
  333 + color: rgb(0, 0, 200);
  334 + text-align: left;
  335 + padding-left: 5px;
  336 + background-color: white;
  337 + background-image: URL('../imagens/tic.png');
  338 + background-repeat: no-repeat;
  339 + border-style: outset;
  340 + background-position: right;
  341 + font-family: Verdana, Arial, Helvetica, sans-serif;
  342 + font-size: 10px;
  343 +}
  344 +
  345 +#fundo {
  346 + background-color: rgb(255, 255, 255);
  347 + overflow: hidden;
  348 + position: absolute;
  349 + top: 0px;
  350 + left: 0px;
  351 +}
  352 +
  353 +.guias {
  354 + background-color: rgb(255, 255, 255);
  355 + cursor: pointer;
  356 + position: relative;
  357 + text-align: left;
  358 + top: 8px;
  359 + left: 8px;
  360 + padding: 0px;
  361 + margin: 0px;
  362 +}
  363 +
  364 +.guia {
  365 + display: inline;
  366 + background-color: rgb(230, 230, 230);
  367 + color: rgb(150, 150, 150);
  368 + position: relative;
  369 + left: 0px;
  370 + top: 0px;
  371 + border: 0px solid white;
  372 + font-size: 12px;
  373 + z-index: 1050;
  374 + padding: 0;
  375 + margin-right: 3px;
  376 + border-left: 1px solid rgb(230, 230, 230);
  377 + border-top: 1px solid rgb(230, 230, 230);
  378 + border-right: 1px solid rgb(230, 230, 230);
  379 +}
  380 +
  381 +.guiaobj {
  382 + text-align: left;
  383 + text-decoration: none;
  384 + border: 0px solid #ffffff;
  385 + font-family: Verdana, Arial, Helvetica, sans-serif;
  386 + position: relative;
  387 + display: block;
  388 + font-size: 8px;
  389 + padding: 1;
  390 + font-weight: normal;
  391 + top: 0px;
  392 + width: 95%;
  393 +}
  394 +
  395 +#geral {
  396 + position: relative;
  397 + background-color: white;
  398 + text-align: center;
  399 + text-decoration: none;
  400 + border-top: 2px solid rgb(230, 230, 230);
  401 + font-family: Verdana, Arial, Helvetica, sans-serif;
  402 + display: block;
  403 + font-size: 8px;
  404 + padding: 5px;
  405 + font-weight: normal;
  406 + top: 8px;
  407 + left: 0px;
  408 + overflow: auto;
  409 + width: 100%;
  410 +}
  411 +
  412 +.geralFerramentas {
  413 + position: relative;
  414 + background-color: white;
  415 + text-align: center;
  416 + text-decoration: none;
  417 + border-top: 2px solid rgb(230, 230, 230);
  418 + font-family: Verdana, Arial, Helvetica, sans-serif;
  419 + display: block;
  420 + font-size: 8px;
  421 + padding: 5px;
  422 + font-weight: normal;
  423 + top: 8px;
  424 + left: 0px;
  425 + overflow: auto;
  426 + width: 100%;
  427 +}
  428 +
  429 +#aguarde {
  430 + position: relative;
  431 + top: 10px;
  432 + left: 5px;
  433 +}
  434 +
  435 +.aguarde1 {
  436 + background-image: URL('../../imagens/aguarde.gif');
  437 +}
  438 +
  439 +.alerta {
  440 + font-weight: bold;
  441 + color: red;
  442 + top: 5px;
  443 + left: 0px;
  444 + padding: 5px;
  445 +}
  446 +
  447 +.erro {
  448 + color: red;
  449 + padding: 5px;
  450 +}
  451 +
  452 +.destaca {
  453 + left: 0px;
  454 + bottom: 10px;
  455 + padding: 5px;
  456 +}
  457 +/*
  458 +Copyright (c) 2011, Yahoo! Inc. All rights reserved.
  459 +Code licensed under the BSD License:
  460 +http://developer.yahoo.com/yui/license.html
  461 +version: 2.9.0
  462 +*/
  463 +.yui-overlay,.yui-panel-container{visibility:hidden;position:absolute;z-index:2}.yui-panel{position:relative}.yui-panel-container form{margin:0}.mask{z-index:1;display:none;position:absolute;top:0;left:0;right:0;bottom:0}.mask.block-scrollbars{overflow:auto}.masked select,.drag select,.hide-select select{_visibility:hidden}.yui-panel-container select{_visibility:inherit}.hide-scrollbars,.hide-scrollbars *{overflow:hidden}.hide-scrollbars select{display:none}.show-scrollbars{overflow:auto}.yui-panel-container.show-scrollbars,.yui-tt.show-scrollbars{overflow:visible}.yui-panel-container.show-scrollbars .underlay,.yui-tt.show-scrollbars .yui-tt-shadow{overflow:auto}.yui-panel-container.shadow .underlay.yui-force-redraw{padding-bottom:1px}.yui-effect-fade .underlay,.yui-effect-fade .yui-tt-shadow{display:none}.yui-tt-shadow{position:absolute}.yui-override-padding{padding:0!important}.yui-panel-container .container-close{overflow:hidden;text-indent:-10000em;text-decoration:none}.yui-overlay.yui-force-redraw,.yui-panel-container.yui-force-redraw{margin-bottom:1px}.yui-skin-sam .mask{background-color:#000;opacity:.25;filter:alpha(opacity=25)}.yui-skin-sam .yui-panel-container{padding:0 1px;*padding:2px}.yui-skin-sam .yui-panel{position:relative;left:0;top:0;border-style:solid;border-width:1px 0;border-color:#808080;z-index:1;*border-width:1px;*zoom:1;_zoom:normal}.yui-skin-sam .yui-panel .hd,.yui-skin-sam .yui-panel .bd,.yui-skin-sam .yui-panel .ft{border-style:solid;border-width:0 1px;border-color:#808080;margin:0 -1px;*margin:0;*border:0}.yui-skin-sam .yui-panel .hd{border-bottom:solid 1px #ccc}.yui-skin-sam .yui-panel .bd,.yui-skin-sam .yui-panel .ft{background-color:#f2f2f2}.yui-skin-sam .yui-panel .hd{padding:0 10px;font-size:93%;line-height:2;*line-height:1.9;font-weight:bold;color:#000;background:url(../../../../assets/skins/sam/sprite.png) repeat-x 0 -200px}.yui-skin-sam .yui-panel .bd{padding:10px}.yui-skin-sam .yui-panel .ft{border-top:solid 1px #808080;padding:5px 10px;font-size:77%}.yui-skin-sam .container-close{position:absolute;top:5px;right:6px;width:25px;height:15px;background:url(../../../../assets/skins/sam/sprite.png) no-repeat 0 -300px;cursor:pointer}.yui-skin-sam .yui-panel-container .underlay{right:-1px;left:-1px}.yui-skin-sam .yui-panel-container.matte{padding:9px 10px;background-color:#fff}.yui-skin-sam .yui-panel-container.shadow{_padding:2px 4px 0 2px}.yui-skin-sam .yui-panel-container.shadow .underlay{position:absolute;top:2px;left:-3px;right:-3px;bottom:-3px;*top:4px;*left:-1px;*right:-1px;*bottom:-1px;_top:0;_left:0;_right:0;_bottom:0;_margin-top:3px;_margin-left:-1px;background-color:#000;opacity:.12;filter:alpha(opacity=12)}.yui-skin-sam .yui-dialog .ft{border-top:0;padding:0 10px 10px 10px;font-size:100%}.yui-skin-sam .yui-dialog .ft .button-group{display:block;text-align:right}.yui-skin-sam .yui-dialog .ft button.default{font-weight:bold}.yui-skin-sam .yui-dialog .ft span.default{border-color:#304369;background-position:0 -1400px}.yui-skin-sam .yui-dialog .ft span.default .first-child{border-color:#304369}.yui-skin-sam .yui-dialog .ft span.default button{color:#fff}.yui-skin-sam .yui-dialog .ft span.yui-button-disabled{background-position:0 -1500px;border-color:#ccc}.yui-skin-sam .yui-dialog .ft span.yui-button-disabled .first-child{border-color:#ccc}.yui-skin-sam .yui-dialog .ft span.yui-button-disabled button{color:#a6a6a6}.yui-skin-sam .yui-simple-dialog .bd .yui-icon{background:url(../../../../assets/skins/sam/sprite.png) no-repeat 0 0;width:16px;height:16px;margin-right:10px;float:left}.yui-skin-sam .yui-simple-dialog .bd span.blckicon{background-position:0 -1100px}.yui-skin-sam .yui-simple-dialog .bd span.alrticon{background-position:0 -1050px}.yui-skin-sam .yui-simple-dialog .bd span.hlpicon{background-position:0 -1150px}.yui-skin-sam .yui-simple-dialog .bd span.infoicon{background-position:0 -1200px}.yui-skin-sam .yui-simple-dialog .bd span.warnicon{background-position:0 -1900px}.yui-skin-sam .yui-simple-dialog .bd span.tipicon{background-position:0 -1250px}.yui-skin-sam .yui-tt .bd{position:relative;top:0;left:0;z-index:1;color:#000;padding:2px 5px;border-color:#d4c237 #A6982b #a6982b #A6982B;border-width:1px;border-style:solid;background-color:#ffee69}.yui-skin-sam .yui-tt.show-scrollbars .bd{overflow:auto}.yui-skin-sam .yui-tt-shadow{top:2px;right:-3px;left:-3px;bottom:-3px;background-color:#000}.yui-skin-sam .yui-tt-shadow-visible{opacity:.12;filter:alpha(opacity=12)}
  464 +
  465 +/*
  466 +Copyright (c) 2011, Yahoo! Inc. All rights reserved.
  467 +Code licensed under the BSD License:
  468 +http://developer.yahoo.com/yui/license.html
  469 +version: 2.9.0
  470 +*/
  471 +/* MenuBar style rules */
  472 +
  473 +.yui-skin-sam .yuimenubar {
  474 +
  475 + font-size: 93%; /* 12px */
  476 + line-height: 2; /* ~24px */
  477 + *line-height: 1.9; /* For IE */
  478 + border: solid 1px #808080;
  479 + background: url(../../../../assets/skins/sam/sprite.png) repeat-x 0 0;
  480 +
  481 +}
  482 +
  483 +
  484 +/* MenuBarItem style rules */
  485 +
  486 +.yui-skin-sam .yuimenubarnav .yuimenubaritem {
  487 +
  488 + border-right: solid 1px #ccc;
  489 +
  490 +}
  491 +
  492 +.yui-skin-sam .yuimenubaritemlabel {
  493 +
  494 + padding: 0 10px;
  495 + color: #000;
  496 + text-decoration: none;
  497 + cursor: default;
  498 + border-style: solid;
  499 + border-color: #808080;
  500 + border-width: 1px 0;
  501 + *position: relative; /* Necessary to get negative margins in IE. */
  502 + margin: -1px 0;
  503 +
  504 +}
  505 +
  506 +.yui-skin-sam .yuimenubaritemlabel:visited {
  507 +
  508 + color: #000;
  509 +
  510 +}
  511 +
  512 +.yui-skin-sam .yuimenubarnav .yuimenubaritemlabel {
  513 +
  514 + padding-right: 20px;
  515 +
  516 + /*
  517 + Prevents the label from shifting left in IE when the
  518 + ".yui-skin-sam .yuimenubarnav .yuimenubaritemlabel-selected"
  519 + rule us applied.
  520 + */
  521 +
  522 + *display: inline-block;
  523 +
  524 +}
  525 +
  526 +.yui-skin-sam .yuimenubarnav .yuimenubaritemlabel-hassubmenu {
  527 +
  528 + background: url(menubaritem_submenuindicator.png) right center no-repeat;
  529 +
  530 +}
  531 +
  532 +
  533 +
  534 +/* MenuBarItem states */
  535 +
  536 +/* Selected MenuBarItem */
  537 +
  538 +.yui-skin-sam .yuimenubaritem-selected {
  539 +
  540 + background: url(../../../../assets/skins/sam/sprite.png) repeat-x 0 -1700px;
  541 +
  542 +}
  543 +
  544 +.yui-skin-sam .yuimenubaritemlabel-selected {
  545 +
  546 + border-color: #7D98B8;
  547 +
  548 +}
  549 +
  550 +.yui-skin-sam .yuimenubarnav .yuimenubaritemlabel-selected {
  551 +
  552 + border-left-width: 1px;
  553 + margin-left: -1px;
  554 + *left: -1px; /* For IE */
  555 +
  556 +}
  557 +
  558 +
  559 +/* Disabled MenuBarItem */
  560 +
  561 +.yui-skin-sam .yuimenubaritemlabel-disabled,
  562 +.yui-skin-sam .yuimenubaritemlabel-disabled:visited {
  563 +
  564 + cursor: default;
  565 + color: #A6A6A6;
  566 +
  567 +}
  568 +
  569 +.yui-skin-sam .yuimenubarnav .yuimenubaritemlabel-hassubmenu-disabled {
  570 +
  571 + background-image: url(menubaritem_submenuindicator_disabled.png);
  572 +
  573 +}
  574 +
  575 +
  576 +
  577 +/* Menu style rules */
  578 +
  579 +.yui-skin-sam .yuimenu {
  580 +
  581 + font-size: 93%; /* 12px */
  582 + line-height: 1.5; /* 18px */
  583 + *line-height: 1.45; /* For IE */
  584 +
  585 +}
  586 +
  587 +.yui-skin-sam .yuimenubar .yuimenu,
  588 +.yui-skin-sam .yuimenu .yuimenu {
  589 +
  590 + font-size: 100%;
  591 +
  592 +}
  593 +
  594 +.yui-skin-sam .yuimenu .bd {
  595 +
  596 + /*
  597 + The following application of zoom:1 prevents first tier submenus of a MenuBar from hiding
  598 + when the mouse is moving from an item in a MenuBar to a submenu in IE 7.
  599 + */
  600 +
  601 + *zoom: 1;
  602 + _zoom: normal; /* Remove this rule for IE 6. */
  603 + border: solid 1px #808080;
  604 + background-color: #fff;
  605 +
  606 +}
  607 +
  608 +.yui-skin-sam .yuimenu .yuimenu .bd {
  609 +
  610 + *zoom: normal;
  611 +
  612 +}
  613 +
  614 +.yui-skin-sam .yuimenu ul {
  615 +
  616 + padding: 3px 0;
  617 + border-width: 1px 0 0 0;
  618 + border-color: #ccc;
  619 + border-style: solid;
  620 +
  621 +}
  622 +
  623 +.yui-skin-sam .yuimenu ul.first-of-type {
  624 +
  625 + border-width: 0;
  626 +
  627 +}
  628 +
  629 +
  630 +/* Group titles */
  631 +
  632 +.yui-skin-sam .yuimenu h6 {
  633 +
  634 + font-weight: bold;
  635 + border-style: solid;
  636 + border-color: #ccc;
  637 + border-width: 1px 0 0 0;
  638 + color: #a4a4a4;
  639 + padding: 3px 10px 0 10px;
  640 +
  641 +}
  642 +
  643 +.yui-skin-sam .yuimenu ul.hastitle,
  644 +.yui-skin-sam .yuimenu h6.first-of-type {
  645 +
  646 + border-width: 0;
  647 +
  648 +}
  649 +
  650 +
  651 +/* Top and bottom scroll controls */
  652 +
  653 +.yui-skin-sam .yuimenu .yui-menu-body-scrolled {
  654 +
  655 + border-color: #ccc #808080;
  656 + overflow: hidden;
  657 +
  658 +}
  659 +
  660 +.yui-skin-sam .yuimenu .topscrollbar,
  661 +.yui-skin-sam .yuimenu .bottomscrollbar {
  662 +
  663 + height: 16px;
  664 + border: solid 1px #808080;
  665 + background: #fff url(../../../../assets/skins/sam/sprite.png) no-repeat 0 0;
  666 +
  667 +}
  668 +
  669 +.yui-skin-sam .yuimenu .topscrollbar {
  670 +
  671 + border-bottom-width: 0;
  672 + background-position: center -950px;
  673 +
  674 +}
  675 +
  676 +.yui-skin-sam .yuimenu .topscrollbar_disabled {
  677 +
  678 + background-position: center -975px;
  679 +
  680 +}
  681 +
  682 +.yui-skin-sam .yuimenu .bottomscrollbar {
  683 +
  684 + border-top-width: 0;
  685 + background-position: center -850px;
  686 +
  687 +}
  688 +
  689 +.yui-skin-sam .yuimenu .bottomscrollbar_disabled {
  690 +
  691 + background-position: center -875px;
  692 +
  693 +}
  694 +
  695 +
  696 +/* MenuItem style rules */
  697 +
  698 +.yui-skin-sam .yuimenuitem {
  699 +
  700 + /*
  701 + For IE 7 Quirks and IE 6 Strict Mode and Quirks Mode:
  702 + Used to collapse superfluous white space between <li> elements
  703 + that is triggered by the "display" property of the <a> elements being
  704 + set to "block."
  705 + */
  706 +
  707 + _border-bottom: solid 1px #fff;
  708 +
  709 +}
  710 +
  711 +.yui-skin-sam .yuimenuitemlabel {
  712 +
  713 + padding: 0 20px;
  714 + color: #000;
  715 + text-decoration: none;
  716 + cursor: default;
  717 +
  718 +}
  719 +
  720 +.yui-skin-sam .yuimenuitemlabel:visited {
  721 +
  722 + color: #000;
  723 +
  724 +}
  725 +
  726 +.yui-skin-sam .yuimenuitemlabel .helptext {
  727 +
  728 + margin-top: -1.5em;
  729 + *margin-top: -1.45em; /* For IE*/
  730 +
  731 +}
  732 +
  733 +.yui-skin-sam .yuimenuitem-hassubmenu {
  734 +
  735 + background-image: url(menuitem_submenuindicator.png);
  736 + background-position: right center;
  737 + background-repeat: no-repeat;
  738 +
  739 +}
  740 +
  741 +.yui-skin-sam .yuimenuitem-checked {
  742 +
  743 + background-image: url(menuitem_checkbox.png);
  744 + background-position: left center;
  745 + background-repeat: no-repeat;
  746 +
  747 +}
  748 +
  749 +
  750 +/* Menu states */
  751 +
  752 +
  753 +/* Visible Menu */
  754 +
  755 +.yui-skin-sam .yui-menu-shadow-visible {
  756 +
  757 + background-color: #000;
  758 +
  759 + /*
  760 + Opacity can be expensive, so defer the use of opacity until the
  761 + menu is visible.
  762 + */
  763 +
  764 + opacity: .12;
  765 + filter: alpha(opacity=12); /* For IE */
  766 +
  767 +}
  768 +
  769 +
  770 +
  771 +/* MenuItem states */
  772 +
  773 +
  774 +/* Selected MenuItem */
  775 +
  776 +.yui-skin-sam .yuimenuitem-selected {
  777 +
  778 + background-color: #B3D4FF;
  779 +
  780 +}
  781 +
  782 +
  783 +/* Disabled MenuItem */
  784 +
  785 +.yui-skin-sam .yuimenuitemlabel-disabled,
  786 +.yui-skin-sam .yuimenuitemlabel-disabled:visited {
  787 +
  788 + cursor: default;
  789 + color: #A6A6A6;
  790 +
  791 +}
  792 +
  793 +.yui-skin-sam .yuimenuitem-hassubmenu-disabled {
  794 +
  795 + background-image: url(menuitem_submenuindicator_disabled.png);
  796 +
  797 +}
  798 +
  799 +.yui-skin-sam .yuimenuitem-checked-disabled {
  800 +
  801 + background-image: url(menuitem_checkbox_disabled.png);
  802 +
  803 +}
  804 +/*
  805 +Copyright (c) 2009, Yahoo! Inc. All rights reserved.
  806 +Code licensed under the BSD License:
  807 +http://developer.yahoo.net/yui/license.txt
  808 +version: 2.7.0
  809 +*/
  810 +.yui-navset .yui-nav li,.yui-navset .yui-navset-top .yui-nav li,.yui-navset .yui-navset-bottom .yui-nav li{margin:0 .5em 0 0;}.yui-navset-left .yui-nav li,.yui-navset-right .yui-nav li{margin:0 0 .5em;}.yui-navset .yui-content .yui-hidden{position:absolute;left:-999999px;visibility:hidden;}.yui-navset .yui-navset-left .yui-nav,.yui-navset .yui-navset-right .yui-nav,.yui-navset-left .yui-nav,.yui-navset-right .yui-nav{width:6em;}.yui-navset-top .yui-nav,.yui-navset-bottom .yui-nav{width:auto;}.yui-navset .yui-navset-left,.yui-navset-left{padding:0 0 0 6em;}.yui-navset-right{padding:0 6em 0 0;}.yui-navset-top,.yui-navset-bottom{padding:auto;}.yui-nav,.yui-nav li{margin:0;padding:0;list-style:none;}.yui-navset li em{font-style:normal;}.yui-navset{position:relative;zoom:1;}.yui-navset .yui-content,.yui-navset .yui-content div{zoom:1;}.yui-navset .yui-content:after{content:'';display:block;clear:both;}.yui-navset .yui-nav li,.yui-navset .yui-navset-top .yui-nav li,.yui-navset .yui-navset-bottom .yui-nav li{display:inline-block;display:-moz-inline-stack;*display:inline;vertical-align:bottom;cursor:pointer;zoom:1;}.yui-navset-left .yui-nav li,.yui-navset-right .yui-nav li{display:block;}.yui-navset .yui-nav a{position:relative;}.yui-navset .yui-nav li a,.yui-navset-top .yui-nav li a,.yui-navset-bottom .yui-nav li a{display:block;display:inline-block;vertical-align:bottom;zoom:1;}.yui-navset-left .yui-nav li a,.yui-navset-right .yui-nav li a{display:block;}.yui-navset-bottom .yui-nav li a{vertical-align:text-top;}.yui-navset .yui-nav li a em,.yui-navset-top .yui-nav li a em,.yui-navset-bottom .yui-nav li a em{display:block;}.yui-navset .yui-navset-left .yui-nav,.yui-navset .yui-navset-right .yui-nav,.yui-navset-left .yui-nav,.yui-navset-right .yui-nav{position:absolute;z-index:1;}.yui-navset-top .yui-nav,.yui-navset-bottom .yui-nav{position:static;}.yui-navset .yui-navset-left .yui-nav,.yui-navset-left .yui-nav{left:0;right:auto;}.yui-navset .yui-navset-right .yui-nav,.yui-navset-right .yui-nav{right:0;left:auto;}.yui-skin-sam .yui-navset .yui-nav,.yui-skin-sam .yui-navset .yui-navset-top .yui-nav{border:solid #2647a0;border-width:0 0 5px;zoom:1;}.yui-skin-sam .yui-navset .yui-nav li,.yui-skin-sam .yui-navset .yui-navset-top .yui-nav li{margin:0 .16em 0 0;padding:1px 0 0;zoom:1;}.yui-skin-sam .yui-navset .yui-nav .selected,.yui-skin-sam .yui-navset .yui-navset-top .yui-nav .selected{margin:0 .16em -1px 0;}.yui-skin-sam .yui-navset .yui-nav a,.yui-skin-sam .yui-navset .yui-navset-top .yui-nav a{background:#d8d8d8 url(../pacotes/yui290/build/assets/skins/sam/sprite.png) repeat-x;border:solid #a3a3a3;border-width:0 1px;color:#000;position:relative;text-decoration:none;}.yui-skin-sam .yui-navset .yui-nav a em,.yui-skin-sam .yui-navset .yui-navset-top .yui-nav a em{border:solid #a3a3a3;border-width:1px 0 0;cursor:hand;padding:.25em .75em;left:0;right:0;bottom:0;top:-1px;position:relative;}.yui-skin-sam .yui-navset .yui-nav .selected a,.yui-skin-sam .yui-navset .yui-nav .selected a:focus,.yui-skin-sam .yui-navset .yui-nav .selected a:hover{background:#2647a0 url(../pacotes/yui290/build/assets/skins/sam/sprite.png) repeat-x left -1400px;color:#fff;}.yui-skin-sam .yui-navset .yui-nav a:hover,.yui-skin-sam .yui-navset .yui-nav a:focus{background:white url(../pacotes/yui290/build/assets/skins/sam/sprite.png) repeat-x left -1300px;outline:0;}.yui-skin-sam .yui-navset .yui-nav .selected a em{padding:.35em .75em;}.yui-skin-sam .yui-navset .yui-nav .selected a,.yui-skin-sam .yui-navset .yui-nav .selected a em{border-color:#243356;}.yui-skin-sam .yui-navset .yui-content{background:#edf5ff;}.yui-skin-sam .yui-navset .yui-content,.yui-skin-sam .yui-navset .yui-navset-top .yui-content{border:1px solid #808080;border-top-color:#243356;padding:.25em .5em;}.yui-skin-sam .yui-navset-left .yui-nav,.yui-skin-sam .yui-navset .yui-navset-left .yui-nav,.yui-skin-sam .yui-navset .yui-navset-right .yui-nav,.yui-skin-sam .yui-navset-right .yui-nav{border-width:0 5px 0 0;Xposition:absolute;top:0;bottom:0;}.yui-skin-sam .yui-navset .yui-navset-right .yui-nav,.yui-skin-sam .yui-navset-right .yui-nav{border-width:0 0 0 5px;}.yui-skin-sam .yui-navset-left .yui-nav li,.yui-skin-sam .yui-navset .yui-navset-left .yui-nav li,.yui-skin-sam .yui-navset-right .yui-nav li{margin:0 0 .16em;padding:0 0 0 1px;}.yui-skin-sam .yui-navset-right .yui-nav li{padding:0 1px 0 0;}.yui-skin-sam .yui-navset-left .yui-nav .selected,.yui-skin-sam .yui-navset .yui-navset-left .yui-nav .selected{margin:0 -1px .16em 0;}.yui-skin-sam .yui-navset-right .yui-nav .selected{margin:0 0 .16em -1px;}.yui-skin-sam .yui-navset-left .yui-nav a,.yui-skin-sam .yui-navset-right .yui-nav a{border-width:1px 0;}.yui-skin-sam .yui-navset-left .yui-nav a em,.yui-skin-sam .yui-navset .yui-navset-left .yui-nav a em,.yui-skin-sam .yui-navset-right .yui-nav a em{border-width:0 0 0 1px;padding:.2em .75em;top:auto;left:-1px;}.yui-skin-sam .yui-navset-right .yui-nav a em{border-width:0 1px 0 0;left:auto;right:-1px;}.yui-skin-sam .yui-navset-left .yui-nav a,.yui-skin-sam .yui-navset-left .yui-nav .selected a,.yui-skin-sam .yui-navset-left .yui-nav a:hover,.yui-skin-sam .yui-navset-right .yui-nav a,.yui-skin-sam .yui-navset-right .yui-nav .selected a,.yui-skin-sam .yui-navset-right .yui-nav a:hover,.yui-skin-sam .yui-navset-bottom .yui-nav a,.yui-skin-sam .yui-navset-bottom .yui-nav .selected a,.yui-skin-sam .yui-navset-bottom .yui-nav a:hover{background-image:none;}.yui-skin-sam .yui-navset-left .yui-content{border:1px solid #808080;border-left-color:#243356;}.yui-skin-sam .yui-navset-bottom .yui-nav,.yui-skin-sam .yui-navset .yui-navset-bottom .yui-nav{border-width:5px 0 0;}.yui-skin-sam .yui-navset .yui-navset-bottom .yui-nav .selected,.yui-skin-sam .yui-navset-bottom .yui-nav .selected{margin:-1px .16em 0 0;}.yui-skin-sam .yui-navset .yui-navset-bottom .yui-nav li,.yui-skin-sam .yui-navset-bottom .yui-nav li{padding:0 0 1px 0;vertical-align:top;}.yui-skin-sam .yui-navset .yui-navset-bottom .yui-nav a em,.yui-skin-sam .yui-navset-bottom .yui-nav a em{border-width:0 0 1px;top:auto;bottom:-1px;}
  811 +.yui-skin-sam .yui-navset-bottom .yui-content,.yui-skin-sam .yui-navset .yui-navset-bottom .yui-content{border:1px solid #808080;border-bottom-color:#243356;}
  812 +
ferramentas/parametrossql/dependencias.php 0 → 100755
@@ -0,0 +1,31 @@ @@ -0,0 +1,31 @@
  1 +<?php
  2 +/**
  3 + * Esse script e utilizado por i3GEO.pluginI3geo
  4 + * Carrega os programas javascript necessarios para a ferramenta
  5 + * Esse programa e usado na tag <script> ou com a funcao scripttag do i3Geo
  6 + * Alem de carregar os scripts, carrega tambem o template no formato MUSTACHE, definindo a variavel
  7 + * javascript i3GEOF.parametrossql.MUSTACHE
  8 + * O template e substituido pelos valores definidos em index.js no momento da inicializacao da ferramenta
  9 + */
  10 +if(extension_loaded('zlib')){
  11 + ob_start('ob_gzhandler');
  12 +}
  13 +header("Content-type: text/javascript");
  14 +include("index.js");
  15 +include("dicionario.js");
  16 +echo "\n";
  17 +/**
  18 + * Inclui o template mustache do HTML usado para criar o conteudo da janela
  19 + */
  20 +echo 'i3GEOF.parametrossql.MUSTACHE = "';
  21 +$texto = file_get_contents("template_mst.html");
  22 +$texto = str_replace("\n", "", $texto);
  23 +$texto = str_replace("\r", "", $texto);
  24 +$texto = str_replace("\t", "", $texto);
  25 +$texto = str_replace('"', "'", $texto);
  26 +echo $texto;
  27 +echo '";';
  28 +if(extension_loaded('zlib')){
  29 + ob_end_flush();
  30 +}
  31 +?>
0 \ No newline at end of file 32 \ No newline at end of file
ferramentas/parametrossql/dicionario.js 0 → 100755
@@ -0,0 +1,8 @@ @@ -0,0 +1,8 @@
  1 +//+$trad(1,i3GEOF.parametrossql.dicionario)+
  2 +i3GEOF.parametrossql.dicionario = {
  3 + 'digita' : [ {
  4 + pt : "digite aqui o texto...",
  5 + en : "",
  6 + es : ""
  7 + } ]
  8 +};
ferramentas/parametrossql/exec.php 0 → 100755
@@ -0,0 +1,44 @@ @@ -0,0 +1,44 @@
  1 +<?php
  2 +include_once(dirname(__FILE__)."/../inicia.php");
  3 +//
  4 +//faz a busca da fun&ccedil;&atilde;o que deve ser executada
  5 +//
  6 +$retorno = ""; //string que ser&aacute; retornada ao browser via JSON
  7 +switch (strtoupper($funcao))
  8 +{
  9 +/*
  10 +Valor: APLICAR
  11 +
  12 +Aplica a substituicao de chaves pelos valores enviados
  13 +*/
  14 + case "APLICAR":
  15 + $map = ms_newMapObj($map_file);
  16 + $layer = $map->getlayerbyname($tema);
  17 + $data = $layer->data;
  18 + $chaves = explode(",",$chaves);
  19 + $valores = explode(",",$valores);
  20 + $n = count($chaves);
  21 + for($i = 0; $i < $n; $i++){
  22 + $data = str_replace($chaves[$i],$valores[$i],$data);
  23 + }
  24 + $layer->set("data",$data);
  25 + $layer->set("status",MS_DEFAULT);
  26 + $layer->setmetadata("PLUGINI3GEO","");
  27 + if (connection_aborted()){exit();}
  28 + $salvo = $map->save($map_file);
  29 + $retorno = "ok";
  30 + break;
  31 + case "REMOVER":
  32 + $map = ms_newMapObj($map_file);
  33 + $layer = $map->getlayerbyname($tema);
  34 + $layer->set("status",MS_DELETE);
  35 + $salvo = $map->save($map_file);
  36 + $retorno = "ok";
  37 + break;
  38 +}
  39 +if (!connection_aborted()){
  40 + cpjson($retorno);
  41 +}
  42 +else
  43 +{exit();}
  44 +?>
0 \ No newline at end of file 45 \ No newline at end of file
ferramentas/parametrossql/index.js 0 → 100755
@@ -0,0 +1,212 @@ @@ -0,0 +1,212 @@
  1 +/*
  2 +Title: Adiciona ao mapa uma camada e substitu&iacute; par&acirc;metros no item DATA do Mapfile
  3 +
  4 +Veja:
  5 +
  6 +<i3GEO.pluginI3geo>
  7 +
  8 +Arquivo:
  9 +
  10 +i3geo/ferramentas/parametrossql/index.js.php
  11 +
  12 +About: Licen&ccedil;a
  13 +
  14 +i3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet
  15 +
  16 +Direitos Autorais Reservados (c) 2006 Minist&eacute;rio do Meio Ambiente Brasil
  17 +Desenvolvedor: Edmar Moretti edmar.moretti@gmail.com
  18 +
  19 +Este programa &eacute; software livre; voc&ecirc; pode redistribu&iacute;-lo
  20 +e/ou modific&aacute;-lo sob os termos da Licen&ccedil;a P&uacute;blica Geral
  21 +GNU conforme publicada pela Free Software Foundation;
  22 +
  23 +Este programa &eacute; distribu&iacute;do na expectativa de que seja &uacute;til,
  24 +por&eacute;m, SEM NENHUMA GARANTIA; nem mesmo a garantia impl&iacute;cita
  25 +de COMERCIABILIDADE OU ADEQUA&Ccedil;&Atilde;O A UMA FINALIDADE ESPEC&Iacute;FICA.
  26 +Consulte a Licen&ccedil;a P&uacute;blica Geral do GNU para mais detalhes.
  27 +Voc&ecirc; deve ter recebido uma c&oacute;pia da Licen&ccedil;a P&uacute;blica Geral do
  28 +GNU junto com este programa; se n&atilde;o, escreva para a
  29 +Free Software Foundation, Inc., no endere&ccedil;o
  30 +59 Temple Street, Suite 330, Boston, MA 02111-1307 USA.
  31 +*/
  32 +if(typeof(i3GEOF) === 'undefined'){
  33 + var i3GEOF = {};
  34 +}
  35 +/*
  36 +Class: i3GEOF.parametrossql
  37 +*/
  38 +i3GEOF.parametrossql = {
  39 + /*
  40 + Variavel: aguarde
  41 +
  42 + Objeto DOM com a imagem de aguarde existente no cabe&ccedil;alho da janela.
  43 + */
  44 + aguarde: "",
  45 + /*
  46 + Variavel: tema
  47 +
  48 + Codigo do layer adicionado ao mapa
  49 + */
  50 + tema: "",
  51 + /**
  52 + * Template no formato mustache. E preenchido na carga do javascript com o programa dependencias.php
  53 + */
  54 + MUSTACHE : "",
  55 + /**
  56 + * Susbtitutos para o template
  57 + */
  58 + mustacheHash : function() {
  59 + var dicionario = i3GEO.idioma.objetoIdioma(i3GEOF.parametrossql.dicionario);
  60 + return dicionario;
  61 + },
  62 + /*
  63 + Function: inicia
  64 +
  65 + Inicia a ferramenta. &Eacute; chamado por criaJanelaFlutuante
  66 +
  67 + Parametro:
  68 +
  69 + iddiv {String} - id do div que receber&aacute; o conteudo HTML da ferramenta
  70 +
  71 + camada - objeto contendo os dados do plugin
  72 + */
  73 + inicia: function(iddiv,camada){
  74 + $i(iddiv).innerHTML = i3GEOF.parametrossql.html();
  75 + var b,
  76 + f = i3GEOF.parametrossql.formulario(camada);
  77 + i3GEOF.parametrossql.tema = camada.name;
  78 + //i3GEOFparametrosSQLForm e definido no template mustache
  79 + $i("i3GEOFparametrosSQLForm").innerHTML = f;
  80 +
  81 + b = new YAHOO.widget.Button(
  82 + "i3GEOFparametrosSqlAplicar",
  83 + {onclick:{fn: function(){i3GEOF.parametrossql.aplicar(camada);}}}
  84 + );
  85 + b.addClass("rodar");
  86 +
  87 + },
  88 + /*
  89 + Function: html
  90 +
  91 + Gera o c&oacute;digo html para apresenta&ccedil;&atilde;o das op&ccedil;&otilde;es da ferramenta
  92 +
  93 + Retorno:
  94 +
  95 + String com o c&oacute;digo html
  96 + */
  97 + html:function() {
  98 + var ins = Mustache.render(i3GEOF.parametrossql.MUSTACHE, i3GEOF.parametrossql.mustacheHash());
  99 + return ins;
  100 + },
  101 + /*
  102 + Function: iniciaJanelaFlutuante
  103 +
  104 + Cria a janela flutuante para controle da ferramenta.
  105 + */
  106 + iniciaJanelaFlutuante: function(camada){
  107 + var minimiza,cabecalho,janela,divid,temp,titulo;
  108 + if($i("i3GEOF.parametrossql")){
  109 + i3GEOF.parametrossql.inicia("i3GEOF.parametrossql_corpo",camada);
  110 + return;
  111 + }
  112 + //funcao que sera executada ao ser clicado no cabe&ccedil;alho da janela
  113 + cabecalho = function(){
  114 + };
  115 + minimiza = function(){
  116 + i3GEO.janela.minimiza("i3GEOF.parametrossql");
  117 + };
  118 + //cria a janela flutuante
  119 + titulo = "<a class=ajuda_usuario style='margin-left:40px;' target=_blank href='" + i3GEO.configura.locaplic + "/ajuda_usuario.php?idcategoria=5&idajuda=35' >&nbsp;&nbsp;&nbsp;</a>";
  120 + janela = i3GEO.janela.cria(
  121 + "290px",
  122 + "330px",
  123 + "",
  124 + "",
  125 + "",
  126 + titulo,
  127 + "i3GEOF.parametrossql",
  128 + false,
  129 + "hd",
  130 + cabecalho,
  131 + minimiza,
  132 + "",
  133 + true
  134 + );
  135 + divid = janela[2].id;
  136 + i3GEOF.parametrossql.aguarde = $i("i3GEOF.parametrossql_imagemCabecalho").style;
  137 + YAHOO.util.Event.addListener(janela[0].close, "click", i3GEOF.parametrossql.cancela);
  138 + i3GEOF.parametrossql.inicia(divid,camada);
  139 + },
  140 + formulario: function(camada){
  141 + //sobre os parametros ver em classe_plugini3geo
  142 + var parametros = camada.plugini3geo.parametros,
  143 + n = parametros.length,
  144 + i,
  145 + ins = "",
  146 + p,
  147 + j,
  148 + nj,
  149 + l;
  150 + for(i=0; i<n; i++){
  151 + p = parametros[i];
  152 + if(p.tipo != "" && p.titulo){
  153 + ins += "<p class='paragrafo'>"+p.titulo+":</p>";
  154 + if(p.tipo === "input"){
  155 + ins += "<div class='i3geoForm i3geoFormIconeEdita'>"
  156 + + "<input type='text' name='"+p.chave+"' value='"+p.valores+"' />"
  157 + + "</div><br>";
  158 + }
  159 + if(p.tipo === "select"){
  160 + ins += "<div class='styled-select' >"
  161 + + "<select name='"+p.chave+"' ><option value=''>---</option>";
  162 + l = p.valores.split(",");
  163 + nj = l.length;
  164 + for(j=0; j<nj; j++){
  165 + ins += "<option value='"+ l[j] +"'>"+ l[j] +"</option>";
  166 + }
  167 + ins += "</select></div><br>";
  168 + }
  169 + }
  170 + }
  171 + return ins;
  172 + },
  173 + aplicar: function(camada){
  174 + var fim,cp,p,onde = $i("i3GEOFparametrosSQLForm"),
  175 + campos,n,i,chaves = [], valores = [];
  176 + campos = onde.getElementsByTagName("input");
  177 + n = campos.length
  178 + for (i = 0; i<n; i++) {
  179 + chaves.push(campos[i].name);
  180 + valores.push(campos[i].value);
  181 + }
  182 + campos = onde.getElementsByTagName("select");
  183 + n = campos.length
  184 + for (i = 0; i<n; i++) {
  185 + chaves.push(campos[i].name);
  186 + valores.push(campos[i].value);
  187 + }
  188 + fim = function(){
  189 + i3GEO.atualiza();
  190 + };
  191 + p = i3GEO.configura.locaplic+"/ferramentas/parametrossql/exec.php?g_sid="+i3GEO.configura.sid
  192 + + "&funcao=aplicar"
  193 + + "&tema=" + camada.name
  194 + + "&chaves=" + chaves.join(",")
  195 + + "&valores=" + valores.join(",");
  196 + cp = new cpaint();
  197 + cp.set_response_type("JSON");
  198 + cp.call(p,"foo",fim);
  199 + },
  200 + cancela: function(){
  201 + var fim,cp,p;
  202 + fim = function(){
  203 + i3GEO.atualiza();
  204 + };
  205 + p = i3GEO.configura.locaplic+"/ferramentas/parametrossql/exec.php?g_sid="+i3GEO.configura.sid
  206 + + "&funcao=remover"
  207 + + "&tema=" + i3GEOF.parametrossql.tema;
  208 + cp = new cpaint();
  209 + cp.set_response_type("JSON");
  210 + cp.call(p,"foo",fim);
  211 + }
  212 +};
ferramentas/parametrossql/template_mst.html 0 → 100755
@@ -0,0 +1,5 @@ @@ -0,0 +1,5 @@
  1 +<div style='margin-left: 5px;'>
  2 +<div id='i3GEOFparametrosSQLForm'></div>
  3 +<br><br>
  4 + <input id='i3GEOFparametrosSqlAplicar' type='button' value='Aplicar' />
  5 +</div>
0 \ No newline at end of file 6 \ No newline at end of file
temas/_lbiomashp.map
@@ -6,23 +6,35 @@ MAP @@ -6,23 +6,35 @@ MAP
6 DATA "/var/www/i3geo/aplicmap/dados/biomas.shp" 6 DATA "/var/www/i3geo/aplicmap/dados/biomas.shp"
7 METADATA 7 METADATA
8 "METAESTAT_ID_MEDIDA_VARIAVEL" "" 8 "METAESTAT_ID_MEDIDA_VARIAVEL" ""
  9 + "TIP" "CD_LEGENDA"
9 "cache" "" 10 "cache" ""
10 "CLASSE" "SIM" 11 "CLASSE" "SIM"
  12 + "olopacity" ""
11 "permitekmz" "nao" 13 "permitekmz" "nao"
  14 + "gmopacity" ""
  15 + "gmstatus" ""
  16 + "ITENSDESC" "Teste de acentuação"
12 "METAESTAT_CODIGO_TIPO_REGIAO" "" 17 "METAESTAT_CODIGO_TIPO_REGIAO" ""
  18 + "arquivotemaoriginal" ""
  19 + "nomeoriginal" ""
  20 + "olstatus" ""
13 "permitedownload" "sim" 21 "permitedownload" "sim"
14 "metaestat" "" 22 "metaestat" ""
15 "download" "SIM" 23 "download" "SIM"
16 - "arquivokmz" "" 24 + "itembuscarapida" ""
  25 + "ITENS" "CD_LEGENDA"
17 "arquivodownload" "" 26 "arquivodownload" ""
18 - "permitekml" "sim" 27 + "arquivokmz" ""
19 "permiteogc" "sim" 28 "permiteogc" "sim"
20 - "TEMA" "Biomas shapefile (acentuação)" 29 + "permitekml" "sim"
21 "convcaracter" "" 30 "convcaracter" ""
  31 + "TEMA" "Biomas shapefile (acentuação)"
22 END # METADATA 32 END # METADATA
23 NAME "_lbiomashp" 33 NAME "_lbiomashp"
24 PROCESSING "ITEMS=CD_LEGENDA" 34 PROCESSING "ITEMS=CD_LEGENDA"
25 - STATUS OFF 35 + PROCESSING "LABEL_NO_CLIP=True"
  36 + PROCESSING "POLYLINE_NO_CLIP=True"
  37 + STATUS DEFAULT
26 TEMPLATE "none.htm" 38 TEMPLATE "none.htm"
27 TILEITEM "location" 39 TILEITEM "location"
28 OPACITY 90 40 OPACITY 90
@@ -32,50 +44,55 @@ MAP @@ -32,50 +44,55 @@ MAP
32 NAME "CAATINGA" 44 NAME "CAATINGA"
33 EXPRESSION ('[CD_LEGENDA]'eq'CAATINGA') 45 EXPRESSION ('[CD_LEGENDA]'eq'CAATINGA')
34 STYLE 46 STYLE
35 - COLOR 237 45 191 47 + COLOR 123 72 59
36 OUTLINECOLOR 255 255 255 48 OUTLINECOLOR 255 255 255
37 END # STYLE 49 END # STYLE
  50 + TITLE ""
38 END # CLASS 51 END # CLASS
39 CLASS 52 CLASS
40 NAME "PAMPA" 53 NAME "PAMPA"
41 EXPRESSION ('[CD_LEGENDA]'eq'PAMPA') 54 EXPRESSION ('[CD_LEGENDA]'eq'PAMPA')
42 STYLE 55 STYLE
43 - COLOR 2 254 241 56 + COLOR 236 202 44
44 OUTLINECOLOR 255 255 255 57 OUTLINECOLOR 255 255 255
45 END # STYLE 58 END # STYLE
  59 + TITLE ""
46 END # CLASS 60 END # CLASS
47 CLASS 61 CLASS
48 NAME "CERRADO" 62 NAME "CERRADO"
49 EXPRESSION ('[CD_LEGENDA]'eq'CERRADO') 63 EXPRESSION ('[CD_LEGENDA]'eq'CERRADO')
50 STYLE 64 STYLE
51 - COLOR 78 243 146 65 + COLOR 251 205 116
52 OUTLINECOLOR 255 255 255 66 OUTLINECOLOR 255 255 255
53 END # STYLE 67 END # STYLE
  68 + TITLE ""
54 END # CLASS 69 END # CLASS
55 CLASS 70 CLASS
56 NAME "PANTANAL" 71 NAME "PANTANAL"
57 EXPRESSION ('[CD_LEGENDA]'eq'PANTANAL') 72 EXPRESSION ('[CD_LEGENDA]'eq'PANTANAL')
58 STYLE 73 STYLE
59 - COLOR 169 139 38 74 + COLOR 53 22 177
60 OUTLINECOLOR 255 255 255 75 OUTLINECOLOR 255 255 255
61 END # STYLE 76 END # STYLE
  77 + TITLE ""
62 END # CLASS 78 END # CLASS
63 CLASS 79 CLASS
64 NAME "AMAZÔNIA" 80 NAME "AMAZÔNIA"
65 - EXPRESSION ('[CD_LEGENDA]'eq'AMAZONIA') 81 + EXPRESSION ('[CD_LEGENDA]'eq'AMAZÔNIA')
66 STYLE 82 STYLE
67 - COLOR 151 214 202 83 + COLOR 201 67 148
68 OUTLINECOLOR 255 255 255 84 OUTLINECOLOR 255 255 255
69 END # STYLE 85 END # STYLE
70 - END # CLASS 86 + TITLE ""
  87 + END # CLASS
71 CLASS 88 CLASS
72 - NAME "MATA ATLANTICA"  
73 - TITLE "Mata Atlântica"  
74 - EXPRESSION ('[CD_LEGENDA]'eq'MATA ATLANTICA') 89 + NAME "MATA ATLÂNTICA"
  90 + EXPRESSION ('[CD_LEGENDA]'eq'MATA ATLÂNTICA')
75 STYLE 91 STYLE
76 - COLOR 22 193 134 92 + COLOR 173 135 33
77 OUTLINECOLOR 255 255 255 93 OUTLINECOLOR 255 255 255
78 END # STYLE 94 END # STYLE
  95 + TITLE ""
79 END # CLASS 96 END # CLASS
80 END # LAYER 97 END # LAYER
81 98
temas/_llocali.map
@@ -6,50 +6,50 @@ MAP @@ -6,50 +6,50 @@ MAP
6 DATA "/var/www/i3geo/aplicmap/dados/locali.shp" 6 DATA "/var/www/i3geo/aplicmap/dados/locali.shp"
7 METADATA 7 METADATA
8 "METAESTAT_ID_MEDIDA_VARIAVEL" "" 8 "METAESTAT_ID_MEDIDA_VARIAVEL" ""
9 - "TIP" "TIPO,NOMELOC,ANOCRIA"  
10 - "LTEMPOITEMIMAGEM" ""  
11 "cache" "" 9 "cache" ""
12 - "CLASSE" "SIM"  
13 - "LTEMPOITEMDESCRICAO" "TIPO" 10 + "LTEMPOITEMIMAGEM" ""
  11 + "TIP" "TIPO,NOMELOC,ANOCRIA"
14 "olopacity" "" 12 "olopacity" ""
15 - "LTEMPOITEMINICIO" "ANOCRIA" 13 + "LTEMPOITEMDESCRICAO" "TIPO"
  14 + "CLASSE" "SIM"
16 "palletestep" "" 15 "palletestep" ""
17 - "permitekmz" "sim"  
18 - "LTEMPOITEMTIP" "ANOCRIA" 16 + "LTEMPOITEMINICIO" "ANOCRIA"
19 "temporizador" "" 17 "temporizador" ""
  18 + "LTEMPOITEMTIP" "ANOCRIA"
  19 + "permitekmz" "sim"
20 "gmopacity" "" 20 "gmopacity" ""
21 "gmstatus" "" 21 "gmstatus" ""
22 - "ITENSDESC" "Município,TIPO,Localidade,ANOCRIA"  
23 - "iconetema" ""  
24 - "LTEMPOITEMTITULO" "NOMELOC"  
25 "description_template" "" 22 "description_template" ""
26 - "ITENSLINK" ",,," 23 + "LTEMPOITEMTITULO" "NOMELOC"
  24 + "iconetema" ""
  25 + "ITENSDESC" "Município,TIPO,Localidade,ANOCRIA"
27 "LTEMPOITEMLINK" "" 26 "LTEMPOITEMLINK" ""
  27 + "ITENSLINK" ",,,"
28 "METAESTAT_CODIGO_TIPO_REGIAO" "" 28 "METAESTAT_CODIGO_TIPO_REGIAO" ""
29 "arquivotemaoriginal" "" 29 "arquivotemaoriginal" ""
30 "palletefile" "" 30 "palletefile" ""
31 - "nomeoriginal" ""  
32 "olstatus" "" 31 "olstatus" ""
33 - "permitedownload" "sim" 32 + "nomeoriginal" ""
34 "LTEMPOFORMATODATA" "iso8601" 33 "LTEMPOFORMATODATA" "iso8601"
35 - "permitecomentario" "SIM" 34 + "permitedownload" "sim"
36 "LTEMPOITEMICONE" "" 35 "LTEMPOITEMICONE" ""
  36 + "permitecomentario" "SIM"
37 "metaestat" "" 37 "metaestat" ""
38 "download" "SIM" 38 "download" "SIM"
39 "itembuscarapida" "NOMELOC" 39 "itembuscarapida" "NOMELOC"
40 - "ITENS" "NOMEMUN,TIPO,NOMELOC,ANOCRIA"  
41 - "arquivodownload" ""  
42 "arquivokmz" "" 40 "arquivokmz" ""
43 - "permitekml" "sim"  
44 - "permiteogc" "sim" 41 + "arquivodownload" ""
  42 + "ITENS" "NOMEMUN,TIPO,NOMELOC,ANOCRIA"
45 "transitioneffect" "NAO" 43 "transitioneffect" "NAO"
46 - "TEMA" "Localidades (usar com timeline)" 44 + "permiteogc" "sim"
  45 + "permitekml" "sim"
47 "convcaracter" "" 46 "convcaracter" ""
  47 + "TEMA" "Localidades (usar com timeline) para teste"
48 "cortepixels" "40" 48 "cortepixels" "40"
49 - "editorsql" ""  
50 "LTEMPOCONVENCODE" "SIM" 49 "LTEMPOCONVENCODE" "SIM"
51 - "LTEMPOITEMFIM" "" 50 + "editorsql" ""
52 "legendaimg" "" 51 "legendaimg" ""
  52 + "LTEMPOITEMFIM" ""
53 END # METADATA 53 END # METADATA
54 NAME "_llocali" 54 NAME "_llocali"
55 PROCESSING "LABEL_NO_CLIP=True" 55 PROCESSING "LABEL_NO_CLIP=True"
@@ -63,7 +63,6 @@ MAP @@ -63,7 +63,6 @@ MAP
63 TILEITEM "location" 63 TILEITEM "location"
64 TYPE POINT 64 TYPE POINT
65 UNITS METERS 65 UNITS METERS
66 - #EXTENT -67.419006 -19.719276 -38.678772 -10.183143  
67 CLASS 66 CLASS
68 NAME "Vila" 67 NAME "Vila"
69 EXPRESSION ('[TIPO]'eq'Vila') 68 EXPRESSION ('[TIPO]'eq'Vila')
temas/_lparametrossql.map 0 → 100644
@@ -0,0 +1,71 @@ @@ -0,0 +1,71 @@
  1 +MAP
  2 + FONTSET "../symbols/fontes.txt"
  3 + SYMBOLSET "../symbols/simbolosv6.sym"
  4 + LAYER
  5 + CONNECTION "user=postgres password=postgres dbname=i3geosaude host=localhost port=5432"
  6 + CONNECTIONTYPE POSTGIS
  7 + DATA "the_geom from /*SE*/(SELECT (j.valorcalculado) AS pop_res_tot, co_municipio,no_cidade,co_uf,sg_uf,area_territorial,nu_ano_instalacao,/*SG*/the_geom as the_geom /*SG*/ FROM i3geo_metaestat.municipios AS regiao INNER JOIN ( SELECT munic AS cod_regiao,sum(pop_res_tot) AS valorcalculado FROM ibge.populacao_residente WHERE ano IN ('ANO_DADOS')AND pop_res_tot IS NOT NULL /*FA*//*FA*/ /*FAT*//*FAT*/ GROUP BY cod_regiao ) AS j ON j.cod_regiao::text = regiao.co_municipio::text /*FR*//*FR*/ )/*SE*/ as foo using unique co_municipio using srid=4326"
  8 + METADATA
  9 + "METAESTAT_ID_MEDIDA_VARIAVEL" ""
  10 + "CLASSE" "SIM"
  11 + "permitekmz" "nao"
  12 + "METAESTAT_CODIGO_TIPO_REGIAO" ""
  13 + "permitedownload" "sim"
  14 + "PLUGINI3GEO" '{"plugin":"parametrossql","parametros":[{"titulo" : "Ano dos dados ç","chave" : "ANO_DADOS","tipo" : "select","valores" : "1970,1980,2000"},{"titulo" : "","chave" : "","tipo" : "","valores" : ""},{"titulo" : "","chave" : "","tipo" : "","valores" : ""},{}]}'
  15 + "metaestat" ""
  16 + "permiteogc" "sim"
  17 + "permitekml" "sim"
  18 + "TEMA" "Teste de plugin parametrossql"
  19 + END # METADATA
  20 + NAME "_lparametrossql"
  21 + PROCESSING "LABEL_NO_CLIP=True"
  22 + PROCESSING "POLYLINE_NO_CLIP=True"
  23 + STATUS OFF
  24 + TEMPLATE "none.htm"
  25 + TILEITEM "location"
  26 + TYPE POLYGON
  27 + UNITS METERS
  28 + CLASS
  29 + NAME "<= 6008"
  30 + EXPRESSION ([pop_res_tot]<=6008)
  31 + STYLE
  32 + COLOR 255 255 199
  33 + OUTLINECOLOR 255 255 255
  34 + OUTLINEWIDTH 6
  35 + SIZE 6
  36 + END # STYLE
  37 + END # CLASS
  38 + CLASS
  39 + NAME "> 6008 e <= 11531"
  40 + EXPRESSION (([pop_res_tot]>6008)and([pop_res_tot]<=11531))
  41 + STYLE
  42 + COLOR 235 235 210
  43 + OUTLINECOLOR 255 255 255
  44 + OUTLINEWIDTH 11
  45 + SIZE 11
  46 + END # STYLE
  47 + END # CLASS
  48 + CLASS
  49 + NAME "> 11531 e <= 22638"
  50 + EXPRESSION (([pop_res_tot]>11531)and([pop_res_tot]<=22638))
  51 + STYLE
  52 + COLOR 216 216 220
  53 + OUTLINECOLOR 255 255 255
  54 + OUTLINEWIDTH 16
  55 + SIZE 16
  56 + END # STYLE
  57 + END # CLASS
  58 + CLASS
  59 + NAME "> 22638"
  60 + EXPRESSION ([pop_res_tot]>22638)
  61 + STYLE
  62 + COLOR 196 196 230
  63 + OUTLINECOLOR 255 255 255
  64 + OUTLINEWIDTH 21
  65 + SIZE 21
  66 + END # STYLE
  67 + END # CLASS
  68 + END # LAYER
  69 +
  70 +END # MAP
  71 +