Mapserver e Bancos de Dados



Documentos relacionados
TUTORIAL DE CRIAÇÃO DE BANCO DE DADOS ESPACIAL

BANCO DE DADOS GEOGRÁFICOS E WEBMAPPING. Prof. Angelo Augusto Frozza, M.Sc.

Mapserver Servidor de Mapas. João Araujo

Manual de Instalação. Sistema de Gestão e Acompanhamento de Frotas SIGAFROTA. Versão 1.0 Francisco Edilson do Nascimento

Prática com Mapserver

TerraView. O TerraView está estruturado da seguinte forma: - Modelo de dados

PostgreSQL & PostGIS: Instalação do Banco de Dados Espacial no Windows 7

MAPAS E BASES DE DADOS EM SIG. QUANTUM GIS E POSTGRE SQL Operar e programar em tecnologia SIG com software open source

Noções de. Microsoft SQL Server. Microsoft SQL Server

TUTORIAL - SERVIDOR DE MAPAS

Faculdade SENAC Pelotas Curso Superior de Tecnologia em Redes de Computadores Sistemas de Informação Professor Eduardo Maroñas Monks MEDIA CORE

COORDENAÇÃO DE TECNOLOGIA (COTEC) MAIO/2010

Manual de Instalação

OpenJUMP. Pontos fracos do OpenJUMP

Geoprocessamento com Software Livre. Anderson Maciel Lima de Medeiros Consultor em Geotecnologias

Ferramentas de Administração. PostgreSQL

Introdução ao PHP. Prof. Késsia Marchi

Introdução ao Sistema. Características

Programação Orientada a Objetos com PHP & MySQL Sistema Gerenciador de Banco de Dados: Introdução e configuração de bases de dados com Postgre e MySQL

Conhecendo os usuários de um Sistema de Banco de Dados

PostgreSQL. Aula 02. Aula 02

Cenário atual de uso e das ferramentas de software livre em Geoprocessamento

Manual de Instalação. Instalação via apt-get

Projeto Integrador Programação para Internet

Universidade Federal do Estado do Rio de Janeiro UNIRIO. Guia para criação do banco de dados de redes sociais

AULA 1 Iniciando o Uso do TerraView

Documentação Symom. Agente de Monitoração na Plataforma Windows

Prof. Marcelo Machado Cunha

Guia de Instalação e Configuração do Noosfero

IMPORTANDO ARQUIVOS SHAPEFILE PARA O POSTGIS VIA PROMPT DO DOS

Roteiro 3: Sistemas Linux arquivos e diretórios

Aula 02. Introdução ao Linux

Manipulação de Banco de Dados com Java. Ms. Bruno Crestani Calegaro Maio/ 2015

Arquitetura de Banco de Dados

SOFTWARES DE GEOPROCESSAMENTO

Introdução a Banco de Dados

IBM SPSS Modeler - Princípios Básicos do R: Instruções de Instalação

Guia de instalação para ambiente de Desenvolvimento LINUX

MANIPULANDO BANCO DE DADOS NO POSTGRESQL SEM FAZER USO DE COMANDOS SQL

AULA 1 Iniciando o uso do TerraView

Sistemas de Banco de Dados

O Termo SIG é aplicado para sistemas que realizam o tratamento computacional de dados geográficos

Sistema de Atendimento v1.3 Manual de Instalação v1.0

Importação de arquivos Raster e Vetorial no Terraview

Trabalho de Sistema de Informações. Instalação e configuração aplicativo Ocomon

O que são Bancos de Dados?

BANCO DE DADOS GEOGRÁFICOS

Introdução ao PostGIS. Introdução ao PostGIS. Introdução ao PostGIS. Introdução ao PostGIS. Introdução ao PostGIS

Aula 1: Noção Básica e Criação de Tabelas.

Aula 1 Acesso a Banco de Dados

TUTORIAL PASSO A PASSO INSTALAÇÃO SERVIDOR DE SMS PARA MKAUTH

Persistência e Banco de Dados em Jogos Digitais

QUESTINAMENTOS AO EDITAL DE CONCORRÊNCIA 01/2013

Curso de Aprendizado Industrial Desenvolvedor WEB

Backup com Bacula. 05 de Março de Ponto de Presença da RNP no Espírito Santo. Sobre o Bacula. Comandos de console Interface Web.

#apt-get install make flex gcc gpp apache2 php5 php5-pgsql postgresql-8.4 libapache2-mod-php5 php5-gd php-net-socket postgres

Conceitos Iniciais MARCEL SANTOS SILVA

SQL Linguagem de Definição de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

O melhor do PHP. Por que PHP? CAPÍTULO 1. Uma Pequena História do PHP

1 Instalando o VirtualBox no Windows

MULTIACERVO - VERSÃO 17.*

No Fedora, instalamos os pacotes "mysql" e "mysql-server", usando o yum:

UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN CURSO SUPERIOR DE TECNOLOGIA EM SISTEMAS PARA INTERNET. Programação para Internet I

INSTALANDO E CONFIGURANDO O MY SQL

Instalando e Executando o Siprev em Ambiente Linux Versão SIPREV

Documento de Análise e Projeto VideoSystem

Cacti. Dependências básicas Antes de instalar o Cacti é necessário realizar a instalação de suas dependências.

Manual de Instalação Linux

Você pode testar se está tudo OK, abrindo um navegador no Debian Linux e acessando qualquer site.

Administração de Sistemas de Informação Gerenciais

Projeto Amadeus. Guia de Instalação Linux

Instalação do Pentaho BI Server no Ubuntu Server ou Superior com OpenJDK

INTRODUÇÃO BANCO DE DADOS. Prof. Msc. Hélio Esperidião

Orientações para BACKUP do SPED

1 - Crie um novo documento no ArcMap. Com o programa aberto, selecione o Dataframe Layers

O objetivo desta prática é ensinar como usar a máquina chamada computador visível ou vc0, um simulador de computador de von Neumann escrito em Java.

Desenvolvendo Websites com PHP

Engenharia de Software III

Prof. Marcelo Heitor Teixeira marceloheitor.com. Java API JDBC

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE ESCOLA AGRÍCOLA DE JUNDIAÍ EAJ - PRONATEC / REDE etec MÓDULO III DESENVOLVIMENTO PROFESSOR ADDSON COSTA

Sistemas Distribuídos

Instalação do I3GEO no servidor Linux Debian

BANCO DE DADOS CONTEÚDO INFORMÁTICA. Prof.: MARCIO HOLLWEG BANCO DE DADOS SGBD TABELA CONCEITOS BÁSICOS

SiGE - Sistema de Gerência de Eventos

Programação WEB. Prof. André Gustavo Duarte de Almeida docente.ifrn.edu.br/andrealmeida. Aula III Introdução PHP

Introdução à Banco de Dados. Definição

Laboratório de Banco de Dados Aula 1 Acesso a Banco de Dados. Prof. Josenildo Silva jcsilva@ifma.edu.br

MANUAL DO USUÁRIO NextCall Gravador Telefônico Digital

Manual de Instalação. Instalação via apt-get. SIGA-ADM versão 12.06

Manual de Instalação e Configuração do SQL Express

Android e Bancos de Dados

CADASTRO DE METADADOS POR SISTEMA DE GERENCIAMENTO DE BANCO DE DADOS GEOGRÁFICO (SGBD) EM SIG PARA UNIDADES DE CONSERVAÇÃO DO ESTADO DO RIO DE JANEIRO

Módulo e-rede VirtueMart v1.0. Manual de. Instalação do Módulo. estamos todos ligados

Linux System Administration 455

Programação com acesso a BD. Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br

PostgreSQL 8.0. Diogo Biazus

Manipulação de Arquivos Ubuntu. Haline de Souza Scotti Rodrigo Fantinati Ferreira

Transcrição:

Mapserver e Bancos de Dados João Araujo

O que é um Banco de Dados? É uma ferramenta usada para armazenar e acessar tabelas de informação. O tipo de dados pode variar de acordo com o Banco de Dados, mas tipicamente armazena números e texto.

Banco de Dados Relacional Um Banco de Dados Relacional ou Base de Dados Relacional, ou ainda um Sistema Gerenciador de Banco de Dados Relacional (SGDBR) é um sistema de armazenamento de dados baseado no princípio em que todos os dados estão armazenados em tabelas (relações), seguindo o Modelo Relacional.

Banco de Dados Espaciais É um banco de dados que armazena informação geográfica. Vários produtos do mercado usam o termo com diferenças sutis no seu significado.

Produtos ESRI's Spatial Database Engine (SDE) Que não é, estritamente falando, um BDE, mas uma interface entre o cliente e um banco de dados convencional, onde são armazenados dados espaciais no formato ESRI. Oracle Spatial Extensão Espacial para o banco de dados DB2 da IBM. Extensão Espacial para MySQL. PostGIS

PostGIS Uma extensão do PostgreSQL. Banco de Dados Espaciais Avançado. Pode armazenar e manipular Dados Espaciais. Não é simplesmente um depósito de dados, mas um ambiente para interagir com dados espaciais. Implementação robusta de todas as especificações da OGC Simple Features Specification for SQL (SFSQL). O tipo e as coordenadas do objeto são definidos segundo o OGC WKT (Well-Known Text) e WKB (Well-KnownBinary).

