You are on page 1of 19

Governo do Estado da Bahia

Histórico de Modificações
- Geosnic
Governo do Estado da Bahia

GOVERNO DO ESTADO DA BAHIA


Jaques Wagner

SECRETARIA DE DESENVOLVIMENTO URBANO


Afonso Bandeira Florence

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

Coordenação de Informações Geográficas - CGI


Leonardo Euler Santos

Elaboração

Coordenação de Informações Geográficas - CGI


Alípio Dantas
Arnaldo Bispo
Igor Nogueira Santos
Lenir Ferreira Silva
Leonardo Euler Santos
Renatto Attiê Lima

Secretaria de Desenvolvimento Urbano 1


Av. Tancredo Neves, 450 – Ed. Suarez Trade, 34º andar - CEP 41820-020 – Salvador – Bahia – Brasil
Tel: (71) 3116-5700 – Fax: (71) 3116 5705 - site: www.sedur.ba.gov.br
Governo do Estado da Bahia

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

Secretaria de Desenvolvimento Urbano 2


Av. Tancredo Neves, 450 – Ed. Suarez Trade, 34º andar - CEP 41820-020 – Salvador – Bahia – Brasil
Tel: (71) 3116-5700 – Fax: (71) 3116 5705 - site: www.sedur.ba.gov.br
Governo do Estado da Bahia

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.

Construído na plataforma de software livre, o Geosnic é baseado no Sistema


Operacional Linux, servidor web Apache, linguagem PHP, banco de dados postgres e na
biblioteca de informações espacias terralib.

Este documento compila as principais modificações realizadas na aplicação a fim de


que a mesma melhor se adequasse à utilização pela SEDUR-BA.

Secretaria de Desenvolvimento Urbano 3


Av. Tancredo Neves, 450 – Ed. Suarez Trade, 34º andar - CEP 41820-020 – Salvador – Bahia – Brasil
Tel: (71) 3116-5700 – Fax: (71) 3116 5705 - site: www.sedur.ba.gov.br
Governo do Estado da Bahia

Manual de Instalação

Instalando Postgres 8.1.3

1. Copiar o arquivo de instalação para /usr/local;

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.

4. Crie o diretório postgres


# /usr/local:~$ mkdir postgres ;

5. Acesse a pasta descompactada


#/usr/local:~$ cd Postgres-8.1.3

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.

8. Em seguida criar o usuário postgres:


#/usr/local/Postgres-8.1.3:~$ add user postgres

9. Mudar o dono da pasta postgres para o usuário postgres:


#/usr/local/postgres:~$ chown -R postgres . (o ponto faz parte do comando)

10. Acesse como usuário postgres


#/usr/local/Postgres-8.1.3:~$ su postgres

11. Criar pasta data no diretorio /usr/local/postgres$


#/usr/local/Postgres-8.1.3:~$ cd ..
#/usr/local:~$ cd postgres
#/usr/local/postgres:~$ mkdir data

12. Acessa a pasta data.


#/usr/local/postgres:~$ cd data
#/usr/local/postgres/data: /usr/local/postgres/bin/initdb -E=latin1 --locale=pt_br . (o ponto
faz parte do comando)

Secretaria de Desenvolvimento Urbano 4


Av. Tancredo Neves, 450 – Ed. Suarez Trade, 34º andar - CEP 41820-020 – Salvador – Bahia – Brasil
Tel: (71) 3116-5700 – Fax: (71) 3116 5705 - site: www.sedur.ba.gov.br
Governo do Estado da Bahia

13. Após concluído editar o arquivo pg_hba.conf em /usr/local/postgres/data:


#/usr/local/postgres/data:~$ gedit pg_hba.conf

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.

14. Acessar também o arquivo postgresql.conf modificando a propriedade #listen_adress =


'localhost' para listen_adress = '*', lembrando de suprimir o #.

15. Inicie o postgres:


#/usr/local/postgres/bin:~$ ./pg_ctl -D /usr/local/postgres/data / start

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)

17. Criar usuário cgi:


postgres=# create user cgi with password 'xxxx';

18. Criar o banco geosnic com o comando: create database geosnic with owner=cgi;
postgres=# create database geosnic with owner=cgi;

19. Copie o backup do banco em /usr/local;

20. Entre na pasta usr/local/postgres/bin e restaure o banco:


# /usr/local/postgres/bin=~$ pg_restore -h localhost -p 5432 -U cgi -F c -v -d geosnic -O
“caminho e nome do arquivo de dump”;

