Commit e4f491cc9e13844ff2db02cebf8c54e9700ec107

Authored by Edmar Moretti
1 parent b3683672
Exists in master

Correções nas ferramentas filtro e renderização de elementos selecionados

classesphp/classe_selecao.php
@@ -117,6 +117,7 @@ $ext - extensão geográfica do mapa @@ -117,6 +117,7 @@ $ext - extensão geográfica do mapa
117 $this->arquivo = str_replace(".map","",$map_file).".map"; 117 $this->arquivo = str_replace(".map","",$map_file).".map";
118 if($tema != "" && @$this->mapa->getlayerbyname($tema)) 118 if($tema != "" && @$this->mapa->getlayerbyname($tema))
119 $this->layer = $this->mapa->getlayerbyname($tema); 119 $this->layer = $this->mapa->getlayerbyname($tema);
  120 +
120 $this->nome = $tema; 121 $this->nome = $tema;
121 $c = $this->mapa->numlayers; 122 $c = $this->mapa->numlayers;
122 for ($i=0;$i < $c;++$i) 123 for ($i=0;$i < $c;++$i)
@@ -882,6 +883,7 @@ $retornaShapes - retorna os shapes selecionados. Nesse caso, nao e gerado o arqu @@ -882,6 +883,7 @@ $retornaShapes - retorna os shapes selecionados. Nesse caso, nao e gerado o arqu
882 $this->selecaoLimpa(); 883 $this->selecaoLimpa();
883 $tipo = "adiciona"; 884 $tipo = "adiciona";
884 } 885 }
  886 +
