imprimeEsquema(); } $m = new Metaestat(); // //obtem do mapfile em uso os layers que sao do sistema metaestat, sao regioes e que possuem selecao // if (empty($_GET["regiao"])) { $s = pegaSelecaoRegioes(); $selecaoRegiao = $s["selecaoRegiao"]; $codigo_tipo_regiao = $s["codigo_tipo_regiao"]; } else { $codigo_tipo_regiao = $_GET["regiao"]; } //verifica se o cubo usa uma regiao especifica ou todas if ($codigo_tipo_regiao == "") { $regioes = $m->listaTipoRegiao(); } else { $regioes = array($m->listaTipoRegiao($codigo_tipo_regiao)); } $s = ""; if (empty($saikuConfigDataSource['tabelaDimensaoTempo'])) { $saikuConfigDataSource['tabelaDimensaoTempo'] = "i3geo_metaestat.dim_tempo"; } $medidas = $m->listaMedidaVariavel(); // //formata o array de regioes colocando na chave o codigo da regiao // $chavesRegiao = array(); $todasAsRegioes = $m->listaTipoRegiao(); foreach ($todasAsRegioes as $R) { $chavesRegiao[$R["codigo_tipo_regiao"]] = $R;
/** * Lista os nomes dos layers originados do sistema METAESTAT. * Os layers sao agrupados por tipo de regiao e tipo de representacao * @param unknown $map_file * @return string */ function listaLayersAgrupados($map_file) { //MS_LAYER_POINT, MS_LAYER_LINE, MS_LAYER_POLYGON $tipos[0] = "ponto"; $tipos[1] = "linha"; $tipos[2] = "poligono"; $mapa = ms_newMapObj($map_file); $layers = analise_listaLayersMetaestat($mapa, true); $m = new Metaestat(); $camadas = array(); foreach ($layers as $l) { $codigo_tipo_regiao = $l->getmetadata("METAESTAT_CODIGO_TIPO_REGIAO"); $tema = mb_convert_encoding($l->getmetadata("tema"), "UTF-8", "ISO-8859-1"); $regiao = $m->listaTipoRegiao($codigo_tipo_regiao); $camadas[] = array("layer" => $l->name, "tema" => $tema, "codigo_tipo_regiao" => $codigo_tipo_regiao, "tipolayer" => $tipos[$l->type]); } return $camadas; }
function retornaI2($listatemas, $resultados, $map) { $final = array(); foreach ($listatemas as $tema) { //para dados que sao oriundos do METAESTAT $editavel = ""; $colunaidunico = ""; $id_medida_variavel = ""; // $layer = $map->getlayerbyname($tema); $nometmp = $tema; if (strtoupper($layer->getMetaData("TEMA")) != "NAO") { $nometmp = $layer->getMetaData("TEMA"); } else { if ($layer->getMetaData("ALTTEMA") != "") { $nometmp = $layer->getMetaData("ALTTEMA"); } } $nometmp = $this->converte($nometmp); //identificador que marca o tipo de dados que podem ser salvos $tiposalva = ""; //verifica se e editavel if ($layer->getmetadata("EDITAVEL") == "SIM") { //verifica login session_write_close(); session_name("i3GeoLogin"); if (!empty($_COOKIE["i3geocodigologin"])) { session_id($_COOKIE["i3geocodigologin"]); session_start(); //verifica usuario if ($_SESSION["usuario"] == $_COOKIE["i3geousuariologin"]) { //verifica se e administrador foreach ($_SESSION["papeis"] as $p) { if ($p == 1) { $editavel = "sim"; } } //verifica operacao if (!empty($_SESSION["operacoes"]["admin/metaestat/geral"])) { $editavel = "sim"; } if ($editavel == "sim") { $editavel = "nao"; $id_medida_variavel = $layer->getMetaData("METAESTAT_ID_MEDIDA_VARIAVEL"); $colunaidunico = $layer->getMetaData("COLUNAIDUNICO"); if ($id_medida_variavel != "") { include_once dirname(__FILE__) . "/../admin/php/classe_metaestat.php"; $m = new Metaestat(); $medidaVariavel = $m->listaMedidaVariavel("", $id_medida_variavel); $editavel = $medidaVariavel["colunavalor"]; $tiposalva = "medida_variavel"; } if ($codigo_tipo_regiao != "") { include_once dirname(__FILE__) . "/../admin/php/classe_metaestat.php"; $m = new Metaestat(); $regiao = $m->listaTipoRegiao($codigo_tipo_regiao); //todas as colunas podem ser alteradas $editavel = "todos"; $tiposalva = "regiao"; } //verifica se os parametros de edicao estao disponiveis, pois podem ter sido definidos pelo sistema de administracao if ($layer->getMetaData("ESQUEMATABELAEDITAVEL") != "" && $layer->getMetaData("TABELAEDITAVEL") != "" && $layer->getMetaData("COLUNAIDUNICO") != "") { $editavel = "todos"; $tiposalva = "regiao"; } } } } } $codigo_tipo_regiao = $layer->getMetaData("METAESTAT_CODIGO_TIPO_REGIAO"); $final[] = array("tema" => $tema, "tiposalva" => $tiposalva, "nome" => $nometmp, "resultado" => $resultados[$tema], "editavel" => $editavel, "colunaidunico" => $colunaidunico, "id_medida_variavel" => $id_medida_variavel, "codigo_tipo_regiao" => $codigo_tipo_regiao); } return $final; }
//define as variaveis necessarias ao pacote kmlserver set_time_limit(0); $_REQUEST["map"] = $mapfile; $_REQUEST["typename"] = $r["layer"]; $_REQUEST["request"] = $formato; //$_REQUEST["service"] = "icon"; include dirname(__FILE__) . "/../../pacotes/kmlmapserver/classes/kmlserver.class.php"; $server = new KmlServer(); } else { //3d com tme if (!isset($dir_tmp)) { include dirname(__FILE__) . "/../../ms_configura.php"; } $verificaSID = false; $mv = $m->listaMedidaVariavel("", $id_medida_variavel); $reg = $m->listaTipoRegiao($mv["codigo_tipo_regiao"]); $_GET["nomelayer"] = $r["layer"]; $_GET["colunasvalor"] = $mv["colunavalor"]; $_GET["colunanomeregiao"] = $reg["colunanomeregiao"]; $_GET["titulo"] = $r["titulolayer"]; $_GET["descricao"] = $mv["colunavalor"]; $_SESSION["map_file"] = $mapfile; $_SESSION["postgis_mapa"] = ""; $_SESSION["tmpurl"] = ""; $_SESSION["mapext"] = ""; $download = true; $parametersTME = array('mapType' => 'bar', 'indicator' => 'valores', 'year' => "", 'classification' => 'equal', 'mapTitle' => $r["titulolayer"], 'timeType' => "slider", 'dirtmp' => $dir_tmp, 'barSize' => 5000); include dirname(__FILE__) . "/../../pacotes/tme/TME_i3geo.php"; } exit; break;
$nmetadados = count($metadados); //pega o id da regiao (busca pelo posfixo geocod) $codigo_tipo_regiao = $metadados[0]["colName"]; $codigo_tipo_regiao = explode("#", $codigo_tipo_regiao); $codigo_tipo_regiao = $codigo_tipo_regiao[1]; /* echo "<pre>"; var_dump($metadados); echo $codigo_tipo_regiao;exit; */ if (empty($codigo_tipo_regiao)) { echo "Nao foi possivel determinar o codigo da regiao ou localidade no sistema Metaestat"; exit; } $m = new Metaestat(); $meta = $m->listaTipoRegiao($codigo_tipo_regiao); $titulolayer = $meta["nome_tipo_regiao"]; if (empty($titulolayer)) { echo "Nao foi possivel encontrar a regiao ou localidade no sistema Metaestat"; exit; } $titulolayer = mb_convert_encoding($titulolayer, "ISO-8859-1", mb_detect_encoding($titulolayer)); $conexao = $m->listaConexao($meta["codigo_estat_conexao"], true); $conexao = "user="******"usuario"] . " password="******"senha"] . " dbname=" . $conexao["bancodedados"] . " host=" . $conexao["host"] . " port=" . $conexao["porta"] . ""; $colunageo = $meta["colunageo"]; $sqlColunaGeo = $meta["colunageo"]; $srid = $meta["srid"]; $colunastabela = $m->colunasTabela($meta["codigo_estat_conexao"], $meta["esquemadb"], $meta["tabela"], "geometry", "!="); $tipoLayer = "POLYGON"; //define a coluna geo correta if ($opcoes["tipo"] == "calor" || $opcoes["tipo"] == "mapaPizzas" || $opcoes["tipo"] == "mapaBarras" || $opcoes["tipo"] == "raiosProporcionais" || $opcoes["tipo"] == "circulosProporcionais") {