Instalando servidor Apache 2.2.0

1. Copie o arquivo httpd-2.2.0.tar.gz para /usr/local


2. Descompacte-o
#/usr/local:~$ tar -xvzf httpd-2.2.0.tar.gz

3. Na pasta /usr/local criar o diretório apache


#/usr/local:~$ mkdir apache;

4. Acesse a pasta criada após a descompactação, e observe os parâmetros de configuração no


arquivo INSTALL. (Somente a título de conhecimento)
#/Desktop/httpd-2.2.0:~$ gedit INSTALL

5. Na mesma pasta execute:


# /Desktop/httpd-2.2.0:~$ ./cofigure –prefix=”/usr/local/apache”

6. Quando concluir o procedimento:


#/Desktop/httpd-2.2.0:~$ make
#/Desktop/httpd-2.2.0:~$ make install

7. Inicie o serviço.

Secretaria de Desenvolvimento Urbano 5


Av. Tancredo Neves, 450 – Ed. Suarez Trade, 34º andar - CEP 41820-020 – Salvador – Bahia – Brasil
Tel: (71) 3116-5700 – Fax: (71) 3116 5705 - site: www.sedur.ba.gov.br
Governo do Estado da Bahia

# /usr/local/apache/bin:~$ ./apachectl start


8. Libere as permissões de acesso para as pasta /usr/local/apache/htdocs/geosnic/tmp e
/usr/local/apache/htdocs/geosnic/log
#/usr/local/apache/htdocs/geosnic/tmp:~$ chmod -R 777 . (o ponto faz parte do comando)
#/usr/local/apache/htdocs/geosnic/log:~$ chmod -R 777 .

Instalando PHP 4.4.8

1. Verficar se estão instalados os seguintes pacotes:


1. zlib
2. libpng
3. libgd2-xpm-dev
4. libfreetype

2. copie o arquivo php-4.4.8.tar.gz para /usr/local

3. descompacte o arquivo :
#/usr/local:~$ tar -xvzf php-4.4.8.tar.gz

4. Acesse a pasta criada


#/usr/local:~$ cd php-4.4.8

4. Faça o processo de instalação:


#/usr/local/php-4.4.8:~$ aptitude install flex
#/usr/local/php-4.4.8:~$ ./configure --with-apxs2=/usr/local/apache/bin/apxs --enable-magic-
quotes --enable-track-vars --enable-calendar --with-gettext --with-xml --with-gd --with-
freetype-dir=/usr --enable-gd-native-ttf --enable-gd-imgstrttf --with-zlib --enable-ftp --
enable-debugger --enable-inline-optimization --enable-memory-limit --enable-posix --enable-
session --without-kerberos --enable-trans-sid --enable-safe-mode --with-exec-dir=/usr/bin –
with-pgsql =/usr/local/postgres

#/usr/local/php-4.4.8:~$ make

#/usr/local/php-4.4.8:~$ make install

5. Copie os arquivos mod_php.conf e httpd.conf para /usr/local/apache/conf (estes arquivos se


encontram no cd da aplicação)

6. Copie o arquivo php.ini para /usr/local/lib

Instalando Biblioteca Terraweb

1. Copiar o arquivo lib.tar.gz para /usr/local

2. Descompacte o arquivo:

Secretaria de Desenvolvimento Urbano 6


Av. Tancredo Neves, 450 – Ed. Suarez Trade, 34º andar - CEP 41820-020 – Salvador – Bahia – Brasil
Tel: (71) 3116-5700 – Fax: (71) 3116 5705 - site: www.sedur.ba.gov.br
Governo do Estado da Bahia

#/usr/local:~$ tar -xvzf lib.tar.gz

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

5. Crie um arquivo teste.php em /usr/local/apache/htdocs e coloque o seguinte conteúdo:


<?php phpinfo();?>

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:

Secretaria de Desenvolvimento Urbano 7


Av. Tancredo Neves, 450 – Ed. Suarez Trade, 34º andar - CEP 41820-020 – Salvador – Bahia – Brasil
Tel: (71) 3116-5700 – Fax: (71) 3116 5705 - site: www.sedur.ba.gov.br
Governo do Estado da Bahia

Levantando a aplicação

1. Copiar o arquivo geosnic.tar.gz para /usr/local/apache/htdocs (o arquivo está no cd da


aplicação)

2. Descompactar como o comando: tar -xvzf “nome do arquivo”