885 if(!$this->layer){ 887 if(!$this->layer){
886 return "erro"; 888 return "erro";
887 } 889 }
classesphp/funcoes_gerais.php
@@ -554,6 +554,7 @@ function listaTrueType() @@ -554,6 +554,7 @@ function listaTrueType()
554 function substituiCon($map_file, $postgis_mapa) 554 function substituiCon($map_file, $postgis_mapa)
555 { 555 {
556 // error_reporting(0); 556 // error_reporting(0);
  557 + return;
557 if (! empty($postgis_mapa) && (file_exists($map_file))) { 558 if (! empty($postgis_mapa) && (file_exists($map_file))) {
558 if (! @ms_newMapObj($map_file)) { 559 if (! @ms_newMapObj($map_file)) {
559 return false; 560 return false;
classesphp/mapa_googlemaps.php
@@ -55,8 +55,6 @@ @@ -55,8 +55,6 @@
55 * i3geo/classesphp/mapa_googlemaps.php 55 * i3geo/classesphp/mapa_googlemaps.php
56 * 56 *
57 */ 57 */
58 -// error_reporting(0);  
59 -// error_reporting(0);  
60 include ("sani_request.php"); 58 include ("sani_request.php");
61 // para efeitos de compatibilidade 59 // para efeitos de compatibilidade
62 if (! function_exists('ms_GetVersion')) { 60 if (! function_exists('ms_GetVersion')) {
@@ -96,6 +94,9 @@ $postgis_mapa = $_SESSION[&quot;postgis_mapa&quot;]; @@ -96,6 +94,9 @@ $postgis_mapa = $_SESSION[&quot;postgis_mapa&quot;];
96 $cachedir = $_SESSION["cachedir"]; 94 $cachedir = $_SESSION["cachedir"];
97 $i3georendermode = $_SESSION["i3georendermode"]; 95 $i3georendermode = $_SESSION["i3georendermode"];
98 96
  97 +$projInObj = ms_newprojectionobj("proj=latlong,a=6378137,b=6378137");
  98 +$projOutObj = ms_newprojectionobj("proj=merc,a=6378137,b=6378137,lat_ts=0.0,lon_0=0.0,x_0=0.0,y_0=0,k=1.0,units=m");
  99 +
99 if (! empty($_GET["request"])) { 100 if (! empty($_GET["request"])) {
100 $_GET["REQUEST"] = $_GET["request"]; 101 $_GET["REQUEST"] = $_GET["request"];
101 } 102 }
@@ -127,9 +128,6 @@ if ($_GET[&quot;REQUEST&quot;] == &quot;GetFeatureInfo&quot; || strtolower($_GET[&quot;REQUEST&quot;]) == &quot;get @@ -127,9 +128,6 @@ if ($_GET[&quot;REQUEST&quot;] == &quot;GetFeatureInfo&quot; || strtolower($_GET[&quot;REQUEST&quot;]) == &quot;get
127 $x --; 128 $x --;
128 $y --; 129 $y --;
129 130
130 - $projInObj = ms_newprojectionobj("proj=latlong,a=6378137,b=6378137");  
131 - $projOutObj = ms_newprojectionobj("proj=merc,a=6378137,b=6378137,lat_ts=0.0,lon_0=0.0,x_0=0.0,y_0=0,k=1.0,units=m");  
132 -  
133 $poPoint1 = ms_newpointobj(); 131 $poPoint1 = ms_newpointobj();
134 $poPoint1->setXY($lon1, $lat1); 132 $poPoint1->setXY($lon1, $lat1);
135 $poPoint1->project($projInObj, $projOutObj); 133 $poPoint1->project($projInObj, $projOutObj);
@@ -309,6 +307,7 @@ $legenda = $mapa-&gt;legend; @@ -309,6 +307,7 @@ $legenda = $mapa-&gt;legend;
309 $legenda->set("status", MS_OFF); 307 $legenda->set("status", MS_OFF);
310 $escala = $mapa->scalebar; 308 $escala = $mapa->scalebar;
311 $escala->set("status", MS_OFF); 309 $escala->set("status", MS_OFF);
  310 +
312 if (trim($_GET["TIPOIMAGEM"]) != "" && trim($_GET["TIPOIMAGEM"]) != "nenhum") { 311 if (trim($_GET["TIPOIMAGEM"]) != "" && trim($_GET["TIPOIMAGEM"]) != "nenhum") {
313 $o->setOption("QUANTIZE_FORCE", "OFF"); 312 $o->setOption("QUANTIZE_FORCE", "OFF");
314 } 313 }
@@ -331,11 +330,13 @@ if ($cortePixels &gt; 0) { @@ -331,11 +330,13 @@ if ($cortePixels &gt; 0) {
331 if ($qy != true) { 330 if ($qy != true) {
332 $img = $mapa->draw(); 331 $img = $mapa->draw();
333 } else { 332 } else {
334 - $handle = fopen($qyfile, "r");  
335 - $conteudo = fread($handle, filesize($qyfile));  
336 - fclose($handle); 333 + //$handle = fopen($qyfile, "r");
  334 + //$conteudo = fread($handle, filesize($qyfile));
  335 + //fclose($handle);
  336 + $conteudo = file_get_contents($qyfile);
337 $shp = unserialize($conteudo); 337 $shp = unserialize($conteudo);
338 $l = $mapa->getLayerByname($_GET["layer"]); 338 $l = $mapa->getLayerByname($_GET["layer"]);
  339 + $c = $mapa->querymap->color;
339 $indxlayer = $l->index; 340 $indxlayer = $l->index;
340 if ($l->connectiontype != MS_POSTGIS) { 341 if ($l->connectiontype != MS_POSTGIS) {
341 if($l->type == MS_LAYER_POINT){ 342 if($l->type == MS_LAYER_POINT){
@@ -354,15 +355,14 @@ if ($qy != true) { @@ -354,15 +355,14 @@ if ($qy != true) {
354 } 355 }
355 } 356 }
356 foreach ($shp as $indx) { 357 foreach ($shp as $indx) {
357 - $mapa->querybyindex($indxlayer, - 1, $indx, MS_TRUE); 358 + $mapa->querybyindex($indxlayer, -1, $indx, MS_TRUE);
358 } 359 }
359 $qm = $mapa->querymap; 360 $qm = $mapa->querymap;
360 - $qm->set("width", $_GET["WIDTH"]);  
361 - $qm->set("height", $_GET["HEIGHT"]); 361 + $qm->set("width", 256);
  362 + $qm->set("height", 256);
362 $img = $mapa->drawQuery(); 363 $img = $mapa->drawQuery();
363 } else { 364 } else {
364 $img = $mapa->draw(); 365 $img = $mapa->draw();
365 - $c = $mapa->querymap->color;  
366 $numclasses = $l->numclasses; 366 $numclasses = $l->numclasses;
367 if ($numclasses > 0) { 367 if ($numclasses > 0) {
368 $classe0 = $l->getClass(0); 368 $classe0 = $l->getClass(0);
@@ -378,37 +378,25 @@ if ($qy != true) { @@ -378,37 +378,25 @@ if ($qy != true) {
378 } 378 }
379 $cor = $classe0->getstyle(0)->color; 379 $cor = $classe0->getstyle(0)->color;
380 $cor->setrgb($c->red, $c->green, $c->blue); 380 $cor->setrgb($c->red, $c->green, $c->blue);
381 - $cor = $classe0->getstyle(0)->outlinecolor;  
382 - $cor->setrgb($c->red, $c->green, $c->blue);  
383 - // $v = versaoMS();  
384 - if ($versao["principal"] == 6) {  
385 - $l->open();  
386 - foreach ($shp as $indx) {  
387 - $shape = $l->getShape(new resultObj($indx)); 381 + $status = $l->open();
  382 + $rect = $mapa->extent;
  383 + $rect->project($projOutObj,$projInObj);
  384 + $status = $l->whichShapes($rect);
  385 + while ($shape = $l->nextShape()) {
  386 + //$shape->project($projInObj,$projOutObj);
  387 + if (in_array($shape->index, $shp)){
  388 + $shape->project($projInObj,$projOutObj);
  389 + //echo $shape->toWkt();exit;
  390 + //$shape = ms_shapeObjFromWkt($shape->toWkt());
388 $shape->draw($mapa, $l, $img); 391 $shape->draw($mapa, $l, $img);
389 } 392 }
390 - $l->close();  
391 - } else {  
392 - $l->open();  
393 - foreach ($shp as $indx) {  
394 - $shape = $l->getfeature($indx, - 1);  
395 - $shape->draw($mapa, $l, $img);  
396 - }  
397 - $l->close();  
398 } 393 }
  394 + $l->close();
399 } 395 }
  396 + $cache = false;
400 } 397 }
401 -if (! function_exists('imagepng')) {  
402 - $s = PHP_SHLIB_SUFFIX;  
403 - @dl('php_gd.' . $s);  
404 - if (! function_exists('imagepng')) {  
405 - @dl('php_gd2.' . $s);  
406 - }  
407 - if (! function_exists('imagepng')) {  
408 - $_GET["TIPOIMAGEM"] = "";  
409 - }  
410 -}  
411 -if (trim($_GET["TIPOIMAGEM"]) != "" && trim($_GET["TIPOIMAGEM"]) != "nenhum") { 398 +//exit;
  399 +if ($_GET["TIPOIMAGEM"] != "" && $_GET["TIPOIMAGEM"] != "nenhum") {
412 if ($img->imagepath == "") { 400 if ($img->imagepath == "") {
413 echo "Erro IMAGEPATH vazio"; 401 echo "Erro IMAGEPATH vazio";
414 exit(); 402 exit();
@@ -427,34 +415,23 @@ if (trim($_GET[&quot;TIPOIMAGEM&quot;]) != &quot;&quot; &amp;&amp; trim($_GET[&quot;TIPOIMAGEM&quot;]) != &quot;nenhum&quot;) { @@ -427,34 +415,23 @@ if (trim($_GET[&quot;TIPOIMAGEM&quot;]) != &quot;&quot; &amp;&amp; trim($_GET[&quot;TIPOIMAGEM&quot;]) != &quot;nenhum&quot;) {
427 imagesavealpha($img, true); 415 imagesavealpha($img, true);
428 cabecalhoImagem($nomer); 416 cabecalhoImagem($nomer);
429 imagepng($img); 417 imagepng($img);
  418 + //imagedestroy($img);
430 } else { 419 } else {
431 - if ($cache == true) {  
432 - $nomer = salvaCacheImagem(); 420 + if ($cache == true && $_GET["cache"] != "nao") {
  421 + // cache ativo. Salva a imagem em cache
  422 + $nomer = salvaCacheImagem($cachedir, $map_fileX, $_GET["tms"]);
433 cabecalhoImagem($nomer); 423 cabecalhoImagem($nomer);
434 - carregaCacheImagem(); 424 + if ($_SESSION["i3georendermode"] == 2) {
  425 + header("X-Sendfile: $nomer");
  426 + } else {
  427 + readfile($nomer);
  428 + }
435 } else { 429 } else {
436 - if ($_SESSION["i3georendermode"] == 0 || ($_SESSION["i3georendermode"] == 1 && $cortePixels > 0)) {  
437 - $nomer = ($img->imagepath) . "temp" . nomeRand() . ".png";  
438 - if ($img->imagepath == "") {  
439 - ilegal();  
440 - }  
441 - $img->saveImage($nomer);  
442 - //  
443 - // corta a imagem gerada para voltar ao tamanho normal  
444 - //  
445 - if ($cortePixels > 0) {  
446 - $img = cortaImagemDisco($nomer, $cortePixels, 256);  
447 - } else {  
448 - $img = imagecreatefrompng($nomer);  
449 - imagealphablending($img, false);  
450 - imagesavealpha($img, true);  
451 - }  
452 - cabecalhoImagem($nomer);  
453 - imagepng($img);  
454 - imagedestroy($img);  
455 - exit(); 430 + // cache inativo
  431 + if ($img->imagepath == "") {
  432 + ilegal();
456 } 433 }
457 - if ($_SESSION["i3georendermode"] == 1) { 434 + if ($_SESSION["i3georendermode"] == 0 || ($_SESSION["i3georendermode"] == 1 && $cortePixels > 0)) {
458 ob_clean(); 435 ob_clean();
459 header('Content-Type: image/png'); 436 header('Content-Type: image/png');
460 $img->saveImage(); 437 $img->saveImage();
@@ -466,13 +443,12 @@ if (trim($_GET[&quot;TIPOIMAGEM&quot;]) != &quot;&quot; &amp;&amp; trim($_GET[&quot;TIPOIMAGEM&quot;]) != &quot;nenhum&quot;) { @@ -466,13 +443,12 @@ if (trim($_GET[&quot;TIPOIMAGEM&quot;]) != &quot;&quot; &amp;&amp; trim($_GET[&quot;TIPOIMAGEM&quot;]) != &quot;nenhum&quot;) {
466 // corta a imagem gerada para voltar ao tamanho normal 443 // corta a imagem gerada para voltar ao tamanho normal
467 // 444 //
468 if ($cortePixels > 0) { 445 if ($cortePixels > 0) {
469 - $img = cortaImagemDisco($nomer, $cortePixels, 256); 446 + $img = cortaImagemDisco($nomer, $cortePixels, $_GET["WIDTH"]);
470 } 447 }
471 cabecalhoImagem($nomer); 448 cabecalhoImagem($nomer);
472 - header("X-Sendfile: $nomer"); 449 + header("X-Sendfile: ".$nomer);
473 } 450 }
474 } 451 }
475 - exit();  
476 } 452 }
477 453
478 function cabecalhoImagem($nome,$tipo="image/png") 454 function cabecalhoImagem($nome,$tipo="image/png")
classesphp/mapa_openlayers.php
@@ -318,6 +318,9 @@ if ($cache == true &amp;&amp; $_GET[&quot;cache&quot;] != &quot;nao&quot;) { @@ -318,6 +318,9 @@ if ($cache == true &amp;&amp; $_GET[&quot;cache&quot;] != &quot;nao&quot;) {
318 if (isset($_GET["map_size"])) { 318 if (isset($_GET["map_size"])) {
319 $map_size = explode(" ", $_GET["map_size"]); 319 $map_size = explode(" ", $_GET["map_size"]);
320 $mapa->setsize($map_size[0], $map_size[1]); 320 $mapa->setsize($map_size[0], $map_size[1]);
  321 +} else {
  322 + $map_size = array(256,256);
  323 + $mapa->setsize($map_size[0], $map_size[1]);
321 } 324 }
322 325
323 if (isset($_GET["mapext"])) { 326 if (isset($_GET["mapext"])) {
@@ -418,7 +421,6 @@ if ($qy != true) { @@ -418,7 +421,6 @@ if ($qy != true) {
418 $img = $mapa->drawQuery(); 421 $img = $mapa->drawQuery();
419 } else { 422 } else {
420 $img = $mapa->draw(); 423 $img = $mapa->draw();
421 -  
422 $numclasses = $l->numclasses; 424 $numclasses = $l->numclasses;
423 if ($numclasses > 0) { 425 if ($numclasses > 0) {
424 $classe0 = $l->getClass(0); 426 $classe0 = $l->getClass(0);
@@ -476,7 +478,6 @@ if ($_GET[&quot;TIPOIMAGEM&quot;] != &quot;&quot; &amp;&amp; $_GET[&quot;TIPOIMAGEM&quot;] != &quot;nenhum&quot;) { @@ -476,7 +478,6 @@ if ($_GET[&quot;TIPOIMAGEM&quot;] != &quot;&quot; &amp;&amp; $_GET[&quot;TIPOIMAGEM&quot;] != &quot;nenhum&quot;) {
476 readfile($nomer); 478 readfile($nomer);
477 } 479 }
478 } else { 480 } else {
479 -  
480 // cache inativo 481 // cache inativo
481 if ($img->imagepath == "") { 482 if ($img->imagepath == "") {
482 ilegal(); 483 ilegal();
ferramentas/identifica/index.js
@@ -452,30 +452,52 @@ i3GEOF.identifica = { @@ -452,30 +452,52 @@ i3GEOF.identifica = {
452 }, 452 },
453 filtrar : function(tema, item, valor) { 453 filtrar : function(tema, item, valor) {
454 i3GEO.janela.abreAguarde(); 454 i3GEO.janela.abreAguarde();
455 - var filtro = "",  
456 - temp = function(retorno) {  
457 - i3GEO.janela.fechaAguarde();  
458 - i3GEO.Interface.atualizaTema(retorno, tema);  
459 - },  
460 - p = i3GEO.configura.locaplic + "/ferramentas/filtro/exec.php?base64=sim&g_sid=" + i3GEO.configura.sid + "&funcao=inserefiltro",  
461 - cp = new cpaint();  
462 -  
463 - filtro = "(*[" + item + "]* = *" + valor + "*)";  
464 - cp.set_response_type("JSON");  
465 - cp.set_transfer_mode('POST');  
466 - cp.call(p, "insereFiltro", temp, "tema=" + tema + "&filtro=" + i3GEO.util.base64encode(filtro)); 455 + $.get(
  456 + i3GEO.configura.locaplic+"/ferramentas/filtro/exec.php",
  457 + {
  458 + g_sid: i3GEO.configura.sid,
  459 + base64: "sim",
  460 + funcao: "inserefiltro",
  461 + tema: tema,
  462 + filtro: i3GEO.util.base64encode("(*[" + item + "]* = *" + valor + "*)")
  463 + }
  464 + )
  465 + .done(
  466 + function(data, status){
  467 + i3GEO.janela.fechaAguarde();
  468 + i3GEO.Interface.atualizaTema(data, tema);
  469 + }
  470 + )
  471 + .fail(
  472 + function(data){
  473 + i3GEO.janela.fechaAguarde();
  474 + i3GEO.janela.snackBar({content: data.statusText, style:'red'});
  475 + }
  476 + );
467 }, 477 },
468 removeFiltro : function(tema) { 478 removeFiltro : function(tema) {
469 i3GEO.janela.abreAguarde(); 479 i3GEO.janela.abreAguarde();
470 - var temp = function(retorno) {  
471 - i3GEO.janela.fechaAguarde();  
472 - i3GEO.Interface.atualizaTema(retorno, tema);  
473 - }, p =  
474 - i3GEO.configura.locaplic + "/ferramentas/filtro/exec.php?base64=nao&g_sid=" + i3GEO.configura.sid + "&funcao=inserefiltro", cp =  
475 - new cpaint();  
476 - cp.set_response_type("JSON");  
477 - cp.set_transfer_mode('POST');  
478 - cp.call(p, "insereFiltro", temp, "tema=" + tema + "&filtro="); 480 + $.get(
  481 + i3GEO.configura.locaplic+"/ferramentas/filtro/exec.php",
  482 + {
  483 + g_sid: i3GEO.configura.sid,
  484 + funcao: "inserefiltro",
  485 + tema: tema,
  486 + filtro: ""
  487 + }
  488 + )
  489 + .done(
  490 + function(data, status){
  491 + i3GEO.janela.fechaAguarde();
  492 + i3GEO.Interface.atualizaTema(data, tema);
  493 + }
  494 + )
  495 + .fail(
  496 + function(data){
  497 + i3GEO.janela.fechaAguarde();
  498 + i3GEO.janela.snackBar({content: data.statusText, style:'red'});
  499 + }
  500 + );
479 }, 501 },
480 adicionaPontoRegiao : function(idjanela) { 502 adicionaPontoRegiao : function(idjanela) {
481 var p = i3GEO.configura.locaplic + "/ferramentas/editortema/exec.php?funcao=adicionaGeometria&g_sid=" + i3GEO.configura.sid, tema = 503 var p = i3GEO.configura.locaplic + "/ferramentas/editortema/exec.php?funcao=adicionaGeometria&g_sid=" + i3GEO.configura.sid, tema =
ms_configura.php
@@ -886,5 +886,5 @@ if(empty($_COOKIE[&quot;i3geolingua&quot;]) &amp;&amp; array_key_exists(&#39;HTTP_ACCEPT_LANGUAGE&#39;,$_S @@ -886,5 +886,5 @@ if(empty($_COOKIE[&quot;i3geolingua&quot;]) &amp;&amp; array_key_exists(&#39;HTTP_ACCEPT_LANGUAGE&#39;,$_S
886 } 886 }
887 setcookie('i3geolingua', $l, time()+60*60*24*365, '/'); 887 setcookie('i3geolingua', $l, time()+60*60*24*365, '/');
888 } 888 }
889 -error_reporting(E_ALL); 889 +error_reporting(0);
890 ?> 890 ?>
temas/regioesdesaude.map 0 → 100644
@@ -0,0 +1,104 @@ @@ -0,0 +1,104 @@
  1 +MAP
  2 + FONTSET "../symbols/fontes.txt"
  3 + SYMBOLSET "../symbols/simbolosv6.sym"
  4 + LAYER
  5 + COMPOSITE
  6 + OPACITY 40
  7 + END # COMPOSITE
  8 + CONNECTION ""
  9 + CONNECTIONTYPE POSTGIS
  10 + DATA "geom FROM (select class_regiao,class_regiao_desc,geom FROM dbauxiliares.tb_class_regiao WHERE superintendencia = 't') as foo USING UNIQUE class_regiao USING SRID=4674"
  11 + METADATA
  12 + "cache" "sim"
  13 + "TIP" "class_regiao,class_regiao_desc"
  14 + "CLASSE" "SIM"
  15 + "permitekmz" "SIM"
  16 + "ITENSDESC" "Codigo,Nome"
  17 + "TILES" "SIM"
  18 + "ITENSLINK" ","
  19 + "extensao" "-48.285791068245 -16.050264262644 -47.308386987058 -15.500255153363"
  20 + "permitedownload" "SIM"
  21 + "download" "SIM"
  22 + "UTFDATA" "class_regiao_desc"
  23 + "ITENS" "class_regiao,class_regiao_desc"
  24 + "permitekml" "SIM"
  25 + "permiteogc" "SIM"
  26 + "convcaracter" "SIM"
  27 + "TEMA" "Regiões de saúde (superintendências)"
  28 + "IDENTIFICA" "sim"
  29 + END # METADATA
  30 + NAME "regioesdesaude"
  31 + PROCESSING "LABEL_NO_CLIP=True"
  32 + PROCESSING "POLYLINE_NO_CLIP=True"
  33 + STATUS DEFAULT
  34 + TEMPLATE "none.htm"
  35 + TILEITEM "location"
  36 + TYPE POLYGON
  37 + UNITS METERS
  38 + CLASS
  39 + NAME "Região Central"
  40 + EXPRESSION ('[class_regiao]'eq'2')
  41 + STYLE
  42 + COLOR 203 115 203
  43 + OUTLINECOLOR 255 255 255
  44 + END # STYLE
  45 + TITLE ""
  46 + END # CLASS
  47 + CLASS
  48 + NAME "Região Oeste"
  49 + EXPRESSION ('[class_regiao]'eq'5')
  50 + STYLE
  51 + COLOR 17 166 64
  52 + OUTLINECOLOR 255 255 255
  53 + END # STYLE
  54 + TITLE ""
  55 + END # CLASS
  56 + CLASS
  57 + NAME "Região Norte"
  58 + EXPRESSION ('[class_regiao]'eq'6')
  59 + STYLE
  60 + COLOR 2 210 239
  61 + OUTLINECOLOR 255 255 255
  62 + END # STYLE
  63 + TITLE ""
  64 + END # CLASS
  65 + CLASS
  66 + NAME "Região Sul"
  67 + EXPRESSION ('[class_regiao]'eq'3')
  68 + STYLE
  69 + COLOR 249 110 138
  70 + OUTLINECOLOR 255 255 255
  71 + END # STYLE
  72 + TITLE ""
  73 + END # CLASS
  74 + CLASS
  75 + NAME "Região Leste"
  76 + EXPRESSION ('[class_regiao]'eq'7')
  77 + STYLE
  78 + COLOR 243 26 74
  79 + OUTLINECOLOR 255 255 255
  80 + END # STYLE
  81 + TITLE ""
  82 + END # CLASS
  83 + CLASS
  84 + NAME "Região Sudoeste"
  85 + EXPRESSION ('[class_regiao]'eq'4')
  86 + STYLE
  87 + COLOR 122 60 248
  88 + OUTLINECOLOR 255 255 255
  89 + END # STYLE
  90 + TITLE ""
  91 + END # CLASS
  92 + CLASS
  93 + NAME "Região Centro-Sul"
  94 + EXPRESSION ('[class_regiao]'eq'1')
  95 + STYLE
  96 + COLOR 189 247 118
  97 + OUTLINECOLOR 255 255 255
  98 + END # STYLE
  99 + TITLE ""
  100 + END # CLASS
  101 + END # LAYER
  102 +
  103 +END # MAP
  104 +