diff --git a/classesphp/classe_atributos.php b/classesphp/classe_atributos.php index 00073f3..80fc8f7 100644 --- a/classesphp/classe_atributos.php +++ b/classesphp/classe_atributos.php @@ -705,28 +705,31 @@ class Atributos if ($filtro != ""){ $l->setfilter(""); } - $b = "ÁÃÕÓÔáãâàóõôòúûíêéç"; - $trocas = "AAOOOaaaaoooouuieecAAOOOaaaaoooouuieecAAOOOaaaaoooouuieec"; - $buscas = b.(html_entity_decode($b,ENT_NOQUOTES,'UTF8')).(html_entity_decode($b,ENT_NOQUOTES,'ISO8859-1')); $sopen = $l->open(); if($sopen == MS_FAILURE){ return "erro"; } + $ret = $this->mapa->extent; + /* $prjMapa = $this->mapa->getProjection(); $prjTema = $l->getProjection(); - $ret = $this->mapa->extent; - if (($prjTema != "") && ($prjMapa != $prjTema)) { + if ($prjTema != ""){ $projInObj = ms_newprojectionobj($prjTema); $projOutObj = ms_newprojectionobj($prjMapa); + } + */ + /* + if (($prjTema != "") && ($prjMapa != $prjTema)) { $status = $ret->project($projInObj, $projOutObj); if($status !== MS_SUCCESS){ $ret = $this->mapa->extent; } } - + */ $fr = array(); if (@$l->queryByrect($ret) == MS_SUCCESS){ $res_count = $l->getNumresults(); + $palavra = $this->remove_accents(strtolower($palavra)); for ($i = 0; $i < $res_count; ++$i) { $valitem = array(); if($this->v == 6){ @@ -742,8 +745,10 @@ class Atributos $r = array(); foreach ($items as $item){ $v = trim($shape->values[$item]); + $nv = $this->remove_accents(strtolower($v)); + //echo $v." - ".$nv."
"; if ($tipo == "exata"){ - if ($v == $palavra || (strtr($v,$buscas,$trocas) == strtr($palavra,$buscas,$trocas))) + if ($nv == $palavra) { if($convC == true) { @@ -754,7 +759,7 @@ class Atributos } } else{ - if (strtolower($v) == strtolower($palavra) || (stristr(strtr(strtolower($v),$buscas,$trocas),strtr(strtolower($palavra),$buscas,$trocas)))){ + if (stristr($nv,$palavra)){ if($convC == true){ $v = $this->converte($v); } @@ -765,9 +770,11 @@ class Atributos } if ($encontrado == "sim"){ $ret = $this->extensaoShape($shape,$l); + /* if (($prjTema != "") && ($prjMapa != $prjTema)){ $ret->project($projInObj, $projOutObj); } + */ $novoreg["box"] = $ret; $novoreg["valores"] = $r; $encontrado = "nao"; @@ -776,55 +783,6 @@ class Atributos } $resultado[] = array("tema"=>$tema,"resultado"=>$fr); } - /* - $teste = $l->whichShapes($ret); - if($teste){ - $fr = array(); - while ($shape = $l->nextShape()) - { - $novoreg = array(); - $r = array(); - foreach ($items as $item) - { - $v = trim($shape->values[$item]); - echo $v; - if ($tipo == "exata") - { - if (strtr($v,$buscas,$trocas) == strtr($palavra,$buscas,$trocas)) - { - if($convC == true) - {$v = $this->converte($v);} - $r[] = array("item" => $item,"valor" => $v); - $encontrado = "sim"; - } - } - else - { - - if (stristr(strtr($v,$buscas,$trocas),strtr($palavra,$buscas,$trocas))) - { - if($convC == true) - {$v = $this->converte($v);} - $r[] = array("item" => $item,"valor" => $v); - $encontrado = "sim"; - } - } - } - if ($encontrado == "sim") - { - $ret = $this->extensaoShape($shape,$l); - if (($prjTema != "") && ($prjMapa != $prjTema)) - {$ret->project($projInObj, $projOutObj);} - $novoreg["box"] = $ret; - $novoreg["valores"] = $r; - $encontrado = "nao"; - $fr[] = $novoreg; - } - } - $resultado[] = array("tema"=>$tema,"resultado"=>$fr); - $l->close(); - } - */ } return($resultado); } @@ -2474,5 +2432,146 @@ class Atributos } return $texto; } + function remove_accents($string) { + if (!preg_match('/[\x80-\xff]/', $string)) + return $string; + if ($this->seems_utf8($string)) { + $chars = array( + // Decompositions for Latin-1 Supplement + chr(195).chr(128) => 'A', chr(195).chr(129) => 'A', + chr(195).chr(130) => 'A', chr(195).chr(131) => 'A', + chr(195).chr(132) => 'A', chr(195).chr(133) => 'A', + chr(195).chr(135) => 'C', chr(195).chr(136) => 'E', + chr(195).chr(137) => 'E', chr(195).chr(138) => 'E', + chr(195).chr(139) => 'E', chr(195).chr(140) => 'I', + chr(195).chr(141) => 'I', chr(195).chr(142) => 'I', + chr(195).chr(143) => 'I', chr(195).chr(145) => 'N', + chr(195).chr(146) => 'O', chr(195).chr(147) => 'O', + chr(195).chr(148) => 'O', chr(195).chr(149) => 'O', + chr(195).chr(150) => 'O', chr(195).chr(153) => 'U', + chr(195).chr(154) => 'U', chr(195).chr(155) => 'U', + chr(195).chr(156) => 'U', chr(195).chr(157) => 'Y', + chr(195).chr(159) => 's', chr(195).chr(160) => 'a', + chr(195).chr(161) => 'a', chr(195).chr(162) => 'a', + chr(195).chr(163) => 'a', chr(195).chr(164) => 'a', + chr(195).chr(165) => 'a', chr(195).chr(167) => 'c', + chr(195).chr(168) => 'e', chr(195).chr(169) => 'e', + chr(195).chr(170) => 'e', chr(195).chr(171) => 'e', + chr(195).chr(172) => 'i', chr(195).chr(173) => 'i', + chr(195).chr(174) => 'i', chr(195).chr(175) => 'i', + chr(195).chr(177) => 'n', chr(195).chr(178) => 'o', + chr(195).chr(179) => 'o', chr(195).chr(180) => 'o', + chr(195).chr(181) => 'o', chr(195).chr(182) => 'o', + chr(195).chr(182) => 'o', chr(195).chr(185) => 'u', + chr(195).chr(186) => 'u', chr(195).chr(187) => 'u', + chr(195).chr(188) => 'u', chr(195).chr(189) => 'y', + chr(195).chr(191) => 'y', + // Decompositions for Latin Extended-A + chr(196).chr(128) => 'A', chr(196).chr(129) => 'a', + chr(196).chr(130) => 'A', chr(196).chr(131) => 'a', + chr(196).chr(132) => 'A', chr(196).chr(133) => 'a', + chr(196).chr(134) => 'C', chr(196).chr(135) => 'c', + chr(196).chr(136) => 'C', chr(196).chr(137) => 'c', + chr(196).chr(138) => 'C', chr(196).chr(139) => 'c', + chr(196).chr(140) => 'C', chr(196).chr(141) => 'c', + chr(196).chr(142) => 'D', chr(196).chr(143) => 'd', + chr(196).chr(144) => 'D', chr(196).chr(145) => 'd', + chr(196).chr(146) => 'E', chr(196).chr(147) => 'e', + chr(196).chr(148) => 'E', chr(196).chr(149) => 'e', + chr(196).chr(150) => 'E', chr(196).chr(151) => 'e', + chr(196).chr(152) => 'E', chr(196).chr(153) => 'e', + chr(196).chr(154) => 'E', chr(196).chr(155) => 'e', + chr(196).chr(156) => 'G', chr(196).chr(157) => 'g', + chr(196).chr(158) => 'G', chr(196).chr(159) => 'g', + chr(196).chr(160) => 'G', chr(196).chr(161) => 'g', + chr(196).chr(162) => 'G', chr(196).chr(163) => 'g', + chr(196).chr(164) => 'H', chr(196).chr(165) => 'h', + chr(196).chr(166) => 'H', chr(196).chr(167) => 'h', + chr(196).chr(168) => 'I', chr(196).chr(169) => 'i', + chr(196).chr(170) => 'I', chr(196).chr(171) => 'i', + chr(196).chr(172) => 'I', chr(196).chr(173) => 'i', + chr(196).chr(174) => 'I', chr(196).chr(175) => 'i', + chr(196).chr(176) => 'I', chr(196).chr(177) => 'i', + chr(196).chr(178) => 'IJ',chr(196).chr(179) => 'ij', + chr(196).chr(180) => 'J', chr(196).chr(181) => 'j', + chr(196).chr(182) => 'K', chr(196).chr(183) => 'k', + chr(196).chr(184) => 'k', chr(196).chr(185) => 'L', + chr(196).chr(186) => 'l', chr(196).chr(187) => 'L', + chr(196).chr(188) => 'l', chr(196).chr(189) => 'L', + chr(196).chr(190) => 'l', chr(196).chr(191) => 'L', + chr(197).chr(128) => 'l', chr(197).chr(129) => 'L', + chr(197).chr(130) => 'l', chr(197).chr(131) => 'N', + chr(197).chr(132) => 'n', chr(197).chr(133) => 'N', + chr(197).chr(134) => 'n', chr(197).chr(135) => 'N', + chr(197).chr(136) => 'n', chr(197).chr(137) => 'N', + chr(197).chr(138) => 'n', chr(197).chr(139) => 'N', + chr(197).chr(140) => 'O', chr(197).chr(141) => 'o', + chr(197).chr(142) => 'O', chr(197).chr(143) => 'o', + chr(197).chr(144) => 'O', chr(197).chr(145) => 'o', + chr(197).chr(146) => 'OE',chr(197).chr(147) => 'oe', + chr(197).chr(148) => 'R',chr(197).chr(149) => 'r', + chr(197).chr(150) => 'R',chr(197).chr(151) => 'r', + chr(197).chr(152) => 'R',chr(197).chr(153) => 'r', + chr(197).chr(154) => 'S',chr(197).chr(155) => 's', + chr(197).chr(156) => 'S',chr(197).chr(157) => 's', + chr(197).chr(158) => 'S',chr(197).chr(159) => 's', + chr(197).chr(160) => 'S', chr(197).chr(161) => 's', + chr(197).chr(162) => 'T', chr(197).chr(163) => 't', + chr(197).chr(164) => 'T', chr(197).chr(165) => 't', + chr(197).chr(166) => 'T', chr(197).chr(167) => 't', + chr(197).chr(168) => 'U', chr(197).chr(169) => 'u', + chr(197).chr(170) => 'U', chr(197).chr(171) => 'u', + chr(197).chr(172) => 'U', chr(197).chr(173) => 'u', + chr(197).chr(174) => 'U', chr(197).chr(175) => 'u', + chr(197).chr(176) => 'U', chr(197).chr(177) => 'u', + chr(197).chr(178) => 'U', chr(197).chr(179) => 'u', + chr(197).chr(180) => 'W', chr(197).chr(181) => 'w', + chr(197).chr(182) => 'Y', chr(197).chr(183) => 'y', + chr(197).chr(184) => 'Y', chr(197).chr(185) => 'Z', + chr(197).chr(186) => 'z', chr(197).chr(187) => 'Z', + chr(197).chr(188) => 'z', chr(197).chr(189) => 'Z', + chr(197).chr(190) => 'z', chr(197).chr(191) => 's', + // Euro Sign + chr(226).chr(130).chr(172) => 'E', + // GBP (Pound) Sign + chr(194).chr(163) => ''); + $string = strtr($string, $chars); + } else { + // Assume ISO-8859-1 if not UTF-8 + $chars['in'] = chr(128).chr(131).chr(138).chr(142).chr(154).chr(158) + .chr(159).chr(162).chr(165).chr(181).chr(192).chr(193).chr(194) + .chr(195).chr(196).chr(197).chr(199).chr(200).chr(201).chr(202) + .chr(203).chr(204).chr(205).chr(206).chr(207).chr(209).chr(210) + .chr(211).chr(212).chr(213).chr(214).chr(216).chr(217).chr(218) + .chr(219).chr(220).chr(221).chr(224).chr(225).chr(226).chr(227) + .chr(228).chr(229).chr(231).chr(232).chr(233).chr(234).chr(235) + .chr(236).chr(237).chr(238).chr(239).chr(241).chr(242).chr(243) + .chr(244).chr(245).chr(246).chr(248).chr(249).chr(250).chr(251) + .chr(252).chr(253).chr(255); + $chars['out'] = "EfSZszYcYuAAAAAACEEEEIIIINOOOOOOUUUUYaaaaaaceeeeiiiinoooooouuuuyy"; + $string = strtr($string, $chars['in'], $chars['out']); + $double_chars['in'] = array(chr(140), chr(156), chr(198), chr(208), chr(222), chr(223), chr(230), chr(240), chr(254)); + $double_chars['out'] = array('OE', 'oe', 'AE', 'DH', 'TH', 'ss', 'ae', 'dh', 'th'); + $string = str_replace($double_chars['in'], $double_chars['out'], $string); + } + return $string; + } + function seems_utf8($Str) { # by bmorel at ssi dot fr + $length = strlen($Str); + for ($i = 0; $i < $length; $i++) { + if (ord($Str[$i]) < 0x80) continue; # 0bbbbbbb + elseif ((ord($Str[$i]) & 0xE0) == 0xC0) $n = 1; # 110bbbbb + elseif ((ord($Str[$i]) & 0xF0) == 0xE0) $n = 2; # 1110bbbb + elseif ((ord($Str[$i]) & 0xF8) == 0xF0) $n = 3; # 11110bbb + elseif ((ord($Str[$i]) & 0xFC) == 0xF8) $n = 4; # 111110bb + elseif ((ord($Str[$i]) & 0xFE) == 0xFC) $n = 5; # 1111110b + else return false; # Does not match any model + for ($j = 0; $j < $n; $j++) { # n bytes matching 10bbbbbb follow ? + if ((++$i == $length) || ((ord($Str[$i]) & 0xC0) != 0x80)) + return false; + } + } + return true; + } } ?> \ No newline at end of file diff --git a/temas/teste.map b/temas/teste.map index 99fd57e..3726ae7 100644 --- a/temas/teste.map +++ b/temas/teste.map @@ -2,120 +2,64 @@ MAP FONTSET "../symbols/fontes.txt" SYMBOLSET "../symbols/simbolosv6.sym" LAYER - CONNECTION "sigeo" - CONNECTIONTYPE POSTGIS - DATA "geom from (select * from limites.tindi) as foo using unique gid using srid=4326" + CONNECTION "" + DATA "/var/www/temp/localizador_052015.shp" METADATA - "METAESTAT_ID_MEDIDA_VARIAVEL" "" - "TIP" "terrai_nom" - "cache" "sim" - "ltempoitemimagem" "" - "olopacity" "" - "CLASSE" "SIM" - "ltempoitemdescricao" "" - "palletestep" "" - "ltempoiteminicio" "" - "ltempoitemtip" "" - "gmopacity" "" - "gmstatus" "" - "itensdesc" "código,nome,etnia,município,fase,modalidade" - "description_template" "" - "ltempoitemtitulo" "" - "ltempoitemlink" "" - "METAESTAT_CODIGO_TIPO_REGIAO" "" - "arquivotemaoriginal" "" - "palletefile" "" - "olstatus" "" - "nomeoriginal" "" - "ltempoformatodata" "" - "ltempoitemicone" "" - "metaestat" "" - "itembuscarapida" "" - "CONEXAOORIGINAL" "sigeo" - "itens" "terrai_cod,terrai_nom,etnia_nome,municipio_,fase_ti,modalidade" - "TEMA" "Terras indígenas por fase de regularização" - "convcaracter" "" - "cortepixels" "0" - "editorsql" "" - "ltempoconvencode" "" - "ltempoitemfim" "" + "METAESTAT_ID_MEDIDA_VARIAVEL""" + "ltempoitemimagem""" + "tip""RELATORIO" + "ltempoitemdescricao""" + "CLASSE""SIM" + "ltempoiteminicio""" + "palletestep""" + "ltempoitemtip""" + "temporizador""" + "ltempoitemtitulo""" + "description_template""" + "itensdesc""OBS,PROCESSO,RIP,ORGAO,RELATORIO" + "iconetema""" + "ltempoitemlink""" + "itenslink""[OBS]" + "tiles""" + "METAESTAT_CODIGO_TIPO_REGIAO""" + "palletefile""" + "ltempoformatodata""" + "ltempoitemicone""" + "permitecomentario""SIM" + "PLUGINI3GEO""" + "metaestat""" + "escondido""NAO" + "itembuscarapida""OBS" + "itens""OBS,PROCESSO,RIP,ORGAO,RELATORIO" + "transitioneffect""SIM" + "TEMA""localizador" + "convcaracter""" + "cortepixels""0" + "ltempoconvencode""" + "editorsql""" + "identifica""SIM" + "aplicaextensao""SIM" + "ltempoitemfim""" END # METADATA - NAME "tiregula" - PROCESSING "LABEL_NO_CLIP=True" - PROCESSING "POLYLINE_NO_CLIP=True" - PROCESSING "LABEL_NO_CLIP=True" - PROCESSING "POLYLINE_NO_CLIP=True" + NAME "teste" + PROJECTION + "init=epsg:29194" + END # PROJECTION STATUS DEFAULT TEMPLATE "none.htm" TILEITEM "location" - TYPE POLYGON + TYPE POINT UNITS METERS CLASS - NAME "Declarada" - EXPRESSION ('[fase_ti]'eq'Declarada') + NAME "" STYLE ANGLE 0 - COLOR 198 105 222 + COLOR 166 16 16 OFFSET 0 0 - OUTLINECOLOR 255 255 255 + SIZE 20 + SYMBOL "ponto" END # STYLE - TITLE "" - END # CLASS - CLASS - NAME "Regularizada" - EXPRESSION ('[fase_ti]'eq'Regularizada') - STYLE - ANGLE 0 - COLOR 141 104 56 - OFFSET 0 0 - OUTLINECOLOR 255 255 255 - END # STYLE - TITLE "" - END # CLASS - CLASS - NAME "Encaminhada RI" - EXPRESSION ('[fase_ti]'eq'Encaminhada RI') - STYLE - ANGLE 0 - COLOR 80 222 151 - OFFSET 0 0 - OUTLINECOLOR 255 255 255 - END # STYLE - TITLE "" - END # CLASS - CLASS - NAME "Homologada" - EXPRESSION ('[fase_ti]'eq'Homologada') - STYLE - ANGLE 0 - COLOR 56 127 51 - OFFSET 0 0 - OUTLINECOLOR 255 255 255 - END # STYLE - TITLE "" - END # CLASS - CLASS - NAME "Delimitada" - EXPRESSION ('[fase_ti]'eq'Delimitada') - STYLE - ANGLE 0 - COLOR 154 239 245 - OFFSET 0 0 - OUTLINECOLOR 255 255 255 - END # STYLE - TITLE "" - END # CLASS - CLASS - NAME "Em Estudo" - EXPRESSION ('[fase_ti]'eq'Em Estudo') - STYLE - ANGLE 0 - COLOR 232 157 44 - OFFSET 0 0 - OUTLINECOLOR 255 255 255 - END # STYLE - TITLE "" END # CLASS END # LAYER -END # MAP +END # MAP \ No newline at end of file -- libgit2 0.21.2