3. Altere as permissões de acesso das pastas tmp e log através do comando:


1. chmod 777 -R /usr/local/apache/htdocs/geosnic/tmp
2. chmod 777 -R /usr/local/apache/htdocs/geosnic/log

4. Entre na pasta /usr/local/apache/htdocs e modifique o usuário e o grupo da aplicação geosnic


# /usr/local/apache/htdocs:~$ chown -R www-data:www-data geosnic

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

Alterando a conexão com o banco

1. Acesse o arquivo /usr/local/apache/htdocs/geosnic/etc/conf/str.connect_postgres.php e altere


as configurações de conexão com os dados do banco.

Modificando chave API-GOOGLE

Para modificar a chave google, entrar no site http://code.google.com/intl/pt-


BR/apis/maps/signup.html e gerar a chave da API. Com o código gerado, modificar o arquivo
“parametros_iniciais.php” localizado na pasta /usr/local/apache/htdocs/geosnic/etc/conf, substituindo
o código antigo pelo novo na sessão $_SESSION[“key_google”].

Instalando aplicação Java e atualizando os dados:

1. No Windows, copiar pasta GEOSNIC_OGU do cd de instalação para a pasta C:\Arquivos de


Programas;
2. Nessa pasta, execute com um duplo clique o arquivo GEOSNIC.jar;
3. Baixar ao arquivo de atualização no site da Caixa no endereço
http://www1.caixa.gov.br/download;
4. Na página de Downloads, escolher a opção Órgãos Públicos e baixar o arquivo de
atualização;

Secretaria de Desenvolvimento Urbano 8


Av. Tancredo Neves, 450 – Ed. Suarez Trade, 34º andar - CEP 41820-020 – Salvador – Bahia – Brasil
Tel: (71) 3116-5700 – Fax: (71) 3116 5705 - site: www.sedur.ba.gov.br
Governo do Estado da Bahia

