From a0d12249cfa6dfa6b8753bbb8251c26392468011 Mon Sep 17 00:00:00 2001 From: Edmar Moretti Date: Tue, 11 Sep 2007 20:02:24 +0000 Subject: [PATCH] Na ferramenta de edição da legenda de um tema, foi incluída opção para excluir um determinado valor no cálculo das classes --- classesphp/classe_alteraclasse.php | 20 ++++++++++++++------ classesphp/funcoes_gerais.php | 24 +++++++++++++++++++++--- classesphp/mapa_controle.php | 6 +++--- ferramentas/legenda/index.htm | 5 ++++- ferramentas/legenda/index.js | 6 +++--- 5 files changed, 45 insertions(+), 16 deletions(-) diff --git a/classesphp/classe_alteraclasse.php b/classesphp/classe_alteraclasse.php index 3477d7e..0d02b9e 100644 --- a/classesphp/classe_alteraclasse.php +++ b/classesphp/classe_alteraclasse.php @@ -178,10 +178,12 @@ parameters: $item - item da tabela de atributos $nclasses - número de classes + +$ignorar - valor que será ignorado na listagem final */ - function intervalosiguais($item,$nclasses) + function intervalosiguais($item,$nclasses,$ignorar) { - $valores = pegaValores($this->mapa,$this->layer,$item,true); + $valores = pegaValores($this->mapa,$this->layer,$item,true,$ignorar); if (count($valores) > 0) { //calcula o menor valor e o maior valor @@ -231,14 +233,17 @@ function: quartis Cria classes em um objeto layer com intervalos em quartis baseando-se em um item numérico na tabela de atributos com um número de classes fixos. parameters: + $item - Item da tabela de atributos utilizado para gerar as classes. +$ignorar - valor que será ignorado na listagem final + Include: */ - function quartis($item) + function quartis($item,$ignorar) { - $valores = pegaValores($this->mapa,$this->layer,$item,true); + $valores = pegaValores($this->mapa,$this->layer,$item,true,$ignorar); if (count($valores) > 0) { require_once("classe_estatistica.php"); @@ -286,12 +291,15 @@ Cria classes em um objeto layer baseando-se em um item na tabela de atributos. Para cada ocorrência de um valor é acrescentada uma classe. parameters: + $item - Item da tabela de atributos utilizado para gerar as classes. + +$ignorar - valor que será ignorado na listagem final */ - function valorunico($item) + function valorunico($item,$ignorar) { // pega valores - $valoresu = array_unique(pegaValores($this->mapa,$this->layer,$item)); + $valoresu = array_unique(pegaValores($this->mapa,$this->layer,$item,false,$ignorar)); // processa array com os valores rsort($valoresu); reset($valoresu); diff --git a/classesphp/funcoes_gerais.php b/classesphp/funcoes_gerais.php index 14aad30..5e7553f 100644 --- a/classesphp/funcoes_gerais.php +++ b/classesphp/funcoes_gerais.php @@ -789,8 +789,10 @@ $layer - Layer que será processado. $item - Item que será processado. $numerico - O item e numerico (true ou false). + +$ignorar - valor que será ignorado na listagem final */ -function pegaValores($mapa,$layer,$item,$numerico=false) +function pegaValores($mapa,$layer,$item,$numerico=false,$ignorar="") { $layer->set("template","none.htm"); $layer->setfilter(""); @@ -808,10 +810,26 @@ function pegaValores($mapa,$layer,$item,$numerico=false) if ($numerico) { if (is_numeric($v)) - {$valitem[] = $v;} + { + if ($ignorar == "") + {$valitem[] = $v;} + else + { + if ($v != $ignorar) + {$valitem[] = $v;} + } + } } else - {$valitem[] = $v;} + { + if ($ignorar == "") + {$valitem[] = $v;} + else + { + if ($v != $ignorar) + {$valitem[] = $v;} + } + } } $fechou = $layer->close(); } diff --git a/classesphp/mapa_controle.php b/classesphp/mapa_controle.php index 874d986..20f1b54 100644 --- a/classesphp/mapa_controle.php +++ b/classesphp/mapa_controle.php @@ -797,11 +797,11 @@ Include: if ($opcao == "adicionaclasse") {$cp->set_data($m->adicionaclasse());} if ($opcao == "valorunico") - {$cp->set_data($m->valorunico($item));} + {$cp->set_data($m->valorunico($item,$ignorar));} if ($opcao == "intervalosiguais") - {$cp->set_data($m->intervalosiguais($item,$nclasses));} + {$cp->set_data($m->intervalosiguais($item,$nclasses,$ignorar));} if ($opcao == "quartis") - {$cp->set_data($m->quartis($item));} + {$cp->set_data($m->quartis($item,$ignorar));} if ($opcao == "alteraclasses") { //esta operação é chamada com POST via cpaint diff --git a/ferramentas/legenda/index.htm b/ferramentas/legenda/index.htm index d78a804..b7722be 100644 --- a/ferramentas/legenda/index.htm +++ b/ferramentas/legenda/index.htm @@ -46,7 +46,10 @@

Atenção: para a montagem das classes são considerados apenas os elementos visíveis na extensão atual do mapa -
+
+
+ Ao gerar as classes, ignorar valores iguais a:

+
diff --git a/ferramentas/legenda/index.js b/ferramentas/legenda/index.js index 0b979e9..43fe428 100644 --- a/ferramentas/legenda/index.js +++ b/ferramentas/legenda/index.js @@ -218,7 +218,7 @@ function valorU() if (item == "") {alert("Selecione um item!");return;} aguarde("block") - var p = g_locaplic+"/classesphp/mapa_controle.php?g_sid="+g_sid+"&funcao=alteraclasse&tema="+tema+"&item="+item+"&opcao=valorunico" + var p = g_locaplic+"/classesphp/mapa_controle.php?g_sid="+g_sid+"&funcao=alteraclasse&tema="+tema+"&item="+item+"&opcao=valorunico&ignorar="+$i("ignorar").value var cp = new cpaint(); //cp.set_debug(2) cp.set_response_type("JSON"); @@ -244,7 +244,7 @@ function valorC() {alert("Selecione um item!");return;} aguarde("block") var nclasses = $i("nclasses").value - var p = g_locaplic+"/classesphp/mapa_controle.php?g_sid="+g_sid+"&funcao=alteraclasse&nclasses="+nclasses+"&tema="+tema+"&item="+item+"&opcao=intervalosiguais" + var p = g_locaplic+"/classesphp/mapa_controle.php?g_sid="+g_sid+"&funcao=alteraclasse&nclasses="+nclasses+"&tema="+tema+"&item="+item+"&opcao=intervalosiguais&ignorar="+$i("ignorar").value var cp = new cpaint(); //cp.set_debug(2) cp.set_response_type("JSON"); @@ -259,7 +259,7 @@ function valorQ() {alert("Selecione um item!");return;} aguarde("block") var nclasses = $i("nclasses").value - var p = g_locaplic+"/classesphp/mapa_controle.php?g_sid="+g_sid+"&funcao=alteraclasse&tema="+tema+"&item="+item+"&opcao=quartis" + var p = g_locaplic+"/classesphp/mapa_controle.php?g_sid="+g_sid+"&funcao=alteraclasse&tema="+tema+"&item="+item+"&opcao=quartis&ignorar="+$i("ignorar").value var cp = new cpaint(); //cp.set_debug(2) cp.set_response_type("JSON"); -- libgit2 0.21.2