A GeoWeek será um evento online no qual, durante uma semana, serão abordadas as novidades e os assuntos mais interessantes do Universo das Geotecnologias e Meio Ambiente.
O blog e a página Geografando do facebook apoiam esse evento! Participe! Mais informações em http://www.geoweek.net/quinta-feira, 17 de setembro de 2015
quinta-feira, 30 de julho de 2015
HABILITANDO O TIPO GEOMETRY NO POSTGRESQL/POSTGIS
Caso você esteja tentando executar uma instrução SQL para criação de tabela com elementos espaciais no PostgreSQL/PostGIS e tenha obtido o erro de que o tipo "geometria" - ou qualquer outro do PostGIS - não exista (ERROR: type "geometry" does not exist), isso se refere ao fato de elementos do PostGIS "não terem sido carregados" (o que pode ocorrer por diversos motivos).
A solução do problema é simples:
A solução do problema é simples:
- Entre no PGAdmin;
- Conecte-se ao banco desejado;
- Abra a janela de SQL e digite o comando "CREATE EXTENSION postgis;" e execute (F5).
Pronto, o seu banco de dados já está aceitando os tipos de dados do PostGIS.
quinta-feira, 16 de julho de 2015
ALTERANDO OU RECUPERANDO A SENHA DO USUÁRIO POSTGRES (POSTGRESQL/POSTGIS) NO WINDOWS
Em algumas situações (restore por SQL, dependendo da maneira como ele foi gerado, por exemplo) a senha do usuário postgres do PostgreSQL pode ser alterada. Se ocorreu essa situação, ou se por algum outro motivo você esqueceu ou perdeu a senha, pode seguir os passos abaixo para recuperá-la:
- Abra o arquivo pg_hba.conf (o arquivo que contém, entre outras, as configurações de acesso do PostgreSQL e pode ser aberto no bloco de notas ou no próprio PGAdmin. Ele se encontra na pasta data);
- No final do arquivo, substitua a palavra md5 por trust (em METHOD, nas linhas que não estão comentadas. Isso permitirá o acesso sem o uso de senha);
- No Windows, vá em "Serviços", encontre o postgresql, selecione e clique em Reiniciar o serviço.
- No prompt de comando do Windows, vá até a pasta bin, dentro da instalação do PostgreSQL (por exemplo: C:\Program Files\PostgreSQL\9.4\bin) e execute o comando: psql -h localhost -U postgres -W -d postgres (esse último pode ser o nome de qualquer banco de dados existente) e tecle enter. Se pedir a senha tecle enter.
- Conectado no psql execute o comando ALTER USER postgres ENCRYPTED PASSWORD 'senha'; (substituindo 'senha' pela senha que você deseja).
- Saia do prompt, retorne aos serviços e reinicie novamente o serviço do postgresql. Lembre-se de alterar novamente o arquivo pg_hba.conf para que o usuário postgres não possa ser acessado sem senha.
Observação: em substituição às etapas 3, 4 e 5, você também pode se logar pelo pgAdmin e executar a instrução ALTER USER postgres ENCRYPTED PASSWORD 'senha'; (substituindo 'senha' pela senha que você deseja) na janela de SQL e executá-la.
Pronto, você já pode acessar o PostgreSQL pelo usuário postgres usando a nova senha.
Marcadores:
Bancos de dados,
Bancos de dados espaciais,
PostGIS,
PostgreSQL
terça-feira, 21 de maio de 2013
INTERSECÇÃO COM TOLERÂNCIA NO POSTGIS
A função ST_Intersects do PostGIS retorna verdadeiro se duas
geometrias compartilham qualquer porção do espaço (é a "função contrária" à
ST_Disjoint). Essa função recebe as duas geometrias envolvidas:
ST_Intersects (a.geom, b.geom)
A função ST_Intersects tem elevada precisão (tolerância
muito baixa). Mesmo quando a vetorização é feita com o “SNAP” (atração)
habilitado, isso eventualmente pode ser um problema quando precisa ser usado em
porções intermediárias de linhas ou polígonos (em pontos, vértices ou nós
dificilmente ocorre), ou em algum outro caso específico. Uma solução para essa
questão, que permite verificar intersecções com tolerância maior, é o uso da
função ST_DWithin, que recebe por parâmetro, além das geometrias envolvidas, o
valor tolerância (ou seja, funciona como se fosse um ST_Intersects com “buffer”
definido pela tolerância).
ST_DWithin (a.geom, b.geom,
tolerância)
Obs.: A tolerância depende do sistema de coordenadas utilizado. Utilizei tolerância 0.00001 em sistema de coordenadas UTM e isso se mostrou bem
adequado para trabalhar com elementos em cidades de médio porte.
terça-feira, 23 de abril de 2013
TRANSFORMANDO GEOMETRIAS MÚLTIPLAS EM GEOMETRIAS SIMPLES NO POSTGIS
Como a ferramenta de importação de shapes no PostGIS
(PostGIS Shapefile Import/Export Manager) tem como padrão a importação de
geometrias múltiplas (multiline e multipolygon), mesmo que elas sejam
geometrias simples, é comum se desejar a alteração dessas feições para
geometrias simples (line e polygon). Isso pode ser feito de várias formas
(habilitando a opção Generate simple geometries instead of MULTI geometries
na importação, por exemplo), mas uma alternativa bem simples para essa
alteração, que é feita diretamente no banco de dados, quando as geometrias deveriam ser simples (ou seja, são únicas, embora tenham sido importadas e/ou estejam
definidas como múltiplas) é o uso da função ST_GeometryN:
ALTER TABLE
nome_da_tabela ALTER COLUMN geom TYPE geometry(LineString,31982) USING
ST_geometryN(geom,1);
No caso desse exemplo uma tabela que estivesse definida como
MultiLineString passa a ser LineString (em polígonos basta substituir o
LineString por Polygon). O exemplo usa como sistema de coordenadas o SIRGAS2000
na zona UTM 22 Sul (31982), para utilização de outro sistema basta trocar o
número de identificação.
O exemplo acima serve apenas quando não há vários polígonos em um mesmo elemento. Para criar uma tabela (com geometrias simples) a partir de uma geometria múltipla (que cada elemento possua vários polígonos) use:
CREATE TABLE nome_da_tabela AS WITH dump AS (SELECT campo1, campo2, campo3,(ST_DUMP(geom)).geom AS geom FROM nome_da_tabela_de_origem) SELECT campo1, campo2, campo3, geom::geometry(LineString,31982) FROM dump;
O exemplo acima serve apenas quando não há vários polígonos em um mesmo elemento. Para criar uma tabela (com geometrias simples) a partir de uma geometria múltipla (que cada elemento possua vários polígonos) use:
CREATE TABLE nome_da_tabela AS WITH dump AS (SELECT campo1, campo2, campo3,(ST_DUMP(geom)).geom AS geom FROM nome_da_tabela_de_origem) SELECT campo1, campo2, campo3, geom::geometry(LineString,31982) FROM dump;
terça-feira, 2 de abril de 2013
GEOMETRIAS SIMPLES E MÚLTIPLAS
Um conceito muito presente em bancos de dados geográficos é
o de geometrias simples e múltiplas. Mas o ideal é usar Polygon ou
MultiPolygon? LineString ou MultiLineString? A resposta depende do uso que se
quer dar a essas feições.
O conceito: primeiramente é importante entender o conceito,
ou seja, o que diferencia geometrias simples de múltiplas. O melhor modo de
entender isso é utilizando exemplos: em uma tabela de países, a área do Brasil
poderia ser representada por um único polígono, mas e a do Japão? Seriam
necessários pelo menos 4 polígonos para representar suas principais ilhas.
Outro exemplo é que algumas rodovias no Brasil são descontinuadas, ou seja, uma
linha apenas não poderia representá-las totalmente. Essa é a essência do
conceito de múltiplas geometrias - em uma única feição pode ser armazenada mais
de uma representação espacial, diferente das geometrias simples, onde cada
feição associa-se a uma única representação espacial.
Obs.: Alguns bancos de dados espaciais também usam conceitos
de coleções geométricas, onde podem coexistir linhas, pontos e/ou polígonos em
uma mesma tabela.
Quando usar: deve-se analisar cada caso, mas de modo geral
pode-se dizer que o ideal é utilizar geometrias múltiplas apenas quando
necessário (quando feições precisarem de mais de uma representação espacial) e
para as demais situações utilizar geometrias simples, especialmente porque
diversas funções espaciais somente funcionam sobre geometrias simples.
Marcadores:
Bancos de dados espaciais,
Geometrias simples e múltiplas,
PostGIS
terça-feira, 12 de março de 2013
MATERIAIS SOBRE GEOPROCESSAMENTO
Em contato com a área acadêmica e prática do
geoprocessamento tenho encontrado algumas fontes de material online (que podem
ser visualizados e baixados) muito ricas:
Além disso, usando as palavras-chave corretas é possível
encontrar muito material em:
http://www.dpi.inpe.br/livros.php
- Livros on-line da Divisão de Processamento de Imagens do Instituto Nacional
de Pesquisas Espaciais, o INPE;
http://www.arq.ufmg.br/SiteLabGeo/Laboratorio_Geo/publicacoes.htm
- Publicações do laboratório de geoprocessamento da Universidade Federal de
Minas Gerais;
http://www.dsr.inpe.br/sbsr2007/biblioteca/
- Conteúdo completo (artigos) dos Simpósios Brasileiros de Sensoriamento
Remoto.
http://scholar.google.com.br/
(Google acadêmico – pesquisa específica em trabalhos acadêmicos);
http://www.dominiopublico.gov.br
(Domínio público – disponibiliza diversos materiais que se encontram sob
domínio público);
http://www.teses.usp.br/
(Biblioteca digital da Universidade de São Paulo – disponibiliza o material
produzido pela USP; possui inclusive uma área específica sobre cartografia
histórica).
Outras universidades (UNICAMP, UNESP, etc.) também possuem
bibliotecas digitais (e cursos relacionados à área) onde pode ser encontrado
material. Caro leitor, participe enviando também outros lugares onde é possível
encontrar material sobre geoprocessamento.
Assinar:
Postagens (Atom)
