Commit 80991dbd3e8a34e9a8978088f9e3a6cff9e1494a
1 parent
ba84fc02
Exists in
master
Opção de cluster na ferramenta Legenda
Showing
5 changed files
with
90 additions
and
23 deletions
Show diff stats
classesphp/classe_alteraclasse.php
| ... | ... | @@ -148,8 +148,7 @@ class Alteraclasse |
| 148 | 148 | return "erro"; |
| 149 | 149 | } |
| 150 | 150 | $numclasses = $this->layer->numclasses; |
| 151 | - if ($numclasses > 0) | |
| 152 | - { | |
| 151 | + if ($numclasses > 0){ | |
| 153 | 152 | //elimina a expressão da primeira classe |
| 154 | 153 | $classe0 = $this->layer->getClass(0); |
| 155 | 154 | //echo "<pre>";var_dump($classe0);exit; |
| ... | ... | @@ -162,6 +161,16 @@ class Alteraclasse |
| 162 | 161 | $classe->set("status",MS_DELETE); |
| 163 | 162 | } |
| 164 | 163 | } |
| 164 | + else{ | |
| 165 | + $classe = ms_newClassObj($this->layer); | |
| 166 | + $novoestilo = ms_newStyleObj($classe); | |
| 167 | + if ($this->layer->type == 0){ | |
| 168 | + $novoestilo->set("symbolname","ponto"); | |
| 169 | + $novoestilo->set("size","6"); | |
| 170 | + } | |
| 171 | + $cor = $novoestilo->color; | |
| 172 | + $cor->setRGB(255,100,100); | |
| 173 | + } | |
| 165 | 174 | $this->layer->setMetaData("cache",""); |
| 166 | 175 | return("ok"); |
| 167 | 176 | } |
| ... | ... | @@ -195,6 +204,7 @@ class Alteraclasse |
| 195 | 204 | $ids = explode(";",$ids); |
| 196 | 205 | $minScales = explode(";",$minScales); |
| 197 | 206 | $maxScales = explode(";",$maxScales); |
| 207 | + | |
| 198 | 208 | $nomes = $this->converteTexto($nomes); |
| 199 | 209 | $nomes = explode(";",$nomes); |
| 200 | 210 | //$exps = mb_convert_encoding($exps,"ISO-8859-1","UTF-8"); |
| ... | ... | @@ -210,12 +220,13 @@ class Alteraclasse |
| 210 | 220 | //elimina as classes existentes atualmente em cada layer |
| 211 | 221 | foreach ($t as $tema){ |
| 212 | 222 | $layer = $this->mapa->getlayerbyname($tema); |
| 213 | - $layer->setMetaData("cache",""); | |
| 223 | + $layer->setmetadata("cache",""); | |
| 214 | 224 | $nc = $layer->numclasses; |
| 215 | - for($i=0;$i < $nc;++$i) | |
| 216 | - { | |
| 217 | - $class = $layer->getclass($i); | |
| 218 | - $class->set("status",MS_DELETE); | |
| 225 | + if($nc > 0){ | |
| 226 | + for($i=0;$i < $nc;++$i){ | |
| 227 | + $class = $layer->getclass($i); | |
| 228 | + $class->set("status",MS_DELETE); | |
| 229 | + } | |
| 219 | 230 | } |
| 220 | 231 | } |
| 221 | 232 | //acrescenta as classes definidas | ... | ... |
classesphp/classe_legenda.php
| ... | ... | @@ -749,7 +749,12 @@ class Legenda |
| 749 | 749 | $linha[] = corRGB($estilo->backgroundcolor); |
| 750 | 750 | $linha[] = corRGB($estilo->color); |
| 751 | 751 | $linha[] = $estilo->symbolname; |
| 752 | - $linha[] = $estilo->size; | |
| 752 | + if($estilo->getbinding(MS_STYLE_BINDING_SIZE)){ | |
| 753 | + $linha[] = $estilo->getbinding(MS_STYLE_BINDING_SIZE); | |
| 754 | + } | |
| 755 | + else{ | |
| 756 | + $linha[] = $estilo->size; | |
| 757 | + } | |
| 753 | 758 | $linha[] = $estilo->opacity; |
| 754 | 759 | if($this->v >= 6){ |
| 755 | 760 | $linha[] = $estilo->width; |
| ... | ... | @@ -842,7 +847,13 @@ class Legenda |
| 842 | 847 | } |
| 843 | 848 | if ((isset ($size)) && ($size != "-1")) |
| 844 | 849 | { |
| 845 | - $estilo->set("size",$size); | |
| 850 | + if(is_numeric($size)){ | |
| 851 | + $estilo->removebinding(MS_STYLE_BINDING_SIZE); | |
| 852 | + $estilo->set("size",$size); | |
| 853 | + } | |
| 854 | + else{ | |
| 855 | + $estilo->setbinding(MS_STYLE_BINDING_SIZE, $size); | |
| 856 | + } | |
| 846 | 857 | } |
| 847 | 858 | if ((isset ($width)) && ($width != "-1") && ($this->v >= 6)) |
| 848 | 859 | { |
| ... | ... | @@ -1096,13 +1107,19 @@ class Legenda |
| 1096 | 1107 | $cor->setRGB($nc[0],$nc[1],$nc[2]); |
| 1097 | 1108 | continue; |
| 1098 | 1109 | case "color": |
| 1099 | - $cor = $estilo->color; | |
| 1100 | - $nc = explode(",",$valor); | |
| 1101 | - $cor->setRGB($nc[0],$nc[1],$nc[2]); | |
| 1110 | + $cor = $estilo->color; | |
| 1111 | + $nc = explode(",",$valor); | |
| 1112 | + $cor->setRGB($nc[0],$nc[1],$nc[2]); | |
| 1102 | 1113 | continue; |
| 1103 | 1114 | case "size": |
| 1104 | - $estilo->set("size",$valor); | |
| 1105 | - break; | |
| 1115 | + if(is_numeric($valor)){ | |
| 1116 | + $estilo->removebinding(MS_STYLE_BINDING_SIZE); | |
| 1117 | + $estilo->set("size",$valor); | |
| 1118 | + } | |
| 1119 | + else{ | |
| 1120 | + $estilo->setbinding(MS_STYLE_BINDING_SIZE, $valor); | |
| 1121 | + } | |
| 1122 | + continue; | |
| 1106 | 1123 | case "width": |
| 1107 | 1124 | $estilo->set("width",$valor); |
| 1108 | 1125 | continue; | ... | ... |
classesphp/classe_temas.php
| ... | ... | @@ -1312,7 +1312,24 @@ Adiciona LABEL em uma classe de um tema |
| 1312 | 1312 | $cluster->updateFromString("CLUSTER $par END"); |
| 1313 | 1313 | $this->layer->setMetaData("cache",""); |
| 1314 | 1314 | $this->layer->setMetadata("tiles","NAO"); |
| 1315 | - $this->layer->setMetadata("cortepixels",0); | |
| 1315 | + $this->layer->setMetadata("cortepixels",0); | |
| 1316 | + //apaga as classes pois nao fazem mais sentido | |
| 1317 | + if($group == ""){ | |
| 1318 | + $numclasses = $this->layer->numclasses; | |
| 1319 | + if ($numclasses > 0){ | |
| 1320 | + for ($i=0; $i < $numclasses; ++$i) | |
| 1321 | + { | |
| 1322 | + $classe = $this->layer->getClass($i); | |
| 1323 | + $classe->set("status",MS_DELETE); | |
| 1324 | + } | |
| 1325 | + } | |
| 1326 | + $classe = ms_newClassObj($this->layer); | |
| 1327 | + $novoestilo = ms_newStyleObj($classe); | |
| 1328 | + $novoestilo->set("size",6); | |
| 1329 | + $novoestilo->set("symbolname","ponto"); | |
| 1330 | + $cor = $novoestilo->color; | |
| 1331 | + $cor->setRGB(255,100,100); | |
| 1332 | + } | |
| 1316 | 1333 | } |
| 1317 | 1334 | function removeCluster(){ |
| 1318 | 1335 | $cluster = $this->layer->cluster; |
| ... | ... | @@ -1320,6 +1337,18 @@ Adiciona LABEL em uma classe de um tema |
| 1320 | 1337 | $this->layer->setMetaData("cache",""); |
| 1321 | 1338 | $this->layer->setMetadata("tiles","NAO"); |
| 1322 | 1339 | $this->layer->setMetadata("cortepixels",0); |
| 1340 | + $numclasses = $this->layer->numclasses; | |
| 1341 | + if ($numclasses > 0){ | |
| 1342 | + for ($i=0; $i < $numclasses; ++$i) | |
| 1343 | + { | |
| 1344 | + $classe = $this->layer->getClass($i); | |
| 1345 | + $numestilos = $classe->numstyles; | |
| 1346 | + for($j=0;$j<$numestilos;++$j){ | |
| 1347 | + $estilo = $classe->getstyle($j); | |
| 1348 | + $estilo->removebinding(MS_STYLE_BINDING_SIZE); | |
| 1349 | + } | |
| 1350 | + } | |
| 1351 | + } | |
| 1323 | 1352 | } |
| 1324 | 1353 | } |
| 1325 | 1354 | ?> | ... | ... |
ferramentas/legenda/index.js
| ... | ... | @@ -1826,6 +1826,7 @@ i3GEOF.legenda = |
| 1826 | 1826 | + linha[6] |
| 1827 | 1827 | + "' id='i3GEOlegendasizes' />" |
| 1828 | 1828 | + "</form></div>" |
| 1829 | + + "<div class='styled-select' id='i3GEOlegendaComboSize'></div>" | |
| 1829 | 1830 | |
| 1830 | 1831 | + "<br><img style='float:left;' onclick='i3GEOF.legenda.aplicaTodasClasses(\"width\",\"i3GEOlegendawidth\")' title='" |
| 1831 | 1832 | + $trad('aplicatodos', i3GEOF.legenda.dicionario) |
| ... | ... | @@ -1974,6 +1975,13 @@ i3GEOF.legenda = |
| 1974 | 1975 | + "</form></div>"; |
| 1975 | 1976 | |
| 1976 | 1977 | $i("i3GEOlegendaParametrosEstilos").innerHTML = d; |
| 1978 | + //preenche as listas de itens | |
| 1979 | + i3GEO.util.comboItens("", i3GEOF.legenda.tema, function(retorno) { | |
| 1980 | + if ($i("i3GEOlegendaComboSize")) { | |
| 1981 | + $i("i3GEOlegendaComboSize").innerHTML = retorno.dados.replace("id=''"," onchange='$i(\"i3GEOlegendasizes\").value = this.value'"); | |
| 1982 | + } | |
| 1983 | + }); | |
| 1984 | + | |
| 1977 | 1985 | i3GEO.util.aplicaAquarela("i3GEOlegendaParametrosEstilos"); |
| 1978 | 1986 | p = |
| 1979 | 1987 | i3GEO.configura.locaplic + "/classesphp/mapa_controle.php?g_sid=" | ... | ... |
ferramentas/saiku/instal.txt
| ... | ... | @@ -27,7 +27,7 @@ Utilize uma das opções abaixo para instalar o servidor saiku-server |
| 27 | 27 | |
| 28 | 28 | - Faça o download do SAIKU Server no endereço: http://meteorite.bi/saiku/download |
| 29 | 29 | |
| 30 | - - Descompacte os arquivos em uma pasta em seu servidor, podendo ser a mesma pasta onde se encontra a pasta i3geo (no Linux /var/www por exemplo) | |
| 30 | + - Descompacte os arquivos em uma pasta em seu servidor (no Linux /var por exemplo) | |
| 31 | 31 | |
| 32 | 32 | - Edite o arquivo saiku-server/tomcat/conf/server.xml para definir a porta utilizada pelo SAIKU |
| 33 | 33 | |
| ... | ... | @@ -44,7 +44,7 @@ Utilize uma das opções abaixo para instalar o servidor saiku-server |
| 44 | 44 | |
| 45 | 45 | Para que o SAIKU veja essa pasta é necessário editar o arquivo |
| 46 | 46 | |
| 47 | - /var/www/saiku-server/tomcat/webapps/saiku/WEB-INF/saiku-beans.xml | |
| 47 | + saiku-server/tomcat/webapps/saiku/WEB-INF/saiku-beans.xml | |
| 48 | 48 | |
| 49 | 49 | Procure pela linha: |
| 50 | 50 | |
| ... | ... | @@ -59,12 +59,14 @@ Utilize uma das opções abaixo para instalar o servidor saiku-server |
| 59 | 59 | Alguns dos códigos do SAIKU originais foram alterados. As alterações estão na pasta i3geo/ferramentas/saiku/saiku-server |
| 60 | 60 | O conteúdo dessa pasta deve ser copiado para a pasta onde o saiku for instalado (saiku-server) |
| 61 | 61 | |
| 62 | -2) Download via SVN do saiku-server com as alterações já realizadas | |
| 63 | - | |
| 64 | - Digite no terminal do sistema operacional: | |
| 65 | - | |
| 66 | - svn checkout http://svn.softwarepublico.gov.br/svn/i3geo/subgrupos/i3geosaude/saiku-server /var/www/saiku-server | |
| 62 | +2) Download via Git do saiku-server com as alterações já realizadas | |
| 67 | 63 | |
| 64 | + Veja as orientações sobre uso do Git e sobre como obter o código do i3geo. A obtenção do código do saiku-server segue a mesma lógica, no entanto você deve usar como exemplo os comandos abaixo: | |
| 65 | + | |
| 66 | + mkdir /var/saiku-server | |
| 67 | + cd /var/saiku-server | |
| 68 | + git -c http.sslVerify=false clone http://softwarepublico.gov.br/gitlab/i3geo/saiku-server.git . | |
| 69 | + chmod -R 766 /var/www/saiku-server | |
| 68 | 70 | |
| 69 | 71 | Após a obtenção dos arquivos, inicialize o servidor |
| 70 | 72 | |
| ... | ... | @@ -97,7 +99,7 @@ Banco de dados |
| 97 | 99 | |
| 98 | 100 | Essa tabela pode ser obtida fazendo-se o RESTORE do banco de dados default. Para obter o arquivo de backup utilize: |
| 99 | 101 | |
| 100 | - http://devel.gvsig.org/svn/i3geo/subgrupos/i3geosaude/databasei3geosaude.backup | |
| 102 | + https://softwarepublico.gov.br/gitlab/i3geo/i3geosaude/blob/master/databasei3geosaude.backup | |
| 101 | 103 | |
| 102 | 104 | Por padrão, esse banco de ve ser restaurado em um DATABASE chamado "i3geosaude" com usuário "postgres" e senha "postgres" |
| 103 | 105 | ... | ... |