function dadosmapa($loc = "") { global $id; if ($loc == "") { $loc = dirname(__FILE__) . "/../../../.."; } include $loc . "/admin/php/admin.php"; include $loc . "/admin/php/classe_metaestat.php"; if (empty($id)) { echo "id nao definido"; exit; } $m = new Metaestat(); $dadosmapa = $m->listaMapas($id); if (count($dadosmapa) == 0) { echo "Erro. Nenhum um mapa encontrado"; exit; } if ($dadosmapa["publicado"] == "NAO") { include $loc . "/admin/php/login.php"; if (verificaOperacaoSessao("admin/metaestat/geral") == false) { echo "O mapa nao esta marcado como publicado e vc nao fez login ou nao tem permissao"; exit; } } return $dadosmapa; }
exit; } if (!file_exists($dir_tmp . "/" . $nomePrefixo)) { echo "<p class='paragrafo' >Ocorreu algum problema no envio do arquivo " . $dir_tmp . "/" . $nomePrefixo; paraAguarde(); exit; } $arqcsv = $dir_tmp . "/" . $nomePrefixo; $checkphp = fileContemString($dirmap . "/" . $nomePrefixo, "<?"); if ($checkphp == true) { unlink($dirmap . "/" . $nomePrefixo); exit; } //pega os parametros de conexao include "classe_metaestat.php"; $m = new Metaestat(); $conexao = $m->listaConexao($_POST["i3GEOuploadcsvcodigoconexao"], true); //pega a lista de colunas e identifica o separador utilizado $handle = fopen($arqcsv, "r"); $cabecalho = fgets($handle); $buffer = str_replace('"', '', $cabecalho); $buffer = str_replace("'", '', $buffer); $buffer = str_replace("\n", '', $buffer); $buffer = str_replace("\r", '', $buffer); $colunas = explode(";", $buffer); $separador = ";"; if (count($colunas) == 1) { $colunas = explode(",", $buffer); $separador = ","; } echo "<p class='paragrafo' >Separador de colunas identificado: <b>" . $separador . "</b></p>";
include dirname(__FILE__) . "/../../admin/php/classe_metaestat.php"; if (!isset($dir_tmp)) { include dirname(__FILE__) . "/../../ms_configura.php"; } if (isset($statusFerramentas) && $statusFerramentas["saiku"] != true) { exit; } $urlXmlEsquema = ""; $nomeConexao = criaConexaoEsquema(); $map_file = $_SESSION["map_file"]; $arquivoXmlEsquema = dirname($map_file) . "/" . str_replace(".txt", "", $nomeConexao) . ".xml"; gravaDataSource(); if (!empty($_GET["xmlesquema"])) { 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));
//caso o tema tenha de vir do sistema de metadados estatisticos //pode ser uma regiao cadastrada no sistema de metadados $tema = $_pg["tema"]; $codigo_tipo_regiao = $_pg["codigo_tipo_regiao"]; if (isset($codigo_tipo_regiao) && $codigo_tipo_regiao != "") { include dirname(__FILE__) . "/../admin/php/classe_metaestat.php"; $m = new Metaestat(); $m->nomecache = "ogcmetaestatreg" . $codigo_tipo_regiao; $tema = $m->mapfileTipoRegiao($codigo_tipo_regiao); $tema = str_replace(".map", "", $tema["mapfile"]); } //pode ser uma medida de uma variavel $id_medida_variavel = $_pg["id_medida_variavel"]; if (isset($id_medida_variavel) && $id_medida_variavel != "") { include dirname(__FILE__) . "/../admin/php/classe_metaestat.php"; $m = new Metaestat(); $m->nomecache = "ogcmetaestat" . $id_medida_variavel; $tema = $m->mapfileMedidaVariavel($id_medida_variavel, "", 1, "", "", "", "", "", "", true); $tema = str_replace(".map", "", $tema["mapfile"]); } $retorno = downloadTema2("", $tema, $locaplic, $dir_tmp, $postgis_mapa); break; /* function: INSEREFEATURE Insere elemento gráfico em um tema. <Temas->insereFeature> */ /* function: INSEREFEATURE
} if ($extensao == ".map") { //cria o mapfile com base no sistema de metadados estatisticos //verifica se o id_medida_variavel existe no mapfile e nao foi passado como um parametro if (!isset($_GET["id_medida_variavel"]) && $temai3geo == true) { $nmap = ms_newMapobj($locaplic . "/temas/" . $tx . ".map"); $l = $nmap->getlayer(0); $teste = $l->getmetadata("METAESTAT_ID_MEDIDA_VARIAVEL"); if ($teste != "" && $l->data == "") { $_GET["id_medida_variavel"] = $teste; } } if (isset($_GET["id_medida_variavel"])) { $temai3geo = false; include "admin/php/classe_metaestat.php"; $m = new Metaestat(); $m->nomecache = "ogcmetaestat" . $_GET["id_medida_variavel"]; $mapfileMetaestat = $m->mapfileMedidaVariavel($_GET["id_medida_variavel"], "", 1, "", "", "", "", "", "", true); $nmap = ms_newMapobj($mapfileMetaestat["mapfile"]); $nmap->setmetadata("ows_enable_request", "*"); $req->setParameter("LAYERS", "ogcmetaestat" . $_GET["id_medida_variavel"]); } if ($temai3geo == true) { $nmap = ms_newMapobj($locaplic . "/temas/" . $tx . ".map"); $nmap->setmetadata("ows_enable_request", "*"); } if ($temai3geo == false || empty($layers)) { $ts = $nmap->getalllayernames(); $nmap->setmetadata("ows_enable_request", "*"); } else { $ts = explode(",", str_replace(" ", ",", $layers));
/** * 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; }
//utilizado na ferramenta de identificacao //utilizado na ferramenta de identificacao case "SALVAATRIBUTOSTIPOREGIAO": $m = new Metaestat(); $resultado = $m->mantemDadosRegiao($codigo_tipo_regiao, $_GET["identificador_regiao"], $_GET["identificador_regiao"], $_GET["valores"], "", "alterar", $_GET["colunas"]); retornaJSON($resultado); exit; break; case "EXCLUIATRIBUTOSMEDIDAVARIAVEL": $m = new Metaestat(); $resultado = $m->excluiAtributosMedidaVariavel($id_medida_variavel, $codigo_tipo_regiao, $_GET["identificador_regiao"], $id); retornaJSON($resultado); exit; break; case "REGIAO2SHP": $m = new Metaestat(); $shp = $m->regiao2shp($codigo_tipo_regiao); include dirname(__FILE__) . "/../../pacotes/kmlmapserver/classes/zip.class.php"; $handle = fopen($shp . ".shp", "r"); $contentsshp = fread($handle, filesize($shp . ".shp")); fclose($handle); $handle = fopen($shp . ".shp", "r"); $contentsdbf = fread($handle, filesize($shp . ".dbf")); fclose($handle); $handle = fopen($shp . ".shp", "r"); $contentsshx = fread($handle, filesize($shp . ".shx")); fclose($handle); $ziper = new zipfile(); $ziper->addFile($contentsshp, basename($shp) . '.shp'); $ziper->addFile($contentsshx, basename($shp) . '.shx'); $ziper->addFile($contentsdbf, basename($shp) . '.dbf');
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; }
$metadados = (array) json_decode($_POST["metadados"], true); $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