Professional Documents
Culture Documents
Histórico de Modificações
- Geosnic
Governo do Estado da Bahia
Superintendência de Habitação – SH
Liana de Viveiros e Oliveira
Superintendência de Saneamento – SAN
João Lopes
Superintendência de Planejamento e Gestão Territorial – SPGT
Maria das Graças Torreão Ferreira
Elaboração
APRESENTAÇÃO .......................................................................................................................... 3
Manual de Instalação........................................................................................................................ 4
Instalando Postgres 8.1.3 .............................................................................................................. 4
Instalando servidor Apache 2.2.0.................................................................................................. 5
Instalando PHP 4.4.8.................................................................................................................... 6
Instalando Biblioteca Terraweb .................................................................................................... 6
Levantando a aplicação ................................................................................................................ 8
Alterando Tabelas ........................................................................................................................ 8
Alterando a conexão com o banco ................................................................................................ 8
Modificando chave API-GOOGLE............................................................................................... 8
Instalando aplicação Java e atualizando os dados:......................................................................... 8
Rotina de Atualização .................................................................................................................. 9
Servidor de E-mail ....................................................................................................................... 9
Rotina de Atualização .................................................................................................................. 9
Servidor de E-mail ..................................................................................................................... 10
Modificações na Interface .............................................................................................................. 11
Centralização do Mapa de Visualização...................................................................................... 11
Modificações nas imagens e cores da visualização...................................................................... 13
Modificando direção do eyebird , do menu de botões do mapa e rodapé. .................................... 13
Modificando Camadas e vistas ................................................................................................... 15
Modificando os arquivos pdf ...................................................................................................... 15
Filtrando Obras OGU ................................................................................................................. 15
Modificando as consultas simples............................................................................................... 16
Adicionando Novos Filtros......................................................................................................... 16
APRESENTAÇÃO
Geosnic é um sistema web disponibilizado pelo Ministério das Cidades que permite
acesso a diversas informações através da visualização de mapas. Através dele é possível,
por exemplo, obter desde o número de votos em branco nas últimas eleições, até dados
do Censo 2000 e da contagem populacional de 2007, passando por arrecadação de IPTU
(Imposto Predial e Territorial Urbano) e ISS (Imposto Sobre Serviços de Qualquer
Natureza), dentre outras informações.
Manual de Instalação
2. Descompactar com o comando: tar -xvzf “nome do arquivo” sem as aspas duplas.
3. Liste a pasta criada com o comando ls. Leia o arquivo INSTALL através do comando gedit
INSTALL. Este arquivo contém os passos para a instalação do Postgres, mas não siga ainda
esses passos.
6. Instale o Postgres:
#/usr/local/Postgres-8.1.3:~$ ./configure --prefix= “/usr/local/postgres”
#/usr/local/Postgres-8.1.3:~$ make
#/usr/local/Postgres-8.1.3:~$ make install
7. Durante a instalação podem ser pedidas as instalações de algumas bibliotecas. Neste caso foi
pedida a instalação das bibliotecas readline e zlib. É possível buscar as bibliotecas através do
comando aptitude search “nome da bibilioteca”, após identifica-la aptitude install “nome da
bibilioteca”. Na listagem do comando aptitude search os arquivos indicados com v são
virtuais, i os que já estã instalados e p os que estão prontos para a instalação.
na propriedade Ipv4 substituir o ip por 10.56.0.0/16. Incluir na linha abaixo de local: host all all
10.56.0.0/16 md5.
16. Para acessar o banco em /usr/local/postgres/bin digite ./psql como usuário postgres
# /usr/local/postgres/bin:~$ ./psql (como usuário postgres)
18. Criar o banco geosnic com o comando: create database geosnic with owner=cgi;
postgres=# create database geosnic with owner=cgi;
7. Inicie o serviço.
3. descompacte o arquivo :
#/usr/local:~$ tar -xvzf php-4.4.8.tar.gz
#/usr/local/php-4.4.8:~$ make
2. Descompacte o arquivo:
3. Acesse a pasta gerada após a descompactação e copie os arquivos *.so.* do pacote terralib
para /usr/local/lib. (os arquivos estão no cd da aplicação)
4. Reinicie o apache:
#/usr/local/apache/bin:~$ ./apachectl –restart
6. Abra o navegador e digite a seguinte URL: localhost/teste.php. Uma tela, semelhante à figura
abaixo, deverá ser exibida:
Para certificar que a instalação da biblioteca foi bem sucedida, faça uma busca pela palavre
“terraweb”. Caso a instalação tenha terminado de maneira correta, a seguinte ocorrência será
encontrada nas informações:
Levantando a aplicação
Alterando Tabelas
1. te_view
1. na coluna user_name colocar o mesmo nome do usuário postgres
2. te_database
1. na coluna db_version mudar a versão de acordo com a do terraview, utilizamos a 3.2.0.1
A aplicação está pronta para ser utilizada acessando o navegador e acessando o link
http://localhost/geosnic/src/php/app.php
Rotina de Atualização
A rotina de atualização das obras OGU na base Geosnic se dá pela aplicação Java através das
informações fornecidas pela Caixa. A fim de atualizar somente informações específicas do Estado ou
Região é necessário modificar as consultas do arquivo EfetuarCargaDadosLegados.java, no método
iniciarProcessosOGU(). Por exemplo, a consulta:
"select pt from [DADOS CADASTRAIS DA OPERAÇÃO] where pt is not null and UF='BA’ "
Servidor de E-mail
Para o envio de e-mails, o servidor SMTP deve ser local. Caso não seja o caso, é possível
utilizar a classe PhpMailer para enviar e-mail através de servidores remotos.
Além disso, é no arquivo /etc/conf/parametrosiniciais.php onde deve ser modificado o
endereço de e-mail do novo administrador do sistema.
Rotina de Atualização
A rotina de atualização das obras OGU na base Geosnic se dá pela aplicação Java através das
informações fornecidas pela Caixa. A fim de atualizar somente informações específicas do Estado ou
Região é necessário modificar as consultas do arquivo EfetuarCargaDadosLegados.java, no método
iniciarProcessosOGU(). Por exemplo, a consulta:
"select pt from [DADOS CADASTRAIS DA OPERAÇÃO] where pt is not null and UF='BA’ "
Servidor de E-mail
Para o envio de e-mails, o servidor SMTP deve ser local. Caso não seja o caso, é possível
utilizar a classe PhpMailer para enviar e-mail através de servidores remotos.
Além disso, é no arquivo /etc/conf/parametrosiniciais.php onde deve ser modificado o
endereço de e-mail do novo administrador do sistema.
Modificações na Interface
De: Para:
$_SESSION["x1"] = -78; //x1 $_SESSION["x1"] = -46; //x1
$_SESSION["y1"] = -34; //y1 $_SESSION["y1"] = -20; //y1
$_SESSION["x2"] = -24; //x2 $_SESSION["x2"] = -35; //x2
$_SESSION["y2"] = 5; //y2 $_SESSION["y2"] = -8; //y2
Feitas as modificações nas coordenadas, a visualização inicial do mapa passou a ser a seguinte:
O aspecto básico das telas de consultas pode ser visto na figura abaixo:
bgBt_, bgBt – que contêm o fundo colorido exibido nos botões do sistema;
barraFina_pdf – é o arquivo que contém o logo exibido nos relatórios pdf;
bgMini – é imagem de fundo exibida no rodapé do mapa.
Uma das modificações adotadas no Geosnic Bahia foi a alteração de posição do Mapa
eyebird e da Barra de botões do mapa.
Antes da modificação, a disposição dos itens no mapa seguia a seguinte configuração:
Para modificar a posição do mapa eyebird, é preciso modificar o arquivo mapa.php. No caso
específico do Geosnic-Bahia, o arquivo foi alterado da da seguinte maneira:
De Para:
<div id="smallMap" style="position:absolute; <div id="smallMap" style="position:absolute;
top:0px; left:0px; z-index:80; top:0px; right:0px; z-index:80;
height:<?=$h_eye_ifrm?>px;" class="smallMap"> height:<?=$h_eye_ifrm?>px;" class="smallMap">
Para modificar a barra de menus, deve ser modificado o arquivo flutuanteMenus.js, alterando
a formação do menu de colunas para linhas. Para remover os espaços entre os botões, basta retirar as
seguintes ocorrências do menu:
'<tr><td><img onmouseover=parent.swapClassNameInMenu(this);
onmouseout=parent.swapClassNameInMenu(this); id="menu8" src="../../img/btFantasma.gif" border="0"
/></td></tr>'
Caso seja necessário modificar as informações contidas no rodapé do mapa, onde estão
contidas as informações de Escala, do tema e da localização basta modificar o arquivo ifrmMapa.js.
Já para modificar o rodapé com o intuito de adicionar novas informações, o arquivo a ser
modificado é o rodape.js, onde a tabela de rodapé é montada.
Na geração dos PDFs, o rodapé pode ser modificado a fim de conter as informações
pertinentes. Com esse intuito, podem ser modificados os arquivos pdf_Autor.php e pdf_FProg, da
seguinte forma:
De: Para:
$data = strftime("%A , %d/%m/%y "); $data = strftime("%d/%m/%y ");
$this->Cell(0,10,'©2007 Ministério das Cidades - $this->Cell(0,10,'©2009 Secretaria de
'. $data,0,0,'C'); Desenvolvimento Urbano : SEDUR - '.
$data,0,0,'C');
De modo a exibir somente as obras OGU da Bahia, foi aplicada uma alteração na tabela de
contatos, de forma que os códigos correspondentes aos municípios baianos fossem
preenchidos. A alteração aplicada consta no script abaixo:
Vale frisar, nesse caso, que a equipe do Ministério havia limpado a base e portanto, na tabela
mct_municipiocontrato e con_contrato somente contiam municípios da Bahia. Mas, ainda assim, ao
pedir a exibição da camada OGU, as obras de todo território nacional eram exibidas pelo fato das
informações de geométricas estarem separadas das tabelas de atributos no banco.
Com a tabela “con_contrato” alterada, foi gerada uma camada, no Terraview, a partir da
camada de Obras OGU original, de forma que fossem exibidas somente as obras cuja coluna
con_nomelocalidade não fosse nula.
Para fazer as consultas simples retornarem somente as informações do Estado específico, modificar a
tabela csp_consulta simples no banco. Nessa tabela, modifique as colunas
csp_defespacialnomesroot, csp_defespacialidroot e csp_despacialnomes com os dados do seu
Estado. Na coluna csp_defespacialids, apagar os códigos dos Munícipios originais.
Como ilustração, a consulta simples por Dados Econômicos originalmente retornava os dados do
Estado do Maranhão, como pode ser observado abaixo:
Outra importante modificação aplicada foi a criação de novos tipos de consulta que melhor se
enquadravam aos dados da SEDUR. A primeira mudança foi feita no layout da página
frmNivelAgrupamento.php, que ficou com o seguinte aspecto:
case "Territórios":
$strSQL = "select uf_sigla, uf_nome from uf_unidadefederacao WHERE uf_sigla= 'BA' order by 2";
findEstados(5, $strSQL, $objConexao, $str, $defEspacialIdsRoot, $defEspacialIds);
break;
case "RDS":
$strSQL = "select uf_sigla, uf_nome from uf_unidadefederacao WHERE uf_sigla= 'BA' order by 2";
findEstados(6, $strSQL, $objConexao, $str, $defEspacialIdsRoot, $defEspacialIds);
break;
A função findEstados está localizada no arquivo /lib/functionsTree. Nela, a pesquisa ao
banco é realizada e árvore é preenchida com os dados. O trecho adicionado à definição da função
findEstados, para o preenchimento da árvore de Territórios, é exibido a seguir:
case "Territórios":
$tblEspacial = " (SELECT a.mun_idibge, c.adg_teid_nome as agrup, c.adg_teid_id as agrupId FROM
mun_municipio a, adg_municipio_regionalizacao b, adg_territorio_identidade c ";
if (strpos($in, "select")===false)
$tblEspacial .= "WHERE c.adg_teid_id in ('".$in."') ";
else
$tblEspacial .= "WHERE c.adg_teid_id in (".$in.") ";
$tblEspacial .= "AND a.mun_idibge = b.muni_cd_municipio::varchar(6) AND b.teid_cd_territorio =
c.adg_teid_id ".") UnidEspacial LEFT JOIN ";
break;
É importante frisar que os agrupamentos das consultas sempre têm ligação com a tabela de
munícipios pois, a partir destes, é possível ter acesso às informações de histórico. Além dessa
função, as funções findIdsMesmoNivel, currentThemeByNivel, currentNameByNivel,
desagregarInfo e createLegendaAgregacao devem ser alteradas para contemplar o novo
agrupamento.
Uma extensão às consultas avançadas foi a adição dos novos agrupamentos à consulta de
contratos, como é observado na figura abaixo:
A primeira adição a ser feita foi realizada no arquivo frmSimples.php, no trecho de código
abaixo:
<option value='16'>Territórios</option>
<option value='17'>RDS</option>
O trecho acima ilustra a adição das novas opções ao combo de agrupamento. Para a consulta
de agrupamento, a página responsável pela geraração de dados é á locateContratosTotal.php. Nele,
foi modificada a função MontaQuery de acordo com o excerto de código exibido abaixo:
if ($Agrupamento == "16"){//Território
// query cartograma
$theme = "";
$Titulo = "Territórios";
$tblEspacial = " left outer join adg_municipio_regionalizacao mun_reg ON
mun_reg.muni_cd_municipio = mun.mun_idibge".
" inner join adg_territorio_identidade ter ON mun_reg.teid_cd_territorio =
ter.adg_teid_id ";
$sqlSelect = "select adg_teid_nome ";
$gp_order_by = " group by adg_teid_id,adg_teid_nome order by
to_ascii(adg_teid_nome,'LATIN1') ";
}else if ($Agrupamento == "17"){//RDS
// query cartograma
$theme = "";
$Titulo = "RDS";
$sqlSelect = "select rds_nome ";
$tblEspacial = " left outer join adg_municipio_regionalizacao mun_reg ON
mun_reg.muni_cd_municipio = mun.mun_idibge".
" inner join adg_rds rds ON rds.rds_id = mun_reg.adg_rds_fk ";
$gp_order_by = " group by rds_id,rds_nome order by to_ascii(rds_nome,'LATIN1') ;
}
Acima, de acordo com o código, é montada a consulta correspondente aos dados a serem
exibidos. Além do método citado, também foram alterados os métodos findOrderByAgroup, que
determina qual coluna será utilizada na ordenação dos dados das consultas, como pode ser visto
abaixo:
case "Territórios":
$name_Order = "to_ascii(adg_teid_nome,'LATIN1')";
break;
case "RDS":
$name_Order = "to_ascii(rds_nome,'LATIN1')";
break;
E, também, o método findLabelByAgroups que tem por função estabelacer o nome da coluna
de Agrupamento a ser exibida na grid de interface, como é ilustrado a seguir: