sexta-feira, 25 de novembro de 2011

Como usar o Postgis para armazenar índices espaciais do Geonetwork

Vi recentemente um artigo sobre o uso do Geoserver para acessar o arquivo de índice espacial do Geonetwork (GN). Esse arquivo é gerado pelo Lucene (indexador utilizado pelo GN) e por padrão é armazenado em um SHAPEFILE na pasta web\geonetwork\WEB-INF\lucene\spatial .

Ao invés de usar SHAPEFILE é possível configurar o GN para usar o Postgis e armazenar o índice, com isso, pode-se criar uma camada em um visualizador, como o i3Geo.

Fiz essa configuração para a versão 2.6.4 do GN, conforme segue.

- Seu banco de dados, onde estão as tabelas do GN, precisa ser um banco Postgis. Se for um banco Postgres, vc vai precisar mudar isso. Uma forma é criando um novo banco, usando o template do Postgis, depois basta fazer um dump do banco original e restaurar no novo banco.

- Crie a tabela onde ficará o índice eapacial:

CREATE TABLE spatialindex
(
  fid integer NOT NULL,
  id character varying(250),
  the_geom geometry,
  CONSTRAINT spatialindex_pkey PRIMARY KEY (fid),
  CONSTRAINT enforce_dims_the_geom CHECK (st_ndims(the_geom) = 2),
  CONSTRAINT enforce_geotype_the_geom CHECK (geometrytype(the_geom) = 'MULTIPOLYGON'::text OR the_geom IS NULL),
  CONSTRAINT enforce_srid_the_geom CHECK (st_srid(the_geom) = 4326)
)
WITH (
  OIDS=FALSE
);
ALTER TABLE spatialindex OWNER TO postgres;

CREATE INDEX spatialindexndx1
  ON spatialindex
  USING btree
  (id);

CREATE INDEX spatialindexndx2
  ON spatialindex
  USING gist
  (the_geom);


- Atualize a tabela geometry_column:

COPY geometry_columns (f_table_catalog, f_table_schema, f_table_name, f_geometry_column, coord_dimension, srid, type) FROM stdin;
    public    spatialindex    the_geom    2    4326    MULTIPOLYGON
\.


- Altere o arquivo de configuração do GN:

edite o arquivo web\geonetwork\WEB-INF\config.xml e troque 
jdbc:postgresql://......
por
jdbc:postgis://.......

- Reinicie o geonetwork no servidor

- Faça login como administrador no GN e na opção de configuração do sistema reconstrua o índice Lucene

- Verifique a tabela spatialindex no banco de dados. Ela deverá estar preenchida agora.

- Crie um MAPFILE como o seguinte:

MAP
  FONTSET "../symbols/fontes.txt"
  SYMBOLSET "../symbols/simbolos.sym"
  LAYER
    CONNECTION "user=postgres dbname=geonetwork264 host=localhost port=5432 password=postgres"
    CONNECTIONTYPE POSTGIS
    DATA "the_geom FROM (select id::integer as gid,the_geom,'http://localhost:8080/geonetwork/srv/br/metadata.show?id='||id as link from spatialindex) as foo USING UNIQUE gid USING SRID=4291"
    METADATA
      "CLASSE"    "SIM"
      "ITENS" "gid"
      "ITENSDESC" "Metadado"
      "ITENSLINK" "http://localhost:8080/geonetwork/srv/br/metadata.show?id=[gid]"
      "TEMA"    "Índice espacial do Geonetwork"
    END
    NAME "geonetworkindice"
    STATUS OFF
    TEMPLATE "none.htm"
    TYPE POLYGON
    UNITS METERS
    CLASS
      NAME ""
      STYLE
        ANGLE 360
        OUTLINECOLOR 196 185 103
        OPACITY 100
      END
    END
  END
END


- E abra o i3Geo: http://localhost/i3geo/ms_criamapa.php?temasa=geonetworkindice,estadosl&layers=geonetworkindice,estadosl

O resultado é mostrado na imagem abaixo.


sexta-feira, 7 de outubro de 2011

Busca de metadados da INDE com o i3Geo

A Infraestrutura Nacional de Dados Espaciais (INDE) é uma ação do governo brasileiro coordenada pela CONCAR. Um dos principais componentes da INDE é o catálogo de metadados, implantado com o software Geonetwork.
Os metadados da INDE podem ser consultados por meio da interface do catálogo, mas é possível utilizar os Web Services disponíveis para a geração de aplicativos computacionais customizados. No i3Geo foi implementada uma ferramenta para isso. Ainda é uma ferramenta experimental, já que os Web Services da INDE não operam de forma completa, mas a ideia é que o usuário possa navegar no mapa e pesquisar dados na área em foco, adicionando novas camadas com base nos serviços WMS encontrados.
A ferramenta foi implantada com a biblioteca CSW client. Seguem algumas imagens de exemplo e a ferramenta pode ser utilizada em http://geodum.no-ip.info/i3geo/interface/openlayers.htm




quinta-feira, 22 de setembro de 2011

i3Geo + Thematic Mapping

"Thematic Mapping" (TM) é um software feito em PHP que permite a geração de arquivos kml específicos para a representação de dados estatísticos na forma de cartogramas.

No i3Geo o TM foi integrado como uma ferramenta que permite usar os dados de uma camada existente no mapa como fonte para geração do KML e visualização no Google Earth.

Seguem algumas imagens ilustrativas que consideram os dados de população dos municípios brasileiros.









quarta-feira, 21 de setembro de 2011

Bolsas para alunos de pós-graduação na Embrapa

A Embrapa Moniotramento por Satélite está oferecendo bolsas para
alunos de pós-graduação (o candidato deve ter vínculo de estudante).  
Contato: celina@cnpm.embrapa.br
Desenvolvimento de banco de dados geoespaciais, webgis, usando
tecnologias indicadas para a plataforma da Infraestrutura Nacional de
Dados Geoespacial.
O candidato deve estar matriculado em pós-graduação (Computação/Engenharias).

Os trabalhos serão realizados na Embrapa Monitoramento por Satélite
(Campinas/São Paulo). 
 
Endereço:
Embrapa Monitoramento por Satélite
Av. Soldado Passarinho, 303
Fazenda Chapadão CEP 13070-115 Campinas, SP, Brasil
Fone: +55 (19) 3211-6200 Fax: +55 (19) 3211-6222

Mestrando 20h/semana: R$ 970,00
Mestrando 30h/semana: R$ 1.160,00
Doutorando 20h/semana: R$ 1.470,00
Doutorando 30h/semana: R$ 1.670,00
(Vale transporte: R$ 132,00)
 
Mensagem divulgada a pedido de Celina Takemura