Um pouco de OpenLayers, Geoserver e PostGis

Publicado: 07/07/2013 em Programação, Serviços IP
Tags:, , , ,

Neste conjunto de posts disponibilizamos informações práticas sobre GIS, especialmente OpenLayers, Geoserver e PostGIS.  Na medida do possível, agregaremos receitas (pequenos tutoriais na forma de programas exemplos), de forma a facilitar o entendimento das tecnologias e poder ajudar a quem deseja programar.

Conceitos:
Os padrões WMS e WFS do consórcio OGC – Open Geospatial Consortium
Análise dos dois padrões definidos pela OGC: WMS e WFS, com exemplos da utilização de suas requisições.

OpenLayers: objeto Feature. Que bicho é este?
Análise de como criar as features, associá-lo a um layer vetorial e criar controles de interatividade usuário-features.

OpenLayers: eventos
Informações práticas para utilizar de forma estruturada eventos com a biblioteca OpenLayers.

OpenLayers: as bibliotecas JavaScript GeoExt e ExtJS
Entendendo as bibliotecas, instalando e utilizando.

Receitas com o OpenLayers:

Receita-1: OpenLayers: compreendendo melhor as features – Feature.Vector –
Nesta receita pretende-se explorar os aspectos iniciais de funcionamento da classe feature, layer vetorial e um pouco de estilo de uma feature.

  • Classes utilizadas: OpenLayers.Geometry.Point; OpenLayers.Geometry.LineString; OpenLayers.Layer.Vector; OpenLayers.Feature.Vector; OpenLayers.Util.applyDefaults e OpenLayers.StyleMap.
  • Métodos utilizados: geom_point1.distanceTo(; geom_point1.clone()

Receita-2: OpenLayers: compreendendo melhor um “Layer Vetorial”
Nesta receita pretende-se explorar o protocolo Protocol.HTTP com arquivo GeoJSON para buscar dados remotos no servidor. Com estes dados, serão mostradas as geometrias no mapa.

  • Classes utilizadas: OpenLayers.Protocol.HTTP; OpenLayers.Format.GeoJSON; OpenLayers.Strategy.Fixed e OpenLayers.LonLat.

Receita-3: OpenLayers: compreendendo melhor as features – Control.SelectFeature –
Nesta receita pretende-se explorar o “controle SelectFeature” sobre geometrias tais como: pontos, linhas e polígonos. O usuário selecionará uma ou várias features simultaneamente com um click do mouse.

  • Classes utilizadas: OpenLayers.Geometry.Point; OpenLayers.Geometry.LineString; OpenLayers.Geometry.LinearRing; OpenLayers.Layer.Vector; OpenLayers.Feature.Vector; OpenLayers.Control.SelectFeature e OpenLayers.LonLat.

Receita-4: OpenLayers: compreendendo melhor as features – Control.SelectFeature e eventos
Nesta receita pretende-se explorar o “controle SelectFeature”, mais eventos gerados pelos clicks do mouse “events.register(‘featureselected’, this, selected_feature)” sobre geometrias tais como: pontos, linhas e polígonos. O usuário selecionará uma ou várias features simultaneamente com um click do mouse.

  • Classes utilizadas: OpenLayers.Geometry.Point; OpenLayers.Geometry.LineString; OpenLayers.Geometry.LinearRing; OpenLayers.Geometry.Polygon; OpenLayers.Feature.Vector; OpenLayers.Layer.Vector; OpenLayers.Control.SelectFeature e OpenLayers.LonLat.
  • Métodos utilizados: selected_feature(event); getElementById e events.register(.

Receita-5: OpenLayers: compreendendo melhor as features – controle GetFeature – WFS
Nesta receita pretende-se demostrar como usar o controle GetFeature, utilizando Protocol.WFS, para buscar no servidor features na localização sobre o cursor do mouse.

  • Classes utilizadas: OpenLayers.Layer.Vector; OpenLayers.Feature.Vector.style; OpenLayers.Control.GetFeature; OpenLayers.Protocol.WFS.fromWMSLayer e OpenLayers.LonLat.
  • Métodos utilizados: control.events.register

Receita-6: OpenLayers: utilizando o protocolo WFS para requisitar features de servidor remoto Geoserver
Nesta receita pretende-se mostrar como buscar features em um servidor remoto, adicionando estas informações em um layer vetorial de forma a torná-las visíveis em um mapa.

  • Classes utilizadas: OpenLayers.Layer.Vector, OpenLayers.Strategy.BBOX e OpenLayers.Protocol.WFS

Sobre o Geoserver:
Instalar Geoserver no Linux – Debian
Tutorial para instalar o GeoServer utilizando tanto o container Jetty como o Tomcat numa máquina Linux – Debian. Aspectos de segurança são explorados.

Utilizar o GeoServer
São abordados aspectos referente a configuração do GeoServer para ter acesso a arquivos Shapefile e tabelas do PostGIS, e como trabalhar com arquivos Styled Layer Descriptor (SLD), entre outros.

Instalar a suíte OpenGEO no Linux – Ubuntu
O foco é a instalação da suíte OpenGeo – Community Edition, explorando: acesso a tabelas do PostGIS, instalação e utilização do PgAdminIII e PhpPgAdmin, importação de arquivos Shapefiles para o PostGis, entre outros.

O Geoserver em produção e com segurança
Aspectos importantes para o perfeito funcionamento do servidor de mapas Geoserver em ambiente de produção com Linux – Debian.

Sobre o PostGIS:
Instalar PostGIS no Linux Debian
Instalar extensão PostGIS, comentários sobre a tabela SPATIAL_REF_SYS (e sistemas de referencia espacial); quanto a utilização da extensão PostGIS aborda-se a criação de base de dados, criação de perfis de grupos e usuários, atribuições de permissões as tabelas; detalhamento de como realizar o carregamento de base de dados com arquivos shapes; e detalhes do processo de instalação de bibliotecas complementares (cpmo a Proj.4).

Instalar PostgreSQL + PostGIS no CenTOS
instalar o PostgreSQL e PostGIS no CenTOS, instalar as bibliotecas PROJ.4 e OSGEO, configurar o serviço PostgreSQL e criação de banco de dados espacial.

Ferramentas:
Debug de scripts com Firefox
O Firefox tem extensões que trazem várias falicidades para debug de códigos JavaScript e PHP.

comentários
  1. Cassia disse:

    Muito bons seus posts!
    Estou estudando Geoserver e Openlayers. Mas tenho uma dúvida na configuração :
    basta descompactar os arquivos do OL dentro da pasta www do geoserver para utilizar?
    Estou perguntando isso porque os exemplos que fiz funcionaram, porém quando eu chamo camadas WMS do meu geoserver não funciona nem sequer os exemplos que vem na instalação.
    Na pasta www tem uma pasta chamada Openlayers, isso quer dizer que já é nativo ?

Deixe um comentário, pois isto é muito motivante para continuarmos este trabalho