Commit 5b47d67e29e978debe4ce6d4300db5e3b98080a0

Authored by Edmar Moretti
1 parent bafe2929

Correção na opção de inclusão de labels no editor de mapfiles, quando utilizada …

…a opção existente na árvore do editor
admin/admin.db
No preview for this file type
admin/dicionario/editormapfile.js
... ... @@ -7,7 +7,7 @@ i3GEOadmin.editormapfile.dicionario = {
7 7 es : ""
8 8 } ],
9 9 'txtAjudaMapfile' : [ {
10   - pt : "<p>Importante: a restri&ccedil;&atilde;o ao tema por meio da defini&ccedil;&atilde;o de grupos de usu&aacute;rios n&atilde;o bloqueia o acesso por meio de download, WMS, KML, etc. Para bloquear esse tipo de acesso &eacute; necess&aacute;rio alterar as op&ccedil;&otilde;es espec&iacute;ficas. Por padr&atilde;o, esses servi&ccedil;os s&atilde;o habilitados para qualquer usu&aacute;rio, n&atilde;o sendo poss&iacute;vel bloquear apenas para determinados grupos. <p>Este formul&aacute;rio permite criar ou editar os arquivos mapfile que comp&otilde;em temas no i3geo. <p>Os arquivo .map s&atilde;o armazenados no diretório i3geo/temas e podem tamb&eacute;m ser editados manualmente. <p>Cada arquivo cont&eacute;m layers definidos conforme a sintaxe utilizada pelo Mapserver. Esses arquivos s&atilde;o as estruturas b&aacute;sicas utilizadas pelo i3geo na apresenta&ccedil;&atilde;o de dados e montagem das camadas que s&atilde;o vistas no mapa. <p>Após criados os mapfiles, deve-se ainda definir as caracter&iacute;sticas de cada LAYER. <p>A lista de IPs dos usu&aacute;rios que podem administrar o i3geo &eacute; definida no arquivo i3geo/ms_configura.php <p>Apenas os mapfiles que forem vinculados a um tema poder&atilde;o ser vistos na janela de inclus&atilde;o de temas na &aacute;rvore de temas. Se voc&ecirc; criou um mapfile manualmente, utilize a op&ccedil;&atilde;o de edi&ccedil;&atilde;o (&iacute;cone apresentado ao lado de cada mapfile) para fazer essa associa&ccedil;&atilde;o. <p>A op&ccedil;&atilde;o 'Verifica temas sem mapfiles' possibilita resolver problemas decorrentes da elimina&ccedil;&atilde;o manual de um arquivo mapfile do servidor. Nesses casos, o registro no banco de dados permanece. Com essa op&ccedil;&atilde;o &eacute; poss&iacute;vel apagar os registros ou recriar o mapfile perdido.",
  10 + pt : "<p>Importante: a restri&ccedil;&atilde;o ao tema por meio da defini&ccedil;&atilde;o de grupos de usu&aacute;rios n&atilde;o bloqueia o acesso por meio de download, WMS, KML, etc. Para bloquear esse tipo de acesso &eacute; necess&aacute;rio alterar as op&ccedil;&otilde;es espec&iacute;ficas. Por padr&atilde;o, esses servi&ccedil;os s&atilde;o habilitados para qualquer usu&aacute;rio, n&atilde;o sendo poss&iacute;vel bloquear apenas para determinados grupos. <p>Este formul&aacute;rio permite criar ou editar os arquivos mapfile que comp&otilde;em temas no i3geo. <p>Os arquivo .map s&atilde;o armazenados no diret�rio i3geo/temas e podem tamb&eacute;m ser editados manualmente. <p>Cada arquivo cont&eacute;m layers definidos conforme a sintaxe utilizada pelo Mapserver. Esses arquivos s&atilde;o as estruturas b&aacute;sicas utilizadas pelo i3geo na apresenta&ccedil;&atilde;o de dados e montagem das camadas que s&atilde;o vistas no mapa. <p>Ap�s criados os mapfiles, deve-se ainda definir as caracter&iacute;sticas de cada LAYER. <p>A lista de IPs dos usu&aacute;rios que podem administrar o i3geo &eacute; definida no arquivo i3geo/ms_configura.php <p>Apenas os mapfiles que forem vinculados a um tema poder&atilde;o ser vistos na janela de inclus&atilde;o de temas na &aacute;rvore de temas. Se voc&ecirc; criou um mapfile manualmente, utilize a op&ccedil;&atilde;o de edi&ccedil;&atilde;o (&iacute;cone apresentado ao lado de cada mapfile) para fazer essa associa&ccedil;&atilde;o. <p>A op&ccedil;&atilde;o 'Verifica temas sem mapfiles' possibilita resolver problemas decorrentes da elimina&ccedil;&atilde;o manual de um arquivo mapfile do servidor. Nesses casos, o registro no banco de dados permanece. Com essa op&ccedil;&atilde;o &eacute; poss&iacute;vel apagar os registros ou recriar o mapfile perdido.",
11 11 en : "",
12 12 es : ""
13 13 } ],
... ... @@ -167,7 +167,7 @@ i3GEOadmin.editormapfile.dicionario = {
167 167 es : ""
168 168 } ],
169 169 'apenasShp' : [ {
170   - pt : "Opcao disponivel apenas para o tipo shapefile", // esta sem acento pois alguns navegadores não aceitam acentuacao em alert
  170 + pt : "Opcao disponivel apenas para o tipo shapefile", // esta sem acento pois alguns navegadores n�o aceitam acentuacao em alert
171 171 en : "",
172 172 es : ""
173 173 } ],
... ... @@ -327,7 +327,7 @@ i3GEOadmin.editormapfile.dicionario = {
327 327 es : ""
328 328 } ],
329 329 'legendaImg' : [ {
330   - pt : "URL de uma imagem que ser&aacute; utilizada em substitui&ccedil;&atilde;o à gera&ccedil;&atilde;o normal da legenda ",
  330 + pt : "URL de uma imagem que ser&aacute; utilizada em substitui&ccedil;&atilde;o � gera&ccedil;&atilde;o normal da legenda ",
331 331 en : "",
332 332 es : ""
333 333 } ],
... ... @@ -1297,12 +1297,12 @@ i3GEOadmin.editormapfile.dicionario = {
1297 1297 es : ""
1298 1298 } ],
1299 1299 'ltempoconvencode' : [ {
1300   - pt : "Aplica convers&atilde;o do código de caracteres? Pode ser necess&aacute;rio para corrigir problemas de acentua&ccedil;&atilde;o",
  1300 + pt : "Aplica convers&atilde;o do c�digo de caracteres? Pode ser necess&aacute;rio para corrigir problemas de acentua&ccedil;&atilde;o",
1301 1301 en : "",
1302 1302 es : ""
1303 1303 } ],
1304 1304 'ltempoconvencodeTitulo' : [ {
1305   - pt : "Aplica convers&atilde;o do código de caracteres? Pode ser necess&aacute;rio para corrigir problemas de acentua&ccedil;&atilde;o",
  1305 + pt : "Aplica convers&atilde;o do c�digo de caracteres? Pode ser necess&aacute;rio para corrigir problemas de acentua&ccedil;&atilde;o",
1306 1306 en : "",
1307 1307 es : ""
1308 1308 } ],
... ... @@ -1387,7 +1387,7 @@ i3GEOadmin.editormapfile.dicionario = {
1387 1387 es : ""
1388 1388 } ],
1389 1389 'itenslink' : [ {
1390   - pt : "Lista de links que ser&atilde;o inclu&iacute;dos em cada resultado de busca da ferramenta de identifica&ccedil;&atilde;o. A lista de links deve ser separada por ',', podendo-se incluir '' para indicar que o item n&atilde;o tem link. Exemplo de uso para inclus&atilde;o de links para o site do IBGE quando um munic&iacute;pio &eacute; clicado no mapa:<br>ITENS 'codigo,nome2,uf'<br>ITENSDESC 'codigo do IBGE,nome do munic&iacute;pio,uf'<br>ITENSLLINK ',http://www.ibge.gov.br/munic2001/tabelas.php?codmun=[codigo]&descricao=[nome],'<br>Podem ser inclu&iacute;dos comandos javascript, para isso utilize sempre aspas simples para fechar o link e acrescente o código javascript, exemplo:<br>ITENSLINK \",'../ferramentas/identifica/testelink.php?sid='+i3GEO.configura.sid\"",
  1390 + pt : "Lista de links que ser&atilde;o inclu&iacute;dos em cada resultado de busca da ferramenta de identifica&ccedil;&atilde;o. A lista de links deve ser separada por ',', podendo-se incluir '' para indicar que o item n&atilde;o tem link. Exemplo de uso para inclus&atilde;o de links para o site do IBGE quando um munic&iacute;pio &eacute; clicado no mapa:<br>ITENS 'codigo,nome2,uf'<br>ITENSDESC 'codigo do IBGE,nome do munic&iacute;pio,uf'<br>ITENSLLINK ',http://www.ibge.gov.br/munic2001/tabelas.php?codmun=[codigo]&descricao=[nome],'<br>Podem ser inclu&iacute;dos comandos javascript, para isso utilize sempre aspas simples para fechar o link e acrescente o c�digo javascript, exemplo:<br>ITENSLINK \",'../ferramentas/identifica/testelink.php?sid='+i3GEO.configura.sid\"",
1391 1391 en : "",
1392 1392 es : ""
1393 1393 } ],
... ... @@ -1427,7 +1427,7 @@ i3GEOadmin.editormapfile.dicionario = {
1427 1427 es : ""
1428 1428 } ],
1429 1429 'name' : [ {
1430   - pt : "Elemento 'NAME'. N&atilde;o confunda com o nome que aparece no mapa ou na &aacute;rvore de temas. Normalmente o código recebe o mesmo nome do arquivo mapfile, sem a extens&atilde;o '.map'",
  1430 + pt : "Elemento 'NAME'. N&atilde;o confunda com o nome que aparece no mapa ou na &aacute;rvore de temas. Normalmente o c�digo recebe o mesmo nome do arquivo mapfile, sem a extens&atilde;o '.map'",
1431 1431 en : "",
1432 1432 es : ""
1433 1433 } ],
... ... @@ -1496,8 +1496,8 @@ i3GEOadmin.editormapfile.dicionario = {
1496 1496 en : "",
1497 1497 es : ""
1498 1498 } ],
1499   - '' : [ {
1500   - pt : "",
  1499 + 'colunaLabel' : [ {
  1500 + pt : "Coluna da tabela de atributos",
1501 1501 en : "",
1502 1502 es : ""
1503 1503 } ],
... ...
admin/js/editormapfile.js
... ... @@ -889,7 +889,7 @@ function salvarDadosEditor(tipo,codigoMap,codigoLayer,indiceClasse,indiceEstilo,
889 889 }
890 890 if(tipo == "classeLabel")
891 891 {
892   - campos = new Array("encoding","force","partials","mindistance","minfeaturesize","wrap","antialias","buffer","autoangle","angle","offsety","offsetx","position","maxsize","minsize","size","backgroundshadowsizey","backgroundshadowsizex","shadowsizey","shadowsizex","shadowcolor","outlinecolor","color","backgroundshadowcolor","backgroundcolor","type","font");
  892 + campos = new Array("text","encoding","force","partials","mindistance","minfeaturesize","wrap","antialias","buffer","autoangle","angle","offsety","offsetx","position","maxsize","minsize","size","backgroundshadowsizey","backgroundshadowsizex","shadowsizey","shadowsizex","shadowcolor","outlinecolor","color","backgroundshadowcolor","backgroundcolor","type","font");
893 893 par = "&codigoMap="+codigoMap+"&codigoLayer="+codigoLayer+"&indiceClasse="+indiceClasse;
894 894 prog = "../php/editormapfile.php?funcao=alterarClasseLabel" ;
895 895 }
... ...
admin/js/editormapfile_label.js
... ... @@ -22,6 +22,8 @@ function montaEditorClasseLabel(dados)
22 22 core_montaEditor(temp,"450px","500px","","Label&nbsp;"+dados.codigoMap,true,true,false);
23 23 var param = {
24 24 "linhas":[
  25 + {ajuda:$trad("colunaLabel",i3GEOadmin.editormapfile.dicionario),
  26 + titulo:$trad("colunaLabel",i3GEOadmin.editormapfile.dicionario),id:"text",value:dados.text,tipo:"text"},
25 27 {ajuda:$trad("colorLabel",i3GEOadmin.editormapfile.dicionario),
26 28 titulo:$trad("colorLabelTitulo",i3GEOadmin.editormapfile.dicionario),id:"color",value:dados.color,tipo:"cor"},
27 29 {ajuda:$trad("sizeLabel",i3GEOadmin.editormapfile.dicionario),
... ...
admin/php/editormapfile.php
... ... @@ -350,7 +350,7 @@ switch (strtoupper($funcao))
350 350  
351 351 maporigem {string} - nome completo do arquivo mapfile que contem o layer que ser&aacute; utilizado para alterar o original
352 352  
353   - nomelayer {string} - cdigo do layer em mapfile que ser&aacute; utilizado para atualizar codigoMap
  353 + nomelayer {string} - codigo do layer em mapfile que ser&aacute; utilizado para atualizar codigoMap
354 354  
355 355 Retorno:
356 356  
... ... @@ -2201,7 +2201,7 @@ function pegaClasseLabel()
2201 2201 $v = versao();
2202 2202 $vi = $v["inteiro"];
2203 2203 if($vi >= 60200){
2204   - $nlabel = $classe->numlabels;
  2204 + $nlabels = $classe->numlabels;
2205 2205 if($nlabels > 0){
2206 2206 $label = $classe->getLabel(0);
2207 2207 }
... ... @@ -2216,25 +2216,26 @@ function pegaClasseLabel()
2216 2216 {
2217 2217 $dados["font"] = $label->font;
2218 2218 $dados["type"] = $label->type;
2219   - $dados["backgroundcolor"] = $label->backgroundcolor->red.",".$label->backgroundcolor->green.",".$label->backgroundcolor->blue;
2220   - $dados["backgroundshadowcolor"] = $label->backgroundshadowcolor->red.",".$label->backgroundshadowcolor->green.",".$label->backgroundshadowcolor->blue;
  2219 + //$dados["backgroundcolor"] = $label->backgroundcolor->red.",".$label->backgroundcolor->green.",".$label->backgroundcolor->blue;
  2220 + //$dados["backgroundshadowcolor"] = $label->backgroundshadowcolor->red.",".$label->backgroundshadowcolor->green.",".$label->backgroundshadowcolor->blue;
2221 2221 $dados["color"] = $label->color->red.",".$label->color->green.",".$label->color->blue;
2222 2222 $dados["outlinecolor"] = $label->outlinecolor->red.",".$label->outlinecolor->green.",".$label->outlinecolor->blue;
2223 2223 $dados["shadowcolor"] = $label->shadowcolor->red.",".$label->shadowcolor->green.",".$label->shadowcolor->blue;
2224 2224 $dados["shadowsizex"] = $label->shadowsizex;
2225 2225 $dados["shadowsizey"] = $label->shadowsizey;
2226   - $dados["backgroundshadowsizex"] = $label->backgroundshadowsizex;
2227   - $dados["backgroundshadowsizey"] = $label->backgroundshadowsizey;
  2226 + //$dados["backgroundshadowsizex"] = $label->backgroundshadowsizex;
  2227 + //$dados["backgroundshadowsizey"] = $label->backgroundshadowsizey;
2228 2228 $dados["size"] = $label->size;
  2229 +
2229 2230 $dados["minsize"] = $label->minsize;
2230 2231 $dados["maxsize"] = $label->maxsize;
2231 2232 $dados["position"] = $label->position;
2232 2233 $dados["offsetx"] = $label->offsetx;
2233 2234 $dados["offsety"] = $label->offsety;
2234 2235 $dados["angle"] = $label->angle;
2235   - $dados["autoangle"] = $label->autoangle;
  2236 + //$dados["autoangle"] = $label->autoangle;
2236 2237 $dados["buffer"] = $label->buffer;
2237   - $dados["antialias"] = $label->antialias;
  2238 + //$dados["antialias"] = $label->antialias;
2238 2239 $dados["wrap"] = $label->wrap;
2239 2240 $dados["minfeaturesize"] = $label->minfeaturesize;
2240 2241 $dados["autominfeaturesize"] = $label->autominfeaturesize;
... ... @@ -2259,7 +2260,13 @@ function pegaClasseLabel()
2259 2260 }
2260 2261 function alterarClasseLabel()
2261 2262 {
2262   - global $codigoMap,$codigoLayer,$indiceClasse,$locaplic,$autoangle,$encoding,$force,$partials,$mindistance,$minfeaturesize,$wrap,$antialias,$buffer,$angle,$offsety,$offsetx,$position,$maxsize,$minsize,$size,$backgroundshadowsizey,$backgroundshadowsizex,$shadowsizey,$shadowsizex,$shadowcolor,$outlinecolor,$color,$backgroundshadowcolor,$backgroundcolor,$type,$font;
  2263 + global $text,$codigoMap,$codigoLayer,$indiceClasse,$locaplic,$autoangle,$encoding,$force,$partials,$mindistance,$minfeaturesize,$wrap,$antialias,$buffer,$angle,$offsety,$offsetx,$position,$maxsize,$minsize,$size,$backgroundshadowsizey,$backgroundshadowsizex,$shadowsizey,$shadowsizex,$shadowcolor,$outlinecolor,$color,$backgroundshadowcolor,$backgroundcolor,$type,$font;
  2264 + if(!isset($text)){
  2265 + $text = "";
  2266 + }
  2267 + else{
  2268 + $text = "[".$text."]";
  2269 + }
2263 2270 $dados = array();
2264 2271 $mapfile = $locaplic."/temas/".$codigoMap.".map";
2265 2272 $mapa = ms_newMapObj($mapfile);
... ... @@ -2268,38 +2275,104 @@ function alterarClasseLabel()
2268 2275 return "erro. Layer METAESTAT";
2269 2276 }
2270 2277 $classe = $layer->getclass($indiceClasse);
2271   - $label = $classe->label;
2272   - if ($label != "")
2273   - {
2274   - $label->set("font",$font);
2275   - $label->set("type",$type);
  2278 + $v = versao();
  2279 + $vi = $v["inteiro"];
  2280 + if($vi >= 60300){
  2281 + while($classe->numlabels > 0){
  2282 + $classe->removeLabel(0);
  2283 + }
  2284 + }
  2285 + if($text == ""){
  2286 + if($vi >= 60300){
  2287 + $indiceLabel = $classe->addLabel(new labelObj());
  2288 + $label = $classe->getLabel($indiceLabel);
  2289 + }
  2290 + else{
  2291 + $label = $classe->label;
  2292 + }
  2293 + }
  2294 + elseif ($vi >= 60300 && $classe->numlabels == 0){
  2295 + if($wrap != ""){
  2296 + $s = "CLASS LABEL WRAP '$wrap' TEXT '".$text."' END END";
  2297 + $classe->updateFromString($s);
  2298 + }
  2299 + else{
  2300 + $s = "CLASS LABEL TEXT '".$text."' END END";
  2301 + $classe->updateFromString($s);
  2302 + }
  2303 + }
  2304 +
  2305 + if($vi >= 60300){
  2306 + $label = $classe->getLabel(0);
  2307 + }
  2308 + else{
  2309 + $label = $classe->label;
  2310 + }
  2311 +
  2312 + if($wrap != ""){
  2313 + $label->set("maxlength",1);
  2314 + }
  2315 + if($fonte != "bitmap"){
  2316 + //para funcionar na versao 7 do mapserver
  2317 + $label->updateFromString("LABEL type truetype END");
  2318 + $label->set("font",$fonte);
  2319 + $label->set("size",$tamanho);
  2320 + }
  2321 + else{
  2322 + //para funcionar na versao 7 do mapserver
  2323 + $label->updateFromString("LABEL type bitmap END");
  2324 + $t = MS_TINY;
  2325 + if ($tamanho > 5 ){
  2326 + $t = MS_TINY;
  2327 + }
  2328 + if ($tamanho >= 7 ){
  2329 + $t = MS_SMALL;
  2330 + }
  2331 + if ($tamanho >= 10 ){
  2332 + $t = MS_MEDIUM;
  2333 + }
  2334 + if ($tamanho >= 12 ){
  2335 + $t = MS_LARGE;
  2336 + }
  2337 + if ($tamanho >= 14 ){
  2338 + $t = MS_GIANT;
  2339 + }
  2340 + $label->set("size",$t);
  2341 + }
  2342 + if ($label != ""){
  2343 + //$label->set("type",$type);
2276 2344 corE($label,$backgroundcolor,"backgroundcolor");
2277 2345 corE($label,$backgroundshadowcolor,"backgroundshadowcolor");
2278 2346 corE($label,$color,"color");
2279 2347 corE($label,$outlinecolor,"outlinecolor");
2280   - corE($label,$shadowcolor,"shadowcolor");
  2348 + if(!empty($sombra) && !empty($backgroundshadowsizex)){
  2349 + corE($label,$sombra,"backgroundshadowcolor",$backgroundshadowsizex,$backgroundshadowsizey);
  2350 + }
2281 2351 $label->set("shadowsizex",$shadowsizex);
2282 2352 $label->set("shadowsizey",$shadowsizey);
2283   - $label->set("backgroundshadowsizex",$backgroundshadowsizex);
2284   - $label->set("backgroundshadowsizey",$backgroundshadowsizey);
2285   - $label->set("size",$size);
  2353 + //$label->set("backgroundshadowsizex",$backgroundshadowsizex);
  2354 + //$label->set("backgroundshadowsizey",$backgroundshadowsizey);
  2355 +
2286 2356 $label->set("minsize",$minsize);
2287 2357 $label->set("maxsize",$maxsize);
2288   - $label->set("position",$position);
  2358 + //$label->set("position",$position);
  2359 +
2289 2360 $label->set("offsetx",$offsetx);
2290 2361 $label->set("offsety",$offsety);
2291 2362 $label->set("angle",$angle);
2292   - $label->set("autoangle",$autoangle);
2293   - $label->set("buffer",$buffer);
2294   - $label->set("antialias",$antialias);
  2363 +
  2364 + //$label->set("autoangle",$autoangle);
  2365 + //$label->set("buffer",$buffer);
  2366 + //$label->set("antialias",$antialias);
2295 2367 $label->set("wrap",$wrap);
2296 2368 $label->set("minfeaturesize",$minfeaturesize);
2297   - //$label->set("autominfeaturesize",$autominfeaturesize);
2298 2369 $label->set("mindistance",$mindistance);
2299 2370 $label->set("partials",$partials);
2300 2371 $label->set("force",$force);
2301 2372 $label->set("encoding",$encoding);
2302   - $label->set("autoangle",$autoangle);
  2373 +
  2374 + $p = array("MS_AUTO"=>MS_AUTO,"MS_UL"=>MS_UL,"MS_LR"=>MS_LR,"MS_UR"=>MS_UR,"MS_LL"=>MS_LL,"MS_CR"=>MS_CR,"MS_CL"=>MS_CL,"MS_UC"=>MS_UC,"MS_LC"=>MS_LC,"MS_CC"=>MS_CC);
  2375 + $label->set("position",$p[$position]);
2303 2376 }
2304 2377 $mapa->save($mapfile);
2305 2378 removeCabecalho($mapfile);
... ...
classesphp/funcoes_gerais.php
... ... @@ -75,8 +75,7 @@ function corE($label,$cor,$elemento,$sombrax=1,$sombray=1)
75 75 {
76 76 $versao = versao();
77 77 $versao = $versao["principal"];
78   - if (is_string($cor))
79   - {
  78 + if (is_string($cor)){
80 79 $cor = str_replace(","," ",$cor);
81 80 if (count(explode(" ",$cor)) == 3)
82 81 {
... ...
temas/_lbiomashp.map
... ... @@ -5,25 +5,21 @@ MAP
5 5 CONNECTION ""
6 6 DATA "/var/www/i3geo/aplicmap/dados/biomas.shp"
7 7 METADATA
8   - "METAESTAT_ID_MEDIDA_VARIAVEL" ""
9   - "TIP" "CD_LEGENDA"
10 8 "CACHE" "sim"
  9 + "TIP" "CD_LEGENDA"
11 10 "CLASSE" "SIM"
12 11 "permitekmz" "sim"
13   - "iconetema" ""
14 12 "ITENSDESC" "Bioma Teste de acentuação"
15   - "ESCALA" "1000000"
16 13 "TILES" "SIM"
17   - "METAESTAT_CODIGO_TIPO_REGIAO" ""
  14 + "ESCALA" "1000000"
18 15 "extensao" "-76 -39 -29 9"
19 16 "permitedownload" "sim"
20   - "metaestat" ""
21 17 "download" "SIM"
22 18 "itembuscarapida" "CD_LEGENDA"
23 19 "ITENS" "CD_LEGENDA"
24   - "transitioneffect" "SIM"
25   - "permiteogc" "sim"
26 20 "permitekml" "sim"
  21 + "permiteogc" "sim"
  22 + "transitioneffect" "SIM"
27 23 "TEMA" "_Biomas SHP (acentução)"
28 24 END # METADATA
29 25 NAME "_lbiomashp"
... ... @@ -38,6 +34,18 @@ MAP
38 34 CLASS
39 35 NAME "CAATINGA"
40 36 EXPRESSION ('[CD_LEGENDA]'eq'CAATINGA')
  37 + LABEL
  38 + FONT ""
  39 + MAXSIZE 0
  40 + MINSIZE 0
  41 + SIZE 0
  42 + MINDISTANCE 0
  43 + MINFEATURESIZE 0
  44 + OFFSET 0 0
  45 + PARTIALS FALSE
  46 + SHADOWSIZE 0 0
  47 + TEXT "[CD_LEGENDA]"
  48 + END # LABEL
41 49 STYLE
42 50 COLOR 183 247 169
43 51 OUTLINECOLOR 255 255 255
... ...