Exemplos WKT como definidos pelo OGC POINT(2572292.2 5631150.7) LINESTRING (2566006.4 5633207.9, 2566028.6 5633215.1, 2566062.3 5633227.1) MULTILINESTRING((2566006.4 5633207.9, 2566028.6 5633215.1), (2566062.3 5633227.1, 2566083 5633234.8)) POLYGON (2568262.1 5635344.1, 2568298.5 5635387.6, 2568261.04 5635276.15, 2568262.1 5635344.1);

PostGreSQL Também chamado de Postgres. Brasileiros também chamam de Postgree(?). Banco de Dados Objeto-Relacional.

PostgreSQL é organizado segundo o modelo cliente-servidor

Modelo Cliente-Servidor do PostgresSQL - Servidor Um processo servidor, que gerencia os arquivos de banco de dados, recebe conexões dos aplicativos cliente com o banco de dados, e executa ações no banco de dados em nome dos clientes. O programa servidor de banco de dados se chama postmaster.

Modelo Cliente-Servidor do PostgresSQL - Cliente O aplicativo cliente do usuário (frontend) que deseja executar operações de banco de dados. O cliente pode ser uma ferramenta no modo caractere, um aplicativo gráfico, um servidor Web que acessa o banco de dados para mostrar páginas Web, ou uma ferramenta especializada para manutenção do banco de dados.

PostGIS é um módulo de extensão do PostgreSQL

Consulta ao BD O servidor processa o pedido, monta os dados e envia o resultado. Todo o trabalho é feito no servidor, pois a maioria dos computadores não está preparada para a carga da consulta aos BD. Se todo o dado tiver que ser enviado pela rede para o cliente, a rede e o cliente passam a ser o gargalo do sistema.

Aplicações GIS Usam o poder de computação da máquina cliente. Exemplo: a fusão de vários polígonos baseada em algum atributo. A aplicação carrega todos os polígonos na memória ou em algum arquivo temporário. Quando o processo começa, o uso do processador e da memória pode ser intenso. Se a aplicação não possui a funcionalidade requerida, você tem que comprar algum plugin ou aplicação alternativa.

Futuro das Aplicações GIS Serão apenas pouco mais que visualizadores, com toda a funcionalidade acontecendo no banco de dados espaciais.

PostGIS Implementa o OGC Simple Feature Specifications for SQL (SFSQL). OGC define operações para inserir, consultar, manipular e deletar objetos espaciais. As coordenadas do objeto são armazenadas em tabelas de feições.

PostGIS Possui três componentes: Biblioteca libpostgis que é a interface entre PostgreSQL e as capacidades espaciais do PostGIS. Um script principal para carregar funções e tipos do PostGIS. Um script opcional para trabalhar com projeções.

PostGIS Site: http://postgis.refractions.net/docs/

Interfaces do PostGIS para Dados GIS. Nativamente possui suporte para shapefile. Vários tipos de dados (Shape, MapInfo, DGN, GML,...) podem ser lidos, convertidos e inseridos no PostGIS com auxílio das bibliotecas OGC.

GEOS GEOS (Geometry Engine - Open Source) provê um modelo de objetos espaciais além de funções geométricas fundamentais. Funções fornecidas incluem: predicados espaciais, funções de intersecção, diferença, união etc. Escrita em C++.

PROJ Biblioteca usada para reprojetar ou transformar coordenadas.

Conexão O servidor PostgreSQL pode tratar várias conexões simultâneas de clientes. É iniciado um novo processo (fork ) para cada conexão. Daí em diante, o cliente e o novo processo servidor se comunicam sem intervenção do processo postmaster original. O postmaster está sempre executando aguardando por novas conexões dos clientes.

Instalando PostgreSQL, PostGIS e Geos no Ubuntu. Pode-se usar o synaptic ou Instalando na mão, usando os pacotes mais recentes.

Passos Instalar executar PostgreSQL Habilitar a linguagem de suporte pl/pgsql Carregar o script postgis.sql (ou lwpostgis.sql) Carregar o script spatial_ref_sys.sql Criar o banco de dados

1: Baixar Arquivos Baixar o PostgreSQL: http://www.postgresql.org/download/ Baixar o Geos: http://geos.refractions.net/ Baixar o PostGIS: http://postgis.refractions.net/download/

2: Instalar pacotes sudo apt-get install build-essential libgeos-dev python2.4-dev libreadline5- dev libperl-dev flex byacc proj zlib1gdev

