Example #1
0
/**
 * Aplica um filtro de tempo em uma camada
 * @param arquivo mapfile do mapa atual
 * @param nome do layer que sera processado
 * @param lista com os ids dos parametros de tempo inicial
 * @param lista com os valores dos parametros de pari
 * @param lista com os ids dos parametros de tempo final
 * @param lista com os valores dos parametros de parf
 * @return string
 */
function analise_aplicaFiltroTempo($map_file, $tema, $pari, $vali, $parf, $valf)
{
    $mapa = ms_newMapObj($map_file);
    $layer = $mapa->getlayerbyname($tema);
    $id_medida_variavel = $layer->getmetadata("METAESTAT_ID_MEDIDA_VARIAVEL");
    $data = $layer->data;
    $m = new Metaestat();
    //pega os parametros de tempo inicial
    $par = explode(",", $pari);
    $val = explode(",", $vali);
    $filtro = array();
    $n = count($par);
    for ($i = 0; $i < $n; $i++) {
        $parametro = $m->listaParametro($id_medida_variavel, $par[$i]);
        $filtro[] = "d." . $parametro["coluna"] . " >= " . $val[$i] . " ";
    }
    //pega os parametros de tempo final
    $par = explode(",", $parf);
    $val = explode(",", $valf);
    $n = count($par);
    for ($i = 0; $i < $n; $i++) {
        $parametro = $m->listaParametro($id_medida_variavel, $par[$i]);
        $filtro[] = "d." . $parametro["coluna"] . " <= " . $val[$i] . " ";
    }
    $filtro = implode(" AND ", $filtro);
    //substitui as strings de filtro no mapfile
    $s = explode("/*FAT*/", $data);
    $data = $s[0] . "/*FAT*/ AND " . $filtro . " /*FAT*/" . $s[2];
    $layer->set("data", $data);
    $mapa->save($map_file);
    return "ok";
}
Example #2
0
 
 Altera os dados de uma parametro de uma medida
 
 Retorno:
 
 {JSON}
 */
 case "ALTERAPARAMETROMEDIDA":
     $m = new Metaestat();
     if (empty($id_parametro_medida)) {
         //isso ira criar um novo registro
         $id_parametro_medida = $m->alteraParametroMedida($id_medida_variavel);
     } else {
         $m->alteraParametroMedida("", $id_parametro_medida, $_GET["nome"], $_GET["descricao"], $_GET["coluna"], $id_pai, $_GET["tipo"]);
     }
     retornaJSON($m->listaParametro($id_medida_variavel, $id_parametro_medida));
     exit;
     break;
     /*
     Valor: ALTERACLASSIFICACAOMEDIDA
     
     Altera os dados de uma classificacao de uma medida
     
     Retorno:
     
     {JSON}
     */
 /*
 Valor: ALTERACLASSIFICACAOMEDIDA
 
 Altera os dados de uma classificacao de uma medida