"municipio", "tb_ibge_estados" => "no_uf", "tb_ibge_colegiado" => "no_colegiado" ); /* Function: __construct Inicializa a classe sage parameters: $map_file - (opcional) Endereço do mapfile que está em uso pelo mapa interativo. */ function __construct($map_file="") { if($this->locaplic == "") {$this->defLocaplic();} include_once($this->locaplic."/ms_configura.php"); $this->pgstr = $postgis_mapa["sage"]; if($map_file != ""){ $this->mapa = ms_newMapObj($map_file); $this->arquivo = $map_file; } } /* Function: execSql Executa um sql parameters: $sql */ function execSql($sql){ if($this->connBd == false) {$this->connBd = pg_connect($this->pgstr);} $q=pg_query($sql) or die ($sql." ".pg_result_error()); return pg_fetch_all($q); } /* Function: defLocaplic Define automaticamente a variável $this->locaplic */ function defLocaplic(){ if (strtoupper(substr(PHP_OS, 0, 3) == 'WIN')) {$this->locaplic = "c:/ms4w/apache/htdocs/i3geo";} else{ if(file_exists("../ms_configura.php")) {$this->locaplic = "../";} else if(file_exists("/opt/www/html/i3geo")) {$this->locaplic = "/opt/www/html/i3geo";} else if(file_exists("/var/www/html/i3geo")) {$this->locaplic = "/var/www/html/i3geo";} else if(file_exists("/var/www/i3geo")) {$this->locaplic = "/var/www/i3geo";} } } /* Function: obtemMapfileSection Obtém o nome do arquivo mapfile lendo as variáveis de seção parameters: $g_sid - código da seção PHP retorno: nome do arquivo mapfile */ function obtemMapfileSection($g_sid){ session_name("i3GeoPHP"); session_id($g_sid); session_start(); return $_SESSION["map_file"]; } /* Function: obtemTipoTabelaAtiva Analisa o mapa em uso e os seus LAYERS para tentar definir qual o tipo de região que está sendo visto pelo usuário Os LAYERS ligados são verificados com base na variável $this->listaTipoTabelaRegiao parameters: $map_file - arquivo mapfile em uso retorno: {string} - tipo de região conforme as chaves do array $this->listaTipoTabelaRegiao */ function obtemTipoTabelaAtiva($map_file){ $mapa = ms_newMapObj($map_file); $c = $mapa->numlayers; $tipoRegiao = ""; for ($i=0;$i < $c;$i++){ $l = $mapa->getlayer($i); $l->set("connection",$this->pgstr); $chaves = array_keys($this->listaTipoTabelaRegiao); if($l->status == MS_DEFAULT && $l->getmetadata("gruposage") != ""){ foreach($chaves as $chave){ $data = explode($chave,$l->data); if(count($data) > 1){ $tipoRegiao = $this->listaTipoTabelaRegiao[$chave]; } } } } return $tipoRegiao; } /* Function: listaMunicipio Lista os municípios de uma UF parameters: $co_uf - código da UF retorno: {array} */ function listaMunicipio($co_uf=""){ error_reporting(0); $sql = "SELECT 'public.tb_ibge.ibge != ' || ibge AS valor, no_cidade as nome, ibge FROM public.tb_ibge WHERE co_uf = $co_uf ORDER BY nome "; $r = $this->execSql($sql); return $r; } /* Function: listaMunicipioCol Lista os municípios de um colegiado parameters: $co_colegiado - código do colegiado retorno: {array} */ function listaMunicipioCol($co_colegiado){ error_reporting(0); $sql = "SELECT no_cidade as nome, ibge FROM public.tb_ibge WHERE co_colegiado_gestao = $co_colegiado ORDER BY nome "; $r = $this->execSql($sql); return $r; } /* Function: listaColegiado Lista os colegiados de uma UF parameters: $co_uf - (opcional) código da UF retorno: {array} */ function listaColegiado($co_uf=""){ error_reporting(0); $sql = "SELECT 'co_colegiado_gestao != '||public.tb_ibge.co_colegiado_gestao||' or co_colegiado_gestao isnull' AS valor,co_colegiado_gestao AS codigo,tb_colegiado_gestao.no_colegiado AS nome,sg_uf AS uf,tb_ibge.co_uf FROM public.tb_ibge INNER JOIN dbgeral.tb_colegiado_gestao ON tb_ibge.co_colegiado_gestao = tb_colegiado_gestao.co_colegiado INNER JOIN dbgeral.tb_unidade_federacao ON tb_ibge.co_uf = tb_unidade_federacao.co_uf "; if($co_uf != ""){ $sql .= "WHERE tb_ibge.co_uf = $co_uf "; } $sql .= "GROUP BY uf,no_colegiado,co_colegiado_gestao,tb_ibge.co_uf ORDER BY uf ASC,nome ASC"; $r = $this->execSql($sql); if($r == false) {$r = array();} return $r; } /* Function: listaMetropole Lista as regiões metropolitanas de uma UF parameters: $co_uf - código da UF retorno: {array} */ function listaMetropole($co_uf=""){ error_reporting(0); $sql = "SELECT 'co_reg_metropolitana != ' || tb_metropolitana.co_metropolitana || ' or co_reg_metropolitana isnull' AS valor, tb_metropolitana.no_metropolitana AS nome, co_uf FROM public.tb_ibge Inner Join dbgeral.tb_metropolitana ON tb_ibge.co_reg_metropolitana = tb_metropolitana.co_metropolitana WHERE co_uf = $co_uf group by tb_metropolitana.no_metropolitana,tb_metropolitana.co_metropolitana,co_uf order by no_metropolitana "; $r = $this->execSql($sql); if($r == false) {$r = array();} return $r; } /* Function: listaCidadania Lista territórios da cidadania de uma UF parameters: $co_uf - código da UF retorno: {array} */ function listaCidadania($co_uf=""){ error_reporting(0); $sql = "SELECT 'co_tr_cidadania != ' || tb_territorio_cidadania.co_territorio_cidadania || ' or co_tr_cidadania isnull' AS valor, tb_territorio_cidadania.no_territorio_cidadania_resumido AS nome, co_uf FROM public.tb_ibge Inner Join dbgeral.tb_territorio_cidadania ON tb_ibge.co_tr_cidadania = tb_territorio_cidadania.co_territorio_cidadania WHERE co_uf = $co_uf GROUP BY tb_territorio_cidadania.no_territorio_cidadania_resumido,tb_territorio_cidadania.co_territorio_cidadania,co_uf ORDER BY no_territorio_cidadania_resumido "; $r = $this->execSql($sql); if($r == false) {$r = array();} return $r; } /* Function: listaIndigena Lista distritos indigenas de uma UF parameters: $co_uf - código da UF retorno: {array} */ function listaIndigena($co_uf=""){ error_reporting(0); $sql = "SELECT 'tb_ibge.co_dsei != ' || tb_dsei.co_dsei || ' or tb_ibge.co_dsei isnull' AS valor, tb_dsei.no_dsei AS nome, co_uf FROM public.tb_ibge Inner Join dbgeral.tb_dsei ON tb_ibge.co_dsei = tb_dsei.co_dsei WHERE co_uf = $co_uf GROUP BY tb_dsei.no_dsei,tb_dsei.co_dsei,co_uf ORDER BY no_dsei "; $r = $this->execSql($sql); if($r == false) {$r = array();} return $r; } /* Function: salva Salva o mapfile atual */ function salva() { if (connection_aborted()){exit();} $this->mapa->save($this->arquivo); } function listaItensGrupos(){ $lista = array(); foreach($this->grupos as $gr){ $itens = array(); foreach($gr["itens"] as $item){ $itens[] = array( "id"=>$item["id"], "sql"=>$item["sql"], "titulo"=>$this->converte($item["titulo"]) ); } $lista[] = array( "id"=>$gr["id"], "titulo"=>$this->converte($gr["titulo"]), "itens"=>$itens ); } return $lista; } /* Function: adicionaCamada Adiciona uma nova camada ao mapa parameters: $idPai - código do subgrupo que contém a camada que será adicionada ao mapa $nome - título da nova camada $iditem - código do mapfile que será utilizado para obter a nova camada (mesmo que o nome do arquivo existente em i3geo/temas) $simbolo - código do símbolo $tamanho - tamanho do símbolo $representacao - tipo de representação gráfica da camada pontual|bordas|raios|retangulo|sem alteracao $esquemacor - palete de cores (ver i3geo/symbols/colouramp */ function adicionaCamada($idPai,$nome,$iditem,$simbolo,$tamanho,$representacao,$esquemacor){ include_once("../classesphp/funcoes_gerais.php"); $nomeTema = $idPai.$iditem.$simbolo.$representacao.$esquemacor; if(@$this->mapa->getlayerbyname($nomeTema)){ $layer = $this->mapa->getlayerbyname($nomeTema); $layer->set("status",MS_DEFAULT); return; } $maptemplate = ms_newMapObj($this->locaplic."/temas/".$iditem.".map");// $layertemplate = $maptemplate->getlayer(0);// $layertemplate->setmetadata("tema",$nome); $layertemplate->setmetadata("gruposage",$idPai); $layertemplate->setmetadata("itemsage",$iditem); $layertemplate->set("name",$nomeTema); if($representacao == "pontual"){ $s = $layertemplate->data; $s = str_replace("the_geom","the_geom2",$s); $layertemplate->set("data",$s); $layertemplate->set("type",MS_LAYER_POINT); } $nclasses = $layertemplate->numclasses; for ($i=0; $i < $nclasses; $i++){ $classe = $layertemplate->getClass($i); $e = $classe->getstyle(0); if($simbolo != ""){ $e->set("symbolname",$simbolo); } if($tamanho != ""){ $e->set("size",$tamanho); } if($representacao == "pontual"){ if($simbolo == ""){ $e->set("symbolname","ponto"); } if($tamanho == ""){ $e->set("size",12); } } if($representacao == "bordas"){ $s = "STYLE geomtransform 'bbox' END"; $e->updateFromString($s); } if($representacao == "raios"){ $ncor = $e->color; $ncor->setrgb(-1,-1,-1); $ncor = $e->outlinecolor; $ncor->setrgb($cor[0],$cor[1],$cor[2]); $e->set("size",$tamanho*($i * 5)); $s = "STYLE geomtransform 'centroid' END"; $e->updateFromString($s); } } if($representacao == "pontual"){ $layertemplate->setmetadata("tema",$nome." (localidades)"); } if($representacao == "retangulo"){ $layertemplate->setmetadata("tema",$nome." (bordas)"); } if($representacao == "raios"){ $layertemplate->setmetadata("tema",$nome." (raios)"); } if($esquemacor != ""){ include_once("../classesphp/class.palette.php"); $p = new palette(); $ncores = $layertemplate->numclasses; $retorno = $p->geraCoresColourRamp("..",$esquemacor,0,255,$ncores); for($i=0;$i<$ncores;$i++){ $c = $layertemplate->getclass($i); $e = $c->getstyle(0); $cor = $e->color; //var_dump($retorno); $cor->setrgb($retorno[$i]["r"],$retorno[$i]["g"],$retorno[$i]["b"]); } } ms_newLayerObj($this->mapa, $layertemplate); if(@$this->mapa->getlayerbyname("municipios")){ $layer = $this->mapa->getlayerbyname("municipios"); $temp = ms_newLayerObj($this->mapa,$layer); $layer->set("status",MS_DELETE); } if(@$this->mapa->getlayerbyname("estadosl")){ $layer = $this->mapa->getlayerbyname("estadosl"); $temp = ms_newLayerObj($this->mapa,$layer); $layer->set("status",MS_DELETE); } if(@$this->mapa->getlayerbyname("nomemun")){ $layer = $this->mapa->getlayerbyname("nomemun"); $temp = ms_newLayerObj($this->mapa,$layer); $layer->set("status",MS_DELETE); } if(@$this->mapa->getlayerbyname("cegonharegiao")){ $layer = $this->mapa->getlayerbyname("cegonharegiao"); $temp = ms_newLayerObj($this->mapa,$layer); $layer->set("status",MS_DELETE); } if(@$this->mapa->getlayerbyname("nomecolegiado")){ $layer = $this->mapa->getlayerbyname("nomecolegiado"); $temp = ms_newLayerObj($this->mapa,$layer); $layer->set("status",MS_DELETE); } if(@$this->mapa->getlayerbyname("colegiado")){ $layer = $this->mapa->getlayerbyname("colegiado"); $temp = ms_newLayerObj($this->mapa,$layer); $layer->set("status",MS_DELETE); } return $nomeTema; } /* Function: desligaCamadasSage Desliga todas as camadas que contenham o metadata "gruposage" diferente de vazio */ function desligaCamadasSage(){ $c = $this->mapa->numlayers; for ($i=0;$i < $c;++$i) { $l = $this->mapa->getlayer($i); if($l->getmetadata("gruposage") != "") {$l->set("status",MS_OFF);} } } function pegaDados($idgrupo,$iditem,$chave){ foreach($this->grupos as $gr){ if($gr["id"] == $idgrupo){ foreach($gr["itens"] as $item){ if($item["id"] == $iditem){ if(array_key_exists($chave,$item)) {return $item[$chave];} } } } } return ""; } /* Function: ativaRegiao Ativa o destaque de uma região no mapa parameters: $filtro - string que será utilizada para definir o filtro do LAYER (FILTER) $nome - novo nome do LAYER que contém a região */ function ativaRegiao($filtro,$nome){ if(@$this->mapa->getlayerbyname("cegonharegiao")){ $layercegonha = $this->mapa->getlayerbyname("cegonharegiao"); $layercegonha->set("status",MS_DELETE); } if($filtro == "") {return;} if($_SERVER['HTTP_HOST'] == "localhost") {$maptemplate = ms_newMapObj("camadas/camadaswindows.map");} else {$maptemplate = ms_newMapObj("camadas/camadas.map");} $layer = $maptemplate->getlayerbyname("cegonharegiao"); $layer->set("connection",$this->pgstr); $layercegonha = ms_newLayerObj($this->mapa,$layer); $layercegonha->setmetadata("tema",$nome); $filtro = str_replace("#","'",$filtro); $filtro = str_replace("public.tb_ibge.","",$filtro); $layercegonha->setfilter($filtro); //echo $filtro;exit; } /* Function: zoomRegiao Altera a extensão geográfica do mapa ajustando à determinada região parameters: $filtro - sql que contém o filtro. Será utilizado na clausula WHERE com "not" */ function zoomRegiao($filtro){ if(!@$this->mapa->getlayerbyname("cegonharegiao")){ return; } $filtro = str_replace("#","'",$filtro); $sql = "SELECT box2d(ST_Extent(tb_ibge.the_geom)::box2d) AS a from public.tb_ibge"; $layer = $this->mapa->getlayerbyname("cegonharegiao"); $sql .= " WHERE not(".$filtro.")"; $sql = "SELECT ST_XMin(a) AS xmin, ST_YMin(a) AS ymin, ST_XMax(a) AS xmax, ST_YMax(a) AS ymax from (".$sql.") AS b"; //echo $sql;exit; if($this->connBd == false) {$this->connBd = pg_connect($this->pgstr);} $result = pg_query($this->connBd, $sql); $res = pg_fetch_all($result); if($res == false) {$res = array();} return $res; } function converte($texto){ $texto = mb_convert_encoding($texto,mb_detect_encoding($texto),"ISO-8859-1"); return $texto; } function listaCamadasColuna($nomecoluna){ error_reporting(0); $lista = array(); $c = $this->mapa->numlayers; for ($i=0;$i < $c;$i++) { $l = $this->mapa->getlayer($i); $l->set("connection",$this->pgstr); if($l->connectiontype != 7 && $l->type != MS_LAYER_RASTER){ $itens = pegaItens($l); foreach($itens as $j){ if($nomecoluna == $j) {$lista[] = $l->name;} } } } return $lista; } /* Function: xy2municipio Obtém dados sobre um município com base em um par de coordenadas xy parameters: $x - longitude $y - latitude */ function xy2municipio($x,$y){ $sql="SELECT tb_ibge.ibge, no_cidade, sg_uf, tb_ibge.co_uf, pop_2010, co_colegiado_gestao, no_colegiado, tb_ibge_estados.no_uf as nome_estado FROM public.tb_ibge LEFT JOIN dbgeral.tb_colegiado_gestao ON public.tb_ibge.co_colegiado_gestao = dbgeral.tb_colegiado_gestao.co_colegiado INNER JOIN public.tb_ibge_estados ON public.tb_ibge.co_uf = public.tb_ibge_estados.co_uf WHERE within(ST_GeomfromText('POINT($x $y)',4674),tb_ibge.the_geom) ='t' and no_cidade IS NOT NULL "; return $this->execSql($sql); } /* Function: listaUf Obtém a lista das UFs */ function listaUf(){ $sql="SELECT co_uf, sg_uf||' - '||trim(no_uf) as uf FROM dbgeral.tb_unidade_federacao ORDER BY uf"; return $this->execSql($sql); } /* Function: listaGrupo Obtém a lista das grupos */ function listaGrupo(){ $sql="SELECT dbgeo.tb_indicador.grupo_homog FROM dbgeo.tb_indicador ORDER BY grupo_homog"; return $this->execSql($sql); } /* Function: notaBrasil Obtém a nota Brasil */ function notaBrasil(){ $sql = "SELECT indicadores_sus.tb_indicador_uf_br.co_uf, indicadores_sus.tb_indicador_uf_br.ano, indicadores_sus.tb_indicador_uf_br.inaqs, indicadores_sus.tb_indicador_uf_br.faixa FROM indicadores_sus.tb_indicador_uf_br WHERE ano=2010 and co_uf=55 "; $r = $this->execSql($sql); return $r[0]; } /* Function: dadosMunicipio Obtém os dados de um município $ibge, $uf e $cg são parâmetros excludentes Parameter: $ibge - código do ibge $uf - código da UF (opcional) $cg - código do colegiado (opcional) */ function dadosMunicipio($ibge="",$uf="",$cg="",$grupo=""){ $sql = "SELECT tb_ibge.ibge, cidade as no_cidade, uf as sg_uf, tb_ibge.co_uf, pop_2010, tb_ibge.area_territorial, grupo_homog, tb_ibge.amazonia_legal, tb_ibge.municipio_fronteira, tb_ibge.linha_fronteira, no_territorio_cidadania, no_colegiado, dbgeral.tb_colegiado_gestao.co_colegiado, (pop_2010/area_territorial) as dd2010,tb_demografia.tx_urbanizacao, dbdemografia.tb_taxas.taxa as pib2009, acess_ah_altc, idsus_mun, fx_idsus_mun, ind_socio_econ, ind_cond_saude, ind_estrut, grupo_homog, id_acesso_sus, id_quali_sus, atbas_acess, acess_ah_medc, atbas_quali, quali_ah_mac, idatb, idmac, co_dsei FROM dbgeral.tb_ibge LEFT JOIN dbgeral.tb_territorio_cidadania ON (dbgeral.tb_ibge.co_tr_cidadania = dbgeral.tb_territorio_cidadania.co_territorio_cidadania) LEFT JOIN dbgeral.tb_colegiado_gestao ON (dbgeral.tb_ibge.co_colegiado = dbgeral.tb_colegiado_gestao.co_colegiado) LEFT JOIN dbdemografia.tb_demografia ON (dbgeral.tb_ibge.ibge = dbdemografia.tb_demografia.co_ibge) LEFT JOIN indicadores_sus.tb_indicador ON (dbgeral.tb_ibge.ibge = indicadores_sus.tb_indicador.ibge and ano = 2010) LEFT JOIN dbdemografia.tb_taxas ON (dbgeral.tb_ibge.ibge = dbdemografia.tb_taxas.co_ibge AND dbdemografia.tb_taxas.co_tx = 16 AND dbdemografia.tb_taxas.ano = 2009) "; $f = " WHERE " ; if($grupo != "") {$f = " WHERE grupo_homog = $grupo AND ";} if($ibge != ""){ $sql .= $f." tb_ibge.ibge=$ibge"; $r = $this->execSql($sql); if($r == false) {$r = array();} return $r[0]; } if($uf != "" && $uf != "brasil"){ $sql .= $f." tb_ibge.co_uf=$uf ORDER BY no_cidade"; $r = $this->execSql($sql); if($r == false) {$r = array();} return $r; } if($uf == "brasil"){ if($grupo != "") {$sql .= " WHERE grupo_homog = $grupo ";} $sql .= " ORDER BY no_cidade"; $r = $this->execSql($sql); if($r == false) {$r = array();} return $r; } if($cg != ""){ $sql .= $f." dbgeral.tb_colegiado_gestao.co_colegiado=$cg ORDER BY no_cidade"; $r = $this->execSql($sql); if($r == false) {$r = array();} return $r; } } /* Function: municipio2politica Obtém os dados políticos de um município Parameter: $ibge - código do ibge */ function municipio2politica($ibge){ $sql = "SELECT tb_emenda_interessado_cargo.cod_cargo, tb_emenda_interessado_cargo_situacao.cod_situacao_cargo, tb_emenda_interessado_cargo_rl.ibge, initcap(tb_emenda_interessado.interessado) as interessado, tb_emenda_interessado_cargo_rl.percent_votos, tb_emenda_interessado_cargo_rl.coligacao, tb_emenda_interessado_cargo_rl.votos, tb_emenda_interessado_partido.partido, tb_emenda_interessado.id_interessado FROM (((dbfinanceiro.tb_emenda_interessado INNER JOIN dbfinanceiro.tb_emenda_interessado_cargo_rl ON dbfinanceiro.tb_emenda_interessado.id_interessado = dbfinanceiro.tb_emenda_interessado_cargo_rl.id_interessado) INNER JOIN dbfinanceiro.tb_emenda_interessado_cargo_situacao ON dbfinanceiro.tb_emenda_interessado_cargo_rl.cod_situacao_cargo = dbfinanceiro.tb_emenda_interessado_cargo_situacao.cod_situacao_cargo) INNER JOIN dbfinanceiro.tb_emenda_interessado_cargo ON dbfinanceiro.tb_emenda_interessado_cargo_rl.cod_cargo = dbfinanceiro.tb_emenda_interessado_cargo.cod_cargo) INNER JOIN dbfinanceiro.tb_emenda_interessado_partido ON dbfinanceiro.tb_emenda_interessado.cod_partido = dbfinanceiro.tb_emenda_interessado_partido.cod_partido WHERE tb_emenda_interessado_cargo.cod_cargo=3 AND tb_emenda_interessado_cargo_situacao.cod_situacao_cargo=6 AND dbfinanceiro.tb_emenda_interessado.ibge = $ibge ORDER BY tb_emenda_interessado.interessado "; $r = $this->execSql($sql); return $r[0]; } /* Function: dadosColegiado Obtém os dados de um colegiado de gestão Parameter: $cg - código do colegiado */ function dadosColegiado($cg){ $sql="SELECT dbgeral.tb_ibge.co_uf, sg_uf, tb_ibge.co_uf, no_colegiado, dbgeral.tb_colegiado_gestao.co_colegiado, indicadores_sus.tb_indicador_colegiado.inaqs::numeric, indicadores_sus.tb_indicador_colegiado.faixa, Sum(dbgeral.tb_ibge.area_territorial) AS area_territorial, Sum(dbgeral.tb_ibge.pop_2010) AS pop_2010, round((Sum(dbgeral.tb_ibge.pop_2010))/(Sum(dbgeral.tb_ibge.area_territorial))::numeric,2) as dd2010, (SELECT Sum(tb_taxas.taxa) AS taxa FROM dbdemografia.tb_taxas WHERE tb_taxas.ano=2009 AND tb_taxas.co_tx=16 AND tb_taxas.co_uf=dbgeral.tb_ibge.co_uf GROUP BY tb_taxas.co_uf) as pib2009 FROM dbgeral.tb_ibge LEFT JOIN dbgeral.tb_colegiado_gestao ON dbgeral.tb_ibge.co_colegiado = dbgeral.tb_colegiado_gestao.co_colegiado LEFT JOIN public.tb_ibge_estados ON dbgeral.tb_ibge.co_uf = public.tb_ibge_estados.co_uf LEFT JOIN indicadores_sus.tb_indicador_colegiado ON (dbgeral.tb_ibge.co_colegiado = indicadores_sus.tb_indicador_colegiado.co_colegiado and ano = 2010) WHERE tb_ibge.co_colegiado=$cg GROUP BY dbgeral.tb_ibge.co_uf,sg_uf, tb_ibge.co_uf, no_colegiado, dbgeral.tb_colegiado_gestao.co_colegiado,pib2009,inaqs, faixa "; $r = $this->execSql($sql); return $r[0]; } /* Function: dadosUf Obtém os dados de uma uf Parameter: $uf - código da uf */ function dadosUf($uf){ $ufs=$uf."0000"; $sql="SELECT dbgeral.tb_ibge.co_uf, dbgeral.tb_ibge.uf, dbgeral.tb_ibge.nome_estado, indicadores_sus.tb_indicador_uf_br.inaqs::numeric, indicadores_sus.tb_indicador_uf_br.faixa, Sum(dbgeral.tb_ibge.area_territorial) AS area_territorial, Sum(dbgeral.tb_ibge.pop_2010) AS pop_2010, round((Sum(dbgeral.tb_ibge.pop_2010))/(Sum(dbgeral.tb_ibge.area_territorial))::numeric,2) as dd2010, (SELECT Sum(tb_taxas.taxa) AS taxa FROM dbdemografia.tb_taxas WHERE tb_taxas.ano=2009 AND tb_taxas.co_tx=16 AND tb_taxas.co_ibge=$ufs GROUP BY tb_taxas.co_uf) as pib2009 FROM dbgeral.tb_ibge LEFT JOIN indicadores_sus.tb_indicador_uf_br ON (dbgeral.tb_ibge.co_uf = indicadores_sus.tb_indicador_uf_br.co_uf AND ano=2010) where tb_ibge.co_uf=$uf GROUP by dbgeral.tb_ibge.co_uf, dbgeral.tb_ibge.uf, dbgeral.tb_ibge.nome_estado, indicadores_sus.tb_indicador_uf_br.inaqs,pib2009, faixa "; $r = $this->execSql($sql); return $r[0]; } /* Function: verificaLogin */ function verificaLogin($idmapa,$usuario,$senha){ include_once($this->locaplic."/sage/config_mapas.php"); $_SESSION["login_sage"] = false; if(empty($abreMapaConfig[$idmapa]["login"])){ $_SESSION["login_sage"] = true; } else{ if($abreMapaConfig[$idmapa]["login"][$usuario] == $senha){ $_SESSION["login_sage"] = true; } if(empty($usuario) || empty($senha)){ $_SESSION["login_sage"] = false; } } if($_SESSION["login_sage"] == true){ return true; } else{ return false; } } } ?>