5. Abra o arquivo .dbf através do Access e retire todos os apóstrofes (');


6. Na aplicação Java, selecione a opção "Efetuar" ;
7. Na janela que se abre, escolha Dados Legados;
8. Selecione a opção "OGU" ;
9. Por último, navegue pelas pastas e selecione o arquivo .dbf baixado da Caixa para que o
processo de atualização tenha início;

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 "

Pode ser modificada para:

"select pt from [DADOS CADASTRAIS DA OPERAÇÃO] where pt is not null and UF='BA’ "

Desse modo, somente os dados cadastrais da Bahia serão considerados na rotina de


atualização.

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 "

Pode ser modificada para:

"select pt from [DADOS CADASTRAIS DA OPERAÇÃO] where pt is not null and UF='BA’ "

Secretaria de Desenvolvimento Urbano 9


Av. Tancredo Neves, 450 – Ed. Suarez Trade, 34º andar - CEP 41820-020 – Salvador – Bahia – Brasil
Tel: (71) 3116-5700 – Fax: (71) 3116 5705 - site: www.sedur.ba.gov.br
Governo do Estado da Bahia

Desse modo, somente os dados cadastrais da Bahia serão considerados na rotina de


atualização.

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.

Secretaria de Desenvolvimento Urbano 10


Av. Tancredo Neves, 450 – Ed. Suarez Trade, 34º andar - CEP 41820-020 – Salvador – Bahia – Brasil
Tel: (71) 3116-5700 – Fax: (71) 3116 5705 - site: www.sedur.ba.gov.br
Governo do Estado da Bahia

Modificações na Interface

Centralização do Mapa de Visualização

A tela inicial do Geosnic apresenta as camadas de visualização de informações e o


mapa de visualização, que está centralizado no Brasil.

A primeira modificação foi realizada nos arquivos /src/php/mapa.php e


/src/php/index.php com o intuito de centralizar, na Bahia, a visualização do mapa. Para
tanto, as seguintes informações foram modificadas nos arquivos mencionados:

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:

Secretaria de Desenvolvimento Urbano 11


Av. Tancredo Neves, 450 – Ed. Suarez Trade, 34º andar - CEP 41820-020 – Salvador – Bahia – Brasil
Tel: (71) 3116-5700 – Fax: (71) 3116 5705 - site: www.sedur.ba.gov.br
Governo do Estado da Bahia

Modificações nas imagens e cores da visualização

As cores da aplicação e o logo podem ser modificados no arquivo flutuante.css, na pasta


/src/css, que utiliza as imagens localizadas na pasta geosnic/img. As imagens que compõem o layout
básico do sistema são as seguinte:

 banner.png – contém o logo exibido na página inicial do sistema;


 bgBarraPrincipal.png – contém a imagem de fundo do logo que compõe o banner da página
principal, cuja ilustração se encontra a seguir.

 barraFina – é o logo apresentado no banner das subtelas de consulta;


 bgBarra – representa o fundo do banner das telas de consulta.

O aspecto básico das telas de consultas pode ser visto na figura abaixo:

Além dessas, existem outras imagens que merecem destaque:

 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.

Modificando direção do eyebird , do menu de botões do mapa e rodapé.

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:

Secretaria de Desenvolvimento Urbano 13


Av. Tancredo Neves, 450 – Ed. Suarez Trade, 34º andar - CEP 41820-020 – Salvador – Bahia – Brasil
Tel: (71) 3116-5700 – Fax: (71) 3116 5705 - site: www.sedur.ba.gov.br
Governo do Estado da Bahia

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.

Feitas as modificações citadas, o mapa do Geosnic ficou da seguinte forma:

Secretaria de Desenvolvimento Urbano 14


Av. Tancredo Neves, 450 – Ed. Suarez Trade, 34º andar - CEP 41820-020 – Salvador – Bahia – Brasil
Tel: (71) 3116-5700 – Fax: (71) 3116 5705 - site: www.sedur.ba.gov.br
Governo do Estado da Bahia

Modificando Camadas e vistas

No arquivo geosnic\etc\conf\parametros_iniciais.php é possível modificar as variáveis


$vista_inicial, $tema_corrente, $vista_eyebird e $tema_eyebird para trocar o nome da vista do mapa,
do tema padrão do mapa, da vista do eyebird e do tema inicial do eyebird. Por exemplo, caso o nome
da vista original (web) seja alterada na base através da ferramenta terraweb, para que essa
informação seja exibida na aplicação a variável $vista_inicial deve ser modificada. Se, por outro
lado, seja necessário modificar o tema padrão (no modelo do Ministério, o tema “Municipios”) basta
modificar a variável $tema_corrente para que ela contanha o nome do novo tema.
Outra modificação implementada foi o carregamento automático do mapa na escolha do
tema na árvore de temas e vistas, sem a necessidade de pressionar o botão “Redesenhar mapa” da
barra de menu do mapa. Para tanto, o arquivo /src/php/frmMatrixLayer.php foi alterado de
adicionando o evento onclick na montagem dos checkbox, como pode ser visto no trecho de código
abaixo:
$strCheck = '<input type="checkbox"'.
'onclick=parent.submeter_("mapa.php"); class="input" name="treeCheckLayer"'.
'value="'.$arrayThemes[$j].'" id="'.$arrayViews[$i].$arrayThemes[$j].'" '.((!$pos)?(''):('checked')).
' title="Seleção dos planos visíveis na área de mapas!">';

Modificando os arquivos pdf

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');

Filtrando Obras OGU

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:

UPDATE con_contrato SET con_nomelocalidade = mct_municipiocontrato.mun_idibge


from con_contrato con INNER JOIN mct_municipiocontrato ON (con.con_numcontrato =
mct_municipiocontrato.con_numcontrato) where mct_municipiocontrato.con_numcontrato =
con_contrato.con_numcontrato

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.

Secretaria de Desenvolvimento Urbano 15


Av. Tancredo Neves, 450 – Ed. Suarez Trade, 34º andar - CEP 41820-020 – Salvador – Bahia – Brasil
Tel: (71) 3116-5700 – Fax: (71) 3116 5705 - site: www.sedur.ba.gov.br
Governo do Estado da Bahia

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.

Modificando as consultas simples

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:

Adicionando Novos Filtros

1.1 Pesquisa Avançada

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:

Secretaria de Desenvolvimento Urbano 16


Av. Tancredo Neves, 450 – Ed. Suarez Trade, 34º andar - CEP 41820-020 – Salvador – Bahia – Brasil
Tel: (71) 3116-5700 – Fax: (71) 3116 5705 - site: www.sedur.ba.gov.br
Governo do Estado da Bahia

O arquivo /js/frmWizardsLibrary.js teve as funções setNivelAgrupamento e getTheme


atualizadas para que comportassem os novos agrupamentos. A primeira função se encarrega de
modificar o endereço da imagem que é exibida cada vez que um novo agrupamento é selecionado. Já
a função getTheme obtém o tema correspondente para a exibição das informações no mapa.
O segundo script modificado foi o arquivo strDefEspacial que contém a definição do nível de
agrupamento da árvore. Para adicionar as informações sobre os territórios e rds foram somadas as
seguintes linhas ao código:

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 5:// território


$str .= "['".$straux.$matriz_pai[$i][1]."|".$matriz_pai[$i][0]."|".$matriz_pai[$i][1]."-
".$matriz_pai[$i][0]."', 0, ";
$sql = "select adg_teid_id, adg_teid_id || ' - ' || adg_teid_nome from adg_territorio_identidade order by
adg_teid_id";
findChildren($sql, $objConexao, $str, $matriz_pai[$i][0], $defEspacialIds);
if ($i < $int_linhas_0-1) {
$str .= "], \n";
}
else {
$str .= "]\n";
}

Por último, o arquivo /lib/functionsCosulta.php teve a função createVirtualTableEspacial


alterada de forma a incluir a consulta que irá preencher os dados a serem exibidos no formulário
frmConsultaRelatorio.php. Abaixo, segue o trecho de adição das informações de Território:

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.

Secretaria de Desenvolvimento Urbano 17


Av. Tancredo Neves, 450 – Ed. Suarez Trade, 34º andar - CEP 41820-020 – Salvador – Bahia – Brasil
Tel: (71) 3116-5700 – Fax: (71) 3116 5705 - site: www.sedur.ba.gov.br
Governo do Estado da Bahia

1.2 Novos Agrupamentos

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;

Secretaria de Desenvolvimento Urbano 18


Av. Tancredo Neves, 450 – Ed. Suarez Trade, 34º andar - CEP 41820-020 – Salvador – Bahia – Brasil
Tel: (71) 3116-5700 – Fax: (71) 3116 5705 - site: www.sedur.ba.gov.br
Governo do Estado da Bahia

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:

1.3 Novo Filtro


Outra modificação implantada foi a criação de um novo filtro para a pesquisa de contratos.
Esse filtro de tomador foi adicionado à tela frmSimples, como é ilustrado abaixo:

Para o funcionamento do filtro é necessário, inicialmente, modificar o script frmSimples php,


adicionando o combo e um hidden field, que irá conter o código escolhido. O trecho de adição od
combo pode ser visto abaixo:
<select id="cmbTomador" style="width:380px;" class="SELECT" size="1" onChange="Lista_Sit_Tomador();">
<?
echo Carrega_Lista_Tomador($objConexao);
?>
</select>
Como pode ser observado, esse trecho chama duas outras funções: Lista_Sit_Tomador e
CarregaListaTomador. A primeira função é um javascript, inserida no arquivo /js/frmSimples.js, que
captura o tomador escolhido e o armazena ao campo hidden adicionado ao formulário. A função
Carrega_Lista_Tomador foi adicionada ao arquivo /lib/frmSimples.php e executa a query que
retorna os dados que irão preencher o combo.
A próxima página do fluxo de consulta a ser executada é a página locateContratosPainel.php.
Essa página, basicamente, formata o layout exibido e inclui os scripts que montam a tabela de dados
exibida. Esses scripts são locateContratosTotal.php e locateContratosAvancado.php. Para cada um
deles, o novo valor do novo filtro deve ser passado na querystring que chama página, de forma que a
nova condição seja anexada à consulta montada. No arquivo e locateContratosAvancado.php, foi
modificada a função Monta_Query, a fim de incorporar o tomador ao sql do banco, como é ilustrado
no trecho abaixo:

//Inserção do filtro por tomador, caso tenha sido escolhido


if ($Tomador_ != ""){
$sqlNotEmp .= "left join ctm_contratotomador ctm using(con_numcontrato) INNER JOIN tom_tomador tom
USING (tom_idtomador) ";
if($entrouNota == true){
$sqlNotEmpAux .= " and tom.tom_idtomador ".$Tomador_. " ";
}else{
$sqlNotEmpAux .= " where tom.tom_idtomador ".$Tomador_. " "; }
}
As mesmas modificações devem ser implementadas no script locateContratosTotal.php.

Secretaria de Desenvolvimento Urbano 19


Av. Tancredo Neves, 450 – Ed. Suarez Trade, 34º andar - CEP 41820-020 – Salvador – Bahia – Brasil
Tel: (71) 3116-5700 – Fax: (71) 3116 5705 - site: www.sedur.ba.gov.br

You might also like