3: Extrair Arquivos tar -xf geos-2.2.1.tar.bz2 tar -xf postgresql-8.1.1.tar.bz2 tar -xf postgis-1.1.0.tar.gz

4: Mover PostGIS para contrib mv postgis-1.1.0 postgresql-8.1.1/contrib/

5: Instalar Geos cd geos-2.2.1./configure make sudo make install

6: Instalar postgresql para /gis cd../postgresql-8.1.1./configure --prefix=/gis --with-perl --withpython make sudo make install

7: Configurar PostGIS cd contrib/postgis-1.1.0/./configure with-pgsql=/gis/bin/pg_config # remover ligações experimentais do geos echo USE_GEOS_CAPI=0 >> Makefile.config make sudo make install

Criar o BD # criar um usuário para o postgresql sudo adduser gisuser # criar o banco de dados sudo mkdir /gis/data sudo chown gisuser /gis/data su - gisuser /gis/bin/initdb -D /gis/data

Iniciar o PostgreSQL /gis/bin/pg_ctl -D /gis/data -l postgresql.log start

Testando a Instalação do PosgreSQL > psql -l Lista dos bancos de dados Nome Dono Codificação -----------+----------+------------- template0 postgres LATIN1 template1 postgres LATIN1 (2 registros) Para testar em outro computador: > psql -l -h servidor.com Para usar outro usuário: > psql -l -h myserver.com -U postgres

Habilitando pl/pgsql PostgreSQL tem suporte para uma linguagem de programação interna que pode interagir e ser incorporada ao banco de dados. Esta linguagem não é habilitada por default. Deve ser habilitada explicitamente: createlang plpgsql template1

Carregando o PostGIS no PostgreSQL Para habilitar o PostGIS devemos carregar as suas funções no PostgreSQL. Se as funções forem carregadas em template1, todos os bancos de dados criados a partir daí terão as funcionalidades do PostGIS. > psql -f lwpostgis.sql -d testgis

Carregando o script spatial_ref_sys.sql A tabela spatial_ref_sys.sql possui informações sobre projeções. Com ela, o PostGIS é capaz de fazer reprojeções. > psql -f spatial_ref_sys.sql -d testgis

Testando a funcionalidade do PostGIS > psql testgis Bem-vindo ao psql 8.0.3, o terminal iterativo do PostgreSQL. Digite: \copyright para mostrar termos de distribuição \h para ajuda com comandos SQL \? para ajuda com comandos do psql \g ou terminar com ponto-e-vírgula para executar a consulta \q para sair testgis=#

Testando se as tabelas foram criadas testgis=# \dt Lista de relações Esquema Nome Tipo Dono ---------+------------------+--------+---------- public geometry_columns tabela postgres public spatial_ref_sys tabela postgres (2 registros)

Consulta testgis=# SELECT count(*) FROM spatial_ref_sys; count ------- 2671 (1 registro)

Conferindo algumas funções do PostGIS testgis=# \df postgis* Lista de funções Esquema Nome Tipo de dado do resultado Tipos de dado do argumento ---------+----------------------------+---------------------------+----------------------------------- public postgis_full_version text public postgis_geos_version text public postgis_gist_joinsel double precision internal, oid, internal, smallint public postgis_gist_sel double precision internal, oid, internal, integer public postgis_jts_version text public postgis_lib_build_date text public postgis_lib_version text public postgis_proj_version text public postgis_scripts_build_date text public postgis_scripts_installed text public postgis_scripts_released text public postgis_uses_stats boolean public postgis_version text (13 registros)

Conferindo versão do PostGIS testgis=# SELECT postgis_version( ); postgis_version --------------------------------------- 1.1 USE_GEOS=1 USE_PROJ=1 USE_STATS=1 (1 registro)

Criando Banco de Dados > createdb project1 CREATE DATABASE > psql -l Lista dos bancos de dados Nome Dono Codificação -----------+----------+------------- project1 postgres LATIN1 template0 postgres LATIN1 template1 postgres LATIN1 testgis postgres LATIN1 (4 registros)

Preenchendo o BDE Podemos usar comandos SQL com psql ou Usar ferramentas que exportam dados diretamente no BD.

Usando shp2pgsql PostGIS também tem seu inverso: pgsql2shp. Convertem dados de shapefile para postgis e vice-versa. shp2pgsql transforma um shapefile numa seqüência de comandos SQL. Com isto, é necessário direcionar sua saída para um arquivo texto para depois incorporá-lo ao BDE. shp2pgsql countyp020.shp countyp020 > mycounties.sql psql -d project1 -f mycounties.sql

Usando ogr2ogr ogr2ogr -f "PostgreSQL" PG:dbname=project1 countyp020.shp

FIM