Commit a0838314effbfef2ba2b41a8797f2bb12d932923
1 parent
ca6d0e72
Exists in
master
and in
7 other branches
#260
Showing
4 changed files
with
61 additions
and
39 deletions
Show diff stats
admin/js/editormapfile.js
| @@ -502,11 +502,15 @@ function classesAuto(codigoMap,codigoLayer) | @@ -502,11 +502,15 @@ function classesAuto(codigoMap,codigoLayer) | ||
| 502 | function on_editorCheckBoxChange(p_oEvent) | 502 | function on_editorCheckBoxChange(p_oEvent) |
| 503 | { | 503 | { |
| 504 | var ins = ""; | 504 | var ins = ""; |
| 505 | - if(p_oEvent.newValue.get("value") == "OK" && document.getElementById("itens").value != "") | 505 | + var itemExpressao = document.getElementById("itemExpressao").value; |
| 506 | + var itemNome = document.getElementById("itemNome").value; | ||
| 507 | + if(itemNome == "") | ||
| 508 | + {itemNome = itemExpressao;} | ||
| 509 | + if(p_oEvent.newValue.get("value") == "OK" && itemExpressao != "") | ||
| 506 | { | 510 | { |
| 507 | core_carregando("ativa"); | 511 | core_carregando("ativa"); |
| 508 | core_carregando(" gerando as classes"); | 512 | core_carregando(" gerando as classes"); |
| 509 | - var sUrl = "../php/editormapfile.php?funcao=autoClassesLayer&codigoMap="+codigoMap+"&codigoLayer="+codigoLayer+"&item="+document.getElementById("itens").value; | 513 | + var sUrl = "../php/editormapfile.php?funcao=autoClassesLayer&codigoMap="+codigoMap+"&codigoLayer="+codigoLayer+"&itemExpressao="+itemExpressao+"&itemNome="+itemNome; |
| 510 | var callback2 = | 514 | var callback2 = |
| 511 | { | 515 | { |
| 512 | success:function(o) | 516 | success:function(o) |
| @@ -520,6 +524,8 @@ function classesAuto(codigoMap,codigoLayer) | @@ -520,6 +524,8 @@ function classesAuto(codigoMap,codigoLayer) | ||
| 520 | var no = tree.getNodeByProperty("id",codigoMap+"_"+codigoLayer) | 524 | var no = tree.getNodeByProperty("id",codigoMap+"_"+codigoLayer) |
| 521 | montaParametrosTemas(no,dados) | 525 | montaParametrosTemas(no,dados) |
| 522 | core_carregando("desativa"); | 526 | core_carregando("desativa"); |
| 527 | + YAHOO.example.container.panelEditorAutoClasses.destroy(); | ||
| 528 | + YAHOO.example.container.panelEditorAutoClasses = null; | ||
| 523 | } | 529 | } |
| 524 | catch(e){core_handleFailure(o,o.responseText);core_carregando("desativa");} | 530 | catch(e){core_handleFailure(o,o.responseText);core_carregando("desativa");} |
| 525 | }, | 531 | }, |
| @@ -558,9 +564,14 @@ function classesAuto(codigoMap,codigoLayer) | @@ -558,9 +564,14 @@ function classesAuto(codigoMap,codigoLayer) | ||
| 558 | { | 564 | { |
| 559 | try | 565 | try |
| 560 | { | 566 | { |
| 561 | - ins = "<p>Itens encontrados na tabela de atributos do layer. Escolha um deles para ser utilizado na expressão de seleção de cada classe</p>" | ||
| 562 | - ins += "<select id='itens' >" | ||
| 563 | - ins += core_comboObjeto(YAHOO.lang.JSON.parse(o.responseText).itens,"","",""); | 567 | + var itens = core_comboObjeto(YAHOO.lang.JSON.parse(o.responseText).itens,"","",""); |
| 568 | + ins = "<p>Item da tabela de atributos que será utilizado para compor a expressão de seleção de cada classe</p>" | ||
| 569 | + ins += "<select id='itemExpressao' >" | ||
| 570 | + ins += itens | ||
| 571 | + ins += "</select></p>" | ||
| 572 | + ins += "<p>Item da tabela de atributos que será utilizado para compor o nome de cada classe</p>" | ||
| 573 | + ins += "<select id='itemNome' >" | ||
| 574 | + ins += itens | ||
| 564 | ins += "</select></p>" | 575 | ins += "</select></p>" |
| 565 | $i("editor_bd").innerHTML = ins; | 576 | $i("editor_bd").innerHTML = ins; |
| 566 | core_carregando("desativa"); | 577 | core_carregando("desativa"); |
admin/php/editormapfile.php
| @@ -312,7 +312,7 @@ function criarNovoLayer() | @@ -312,7 +312,7 @@ function criarNovoLayer() | ||
| 312 | } | 312 | } |
| 313 | function autoClassesLayer() | 313 | function autoClassesLayer() |
| 314 | { | 314 | { |
| 315 | - global $codigoMap,$codigoLayer,$item,$locaplic,$dir_tmp; | 315 | + global $codigoMap,$codigoLayer,$itemExpressao,$itemNome,$locaplic,$dir_tmp; |
| 316 | $mapfile = $locaplic."/temas/".$codigoMap.".map"; | 316 | $mapfile = $locaplic."/temas/".$codigoMap.".map"; |
| 317 | include_once("../../classesphp/classe_alteraclasse.php"); | 317 | include_once("../../classesphp/classe_alteraclasse.php"); |
| 318 | error_reporting(0); | 318 | error_reporting(0); |
| @@ -337,7 +337,7 @@ function autoClassesLayer() | @@ -337,7 +337,7 @@ function autoClassesLayer() | ||
| 337 | } | 337 | } |
| 338 | $mapageral->save($nometemp); | 338 | $mapageral->save($nometemp); |
| 339 | $m = new Alteraclasse($nometemp,$codigoLayer); | 339 | $m = new Alteraclasse($nometemp,$codigoLayer); |
| 340 | - $m->valorunico($item,""); | 340 | + $m->valorunico($itemExpressao,"",$itemNome); |
| 341 | $m->salva(); | 341 | $m->salva(); |
| 342 | $mapatemp = ms_newMapObj($nometemp); | 342 | $mapatemp = ms_newMapObj($nometemp); |
| 343 | $mapatemp->save($mapfile); | 343 | $mapatemp->save($mapfile); |
classesphp/classe_alteraclasse.php
| @@ -317,18 +317,35 @@ Parametros: | @@ -317,18 +317,35 @@ Parametros: | ||
| 317 | $item - Item da tabela de atributos utilizado para gerar as classes. | 317 | $item - Item da tabela de atributos utilizado para gerar as classes. |
| 318 | 318 | ||
| 319 | $ignorar - valor que será ignorado na listagem final | 319 | $ignorar - valor que será ignorado na listagem final |
| 320 | + | ||
| 321 | +$itemNome - item que será usado para definir os nomes das classes (por default será igual a $item) | ||
| 320 | */ | 322 | */ |
| 321 | - function valorunico($item,$ignorar) | 323 | + function valorunico($item,$ignorar,$itemNome="") |
| 322 | { | 324 | { |
| 323 | if(!$this->layer){return "erro";} | 325 | if(!$this->layer){return "erro";} |
| 326 | + if($itemNome == "" || $ignorar != "") | ||
| 327 | + {$itemNome = $item;} | ||
| 324 | // pega valores | 328 | // pega valores |
| 325 | - $valoresu = array_unique(pegaValores($this->mapa,$this->layer,$item,false,$ignorar)); | 329 | + $vs = pegaValores($this->mapa,$this->layer,$item,false,$ignorar); |
| 330 | + if ($item == $itemNome) | ||
| 331 | + {$ns = $vs;} | ||
| 332 | + else | ||
| 333 | + {$ns = pegaValores($this->mapa,$this->layer,$itemNome,false,$ignorar);} | ||
| 334 | + $lista = array(); | ||
| 335 | + for ($i = 0; $i < count($vs); ++$i){ | ||
| 336 | + $temp[$vs[$i]] = $ns[$i]; | ||
| 337 | + } | ||
| 338 | + $valores = array_keys($temp); | ||
| 339 | + $nomes = array(); | ||
| 340 | + foreach($temp as $t) | ||
| 341 | + {$nomes[] = $t;} | ||
| 342 | + //$valoresu = array_unique($v); | ||
| 326 | // processa array com os valores | 343 | // processa array com os valores |
| 327 | - rsort($valoresu); | ||
| 328 | - reset($valoresu); | 344 | + //rsort($valoresu); |
| 345 | + //reset($valoresu); | ||
| 329 | $nclassexist = $this->layer->numclasses; | 346 | $nclassexist = $this->layer->numclasses; |
| 330 | - if ($nclassexist > count($valoresu)) | ||
| 331 | - {$nclassexist = count($valoresu);} | 347 | + if ($nclassexist > count($valores)) |
| 348 | + {$nclassexist = count($valores);} | ||
| 332 | if($nclassexist == 0) | 349 | if($nclassexist == 0) |
| 333 | { | 350 | { |
| 334 | $temp = ms_newClassObj($this->layer); | 351 | $temp = ms_newClassObj($this->layer); |
| @@ -345,7 +362,7 @@ $ignorar - valor que será ignorado na listagem final | @@ -345,7 +362,7 @@ $ignorar - valor que será ignorado na listagem final | ||
| 345 | $cl = $this->layer->getClass($i); | 362 | $cl = $this->layer->getClass($i); |
| 346 | $cl->set("status",MS_DELETE); | 363 | $cl->set("status",MS_DELETE); |
| 347 | } | 364 | } |
| 348 | - $c = count($valoresu); | 365 | + $c = count($valores); |
| 349 | for ($i = 0; $i < $c; ++$i) | 366 | for ($i = 0; $i < $c; ++$i) |
| 350 | { | 367 | { |
| 351 | $classes[$i] = ms_newClassObj($this->layer); | 368 | $classes[$i] = ms_newClassObj($this->layer); |
| @@ -353,10 +370,10 @@ $ignorar - valor que será ignorado na listagem final | @@ -353,10 +370,10 @@ $ignorar - valor que será ignorado na listagem final | ||
| 353 | } | 370 | } |
| 354 | for ($i = 0; $i < $c; ++$i) | 371 | for ($i = 0; $i < $c; ++$i) |
| 355 | { | 372 | { |
| 356 | - $e = "('[".$item."]'eq'".$valoresu[$i]."')"; | 373 | + $e = "('[".$item."]'eq'".$valores[$i]."')"; |
| 357 | $ca = $classes[$i]; | 374 | $ca = $classes[$i]; |
| 358 | $ca->setexpression($e); | 375 | $ca->setexpression($e); |
| 359 | - $ca->set("name",$valoresu[$i]); | 376 | + $ca->set("name",$nomes[$i]); |
| 360 | $estilo = $classes[$i]->getStyle(0); | 377 | $estilo = $classes[$i]->getStyle(0); |
| 361 | $ncor = $estilo->color; | 378 | $ncor = $estilo->color; |
| 362 | $ncor->setrgb((mt_rand(0,255)),(mt_rand(0,255)),(mt_rand(0,255))); | 379 | $ncor->setrgb((mt_rand(0,255)),(mt_rand(0,255)),(mt_rand(0,255))); |
temas/biomashp.map
| @@ -18,70 +18,64 @@ MAP | @@ -18,70 +18,64 @@ MAP | ||
| 18 | TYPE POLYGON | 18 | TYPE POLYGON |
| 19 | UNITS METERS | 19 | UNITS METERS |
| 20 | CLASS | 20 | CLASS |
| 21 | - NAME "PANTANAL" | ||
| 22 | - EXPRESSION ('[CD_LEGENDA]'eq'PANTANAL') | 21 | + NAME "CAATINGA" |
| 22 | + EXPRESSION ('[ID]'eq'2.00') | ||
| 23 | STYLE | 23 | STYLE |
| 24 | ANGLE 360 | 24 | ANGLE 360 |
| 25 | - COLOR 104 27 127 | 25 | + COLOR 24 214 111 |
| 26 | OPACITY 100 | 26 | OPACITY 100 |
| 27 | SYMBOL 0 | 27 | SYMBOL 0 |
| 28 | END | 28 | END |
| 29 | - TITLE "Isto é um teste de inclusão de um texto descritivo para cada classe da legenda." | ||
| 30 | END | 29 | END |
| 31 | CLASS | 30 | CLASS |
| 32 | NAME "PAMPA" | 31 | NAME "PAMPA" |
| 33 | - EXPRESSION ('[CD_LEGENDA]'eq'PAMPA') | 32 | + EXPRESSION ('[ID]'eq'5.00') |
| 34 | STYLE | 33 | STYLE |
| 35 | ANGLE 360 | 34 | ANGLE 360 |
| 36 | - COLOR 183 42 6 | 35 | + COLOR 208 90 180 |
| 37 | OPACITY 100 | 36 | OPACITY 100 |
| 38 | SYMBOL 0 | 37 | SYMBOL 0 |
| 39 | END | 38 | END |
| 40 | - TITLE "" | ||
| 41 | END | 39 | END |
| 42 | CLASS | 40 | CLASS |
| 43 | - NAME "MATA ATLANTICA" | ||
| 44 | - EXPRESSION ('[CD_LEGENDA]'eq'MATA ATLANTICA') | 41 | + NAME "CERRADO" |
| 42 | + EXPRESSION ('[ID]'eq'3.00') | ||
| 45 | STYLE | 43 | STYLE |
| 46 | ANGLE 360 | 44 | ANGLE 360 |
| 47 | - COLOR 73 42 248 | 45 | + COLOR 165 220 169 |
| 48 | OPACITY 100 | 46 | OPACITY 100 |
| 49 | SYMBOL 0 | 47 | SYMBOL 0 |
| 50 | END | 48 | END |
| 51 | - TITLE "Isto é um teste de inclusão de um texto descritivo para cada classe da legenda" | ||
| 52 | END | 49 | END |
| 53 | CLASS | 50 | CLASS |
| 54 | - NAME "CERRADO" | ||
| 55 | - EXPRESSION ('[CD_LEGENDA]'eq'CERRADO') | 51 | + NAME "PANTANAL" |
| 52 | + EXPRESSION ('[ID]'eq'6.00') | ||
| 56 | STYLE | 53 | STYLE |
| 57 | ANGLE 360 | 54 | ANGLE 360 |
| 58 | - COLOR 239 98 76 | 55 | + COLOR 182 86 205 |
| 59 | OPACITY 100 | 56 | OPACITY 100 |
| 60 | SYMBOL 0 | 57 | SYMBOL 0 |
| 61 | END | 58 | END |
| 62 | - TITLE "Isto é um teste de inclusão de um texto descritivo para cada classe da legenda" | ||
| 63 | END | 59 | END |
| 64 | CLASS | 60 | CLASS |
| 65 | - NAME "CAATINGA" | ||
| 66 | - EXPRESSION ('[CD_LEGENDA]'eq'CAATINGA') | 61 | + NAME "AMAZONIA" |
| 62 | + EXPRESSION ('[ID]'eq'1.00') | ||
| 67 | STYLE | 63 | STYLE |
| 68 | ANGLE 360 | 64 | ANGLE 360 |
| 69 | - COLOR 107 213 213 | 65 | + COLOR 98 126 232 |
| 70 | OPACITY 100 | 66 | OPACITY 100 |
| 71 | SYMBOL 0 | 67 | SYMBOL 0 |
| 72 | END | 68 | END |
| 73 | - TITLE "Isto é um teste de inclusão de um texto descritivo para cada classe da legenda" | ||
| 74 | END | 69 | END |
| 75 | CLASS | 70 | CLASS |
| 76 | - NAME "AMAZONIA" | ||
| 77 | - EXPRESSION ('[CD_LEGENDA]'eq'AMAZONIA') | 71 | + NAME "MATA ATLANTICA" |
| 72 | + EXPRESSION ('[ID]'eq'4.00') | ||
| 78 | STYLE | 73 | STYLE |
| 79 | ANGLE 360 | 74 | ANGLE 360 |
| 80 | - COLOR 233 166 160 | 75 | + COLOR 94 171 18 |
| 81 | OPACITY 100 | 76 | OPACITY 100 |
| 82 | SYMBOL 0 | 77 | SYMBOL 0 |
| 83 | END | 78 | END |
| 84 | - TITLE "Isto é um teste de inclusão de um texto descritivo para cada classe da legenda" | ||
| 85 | END | 79 | END |
| 86 | END | 80 | END |
| 87 | 81 |