De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.
Colaboração: Cesar Brod
Data de Publicação: 17 de janeiro de 2014
Em função da migração para novos servidores e do anúncio do final do suporte da versão 2 da Google Maps API, a BrodTec não mais manterá ativo o site com a demonstração do aplicativo MapZoom, a não ser que alguma boa alma voluntária concorde em fazer a migração, recebendo todos os devidos créditos da autoria deste trabalho e, de quebra, os livros Scrum - Guia Prático para Projetos Ágeis e Aprenda a Programar - A arte de ensinar o computador.
Para quem não lembra, o MapZoom foi o projeto de graduação em Engenharia da Computação de minha sócia, a Joice Käfer, em 2008, para o qual tentamos, posteriormente, obter verbas para transformá-lo em um sistema de gestor de conteúdo web cuja principal interface com o usuário seriam mapas na web. A ideia era facilitar a construção de portais cujas principais fontes de informação fossem georreferenciadas. Mesmo não conseguindo a tal verba, ainda mantemos o portal, com o código-fonte totalmente aberto, para que qualquer interessado pudesse aprender a partir do que foi desenvolvido. Claro, de 2008 para cá muita coisa evoluiu...
Se você não tem a mínima ideia do que é PostGis (em resumo, é a extensão que permite que o gerenciador de banco de dados PostgreSQL trabalhe com objetos espaciais - aqueles aos quais você acessa usando latitudes e longitudes), recomendo que você leia o trabalho da Joice, uma bela introdução à construção de aplicações baseadas em mapas na web e ainda bastante atual.
Se você usa uma distribuição baseada em Debian, as dicas a seguir devem ajudá-lo na "partida".
A primeira coisa a ser feita é garantir que você tem todos os pacotes necessários instalados. Faça isso com o seguinte comando:
apt-get install apache2 php5 postgresql postgis postgresql-9.1-postgis
Aceite todos os prerrequisitos que forem oferecidos respondendo S (ou Y se sua instalação estiver em inglês). Alguns dos pacotes podem já ter sido instalados, por padrão, em sua distribuição.
Dica: Caso seu sistema não encontre um ou mais dos pacotes a serem instalados, primeiro certifique-se de que ele está acessando a internet, por exemplo, executando o comando ping direcionado a um site que você sabe que existe:
ping www.google.com
Se esse comando não funcionar, você tem problemas com a sua configuração de rede e, então, deve procurar resolvê-los antes de seguir adiante. Caso o comando ping tenha funcionado, pode ser que você não tenha todas as fontes de pacotes disponíveis em seu arquivo /etc/apt/sources.list. Verifique seu conteúdo com qualquer editor de textos, ou com o comando cat:
cat /etc/apt/sources.list
Ali você deve ter uma dica de qual é a versão do Debian na qual sua distribuição está baseada. A mais recente, até a escrita desse artigo, é a wheezy. Acesse o site http://debgen.simplylinux.ch/ e gere as entradas apropriadas para o seu sistema (selecione as fontes Main, Contrib, Security e Updates) e edite apropriadamente seu arquivo /etc/apt/sources.list para incluir as que, eventualmente, estiverem faltando (não deixe de, antes disso, fazer uma cópia de seu arquivo original). Faça um teste para ver se o servidor apache está funcionando, acessando seu servidor, preferencialmente de uma outra máquina, através de um navegador onde você colocará, na barra de endereços, algo do tipo:
http://xxx.xxx.xxx.xxx
(onde xxx.xxx.xxx.xxx) é o endereço IP da máquina onde você está instalando o PostGis e seus prerrequisitos. O apache2 não é, necessariamente, prerrequisito do PostGis, mas você irá usá-lo ao instalar o MapZoom para testar completamente o seu ambiente.
Dica: Caso você não tenha experiência com a instalação de máquinas virtuais, comece por esse artigo.
Agora, vamos preparar o ambiente, criando uma base de dados chamada gis e habilitando-a para o uso das extensões espaciais.
su postgres cd createdb gis createlang plpgsql gis psql -d gis -f /usr/share/postgresql/9.1/contrib/postgis-1.5/postgis.sql psql -d gis -f /usr/share/postgresql/9.1/contrib/postgis-1.5/spatial_ref_sys.sql
Supondo que você não teve nenhum erro nas etapas anteriores (ou que teve, mas conseguiu resolvê-los), a lista de comandos acima deve ter se completado sem problemas. Para testar, porém, vamos carregar a nossa base de dados gis com alguns dados georreferenciados e usá-la para alimentar o aplicativo MapZoom em sua máquina. Para isso, baixe os fontes do MapZoom a partir deste link e descompacte-os com o seguinte comando:
tar -xzvf mapzoom_16_07_2009.tgz
Dentre os arquivos descompactados, você deve encontrar a pasta sql. Ainda como o usuário postgres (lembre-se do comando su postgres que você executou), popule sua base de dados com os arquivos que estão nessa pasta.
psql -d gis < facilidades.sql psql -d gis < bairros.sql psql -d gis < imoveis.sql
Importante: Você deve configurar uma senha para o seu usuário postgres. Isso não é feito automaticamente pelo processo de instalação. Para isso, siga os seguintes passos (o que está depois do # são apenas comentários):
su postgres # esse comando não é necessário se você ainda não voltou ao usuário root psql # levará você ao prompt de comando do PostgreSQL postgres=# alter user postgres password 'novasenha'; ALTER ROLE postgres-# \q # para sair do prompt de comando do PostgreSQL
Pressione simultaneamente as teclas Control e D para retornar ao usuário root.
Se você colocar os arquivos que estão dentro da pasta mapzoom no diretório raiz de seu servidor web (tipicamente /var/www) você já deve conseguir ter o acesso a aplicação, ainda não funcional, ao acessar o seu servidor através de seu endereço IP (como no teste que você fez para testar se o apache estava funcionando). Ajuste o arquivo conecta.php para que ele corresponda a seu ambiente (em especial, coloque a senha de acesso para o PostgreSQL).
Um bom guia de migração entre as versões 2 e 3 da Google Maps API pode ser encontrado nesse link.
Não deixe de comentar o código e também de atualizar os arquivos INSTALL, CHANGELOG e README para incluir seu nome e outras referências que desejar.
No mínimo, esse é um projeto de férias bacana se você quer começar a criar aplicações baseadas em mapas na web!
A desenvolvedora original do MapZoom é a Joice Käfer.
Cesar Brod ministra cursos in-house adequados à necessidade de sua empresa, além de atuar como coach de equipes ágeis. Visite nosso portal para saber mais ou entre em contato diretamente com o autor para mais informações.
This policy contains information about your privacy. By posting, you are declaring that you understand this policy:
This policy is subject to change at any time and without notice.
These terms and conditions contain rules about posting comments. By submitting a comment, you are declaring that you agree with these rules:
Failure to comply with these rules may result in being banned from submitting further comments.
These terms and conditions are subject to change at any time and without notice.
Comentários