Mostrando postagens com marcador PostGis. Mostrar todas as postagens
Mostrando postagens com marcador PostGis. Mostrar todas as postagens

quinta-feira, 10 de abril de 2014

Instalação POSTGRES/POSTGIS em FEDORA/RED HAT

Para verificar a versão do REDHAT

 cat /etc/redhat-release


Ajustando o YUM para acessar os repositórios através do PROXY


Para permitir todas operações do yum usando um servidor proxy, especifique os detalhes do servidor proxy em /etc/yum.conf. A configuração proxy deve especificar o servidor proxy como uma URL completa, incluindo o número da porta TCP. Se o seu servidor proxy necessita de usuário e senha, especifique adicionando as configurações proxy_username e proxy_password.

# The proxy server - proxy server:port number 
proxy=http://mycache.mydomain.com:3128 
# The account details for yum connections 
proxy_username=yum-user 
proxy_password=qwerty
 
Fonte:http://docs.fedoraproject.org/pt-BR/Fedora_Core/5/html/Software_Management_Guide/sn-yum-proxy-server.html 




Configurando o repositório YUM
Localize em sua distribuição Linux o arquivo com a extensão .repo, localizado em:
  • Fedora: /etc/yum.repos.d/fedora.repo and /etc/yum.repos.d/fedora-updates.repo, seção [fedora] 
  • CentOS: /etc/yum.repos.d/CentOS-Base.repo, seção [base] and [updates] sections
  • Red Hat: /etc/yum/pluginconf.d/rhnplugin.conf seção[main] 
Inserir a linha:
 
exclude=postgresql*


Para listar os pacotes (packages) disponíveis

yum list postgres*


yum remove libaep.so

sudo yum install http://mirror.centos.org/centos/6/os/x86_64/Packages/openssl-1.0.1e-
15.el6.x86_64.rpm


Para instalar o servidor POSTGRESQL


yum install postgresql93-server.x86_64
 
ou
 
yum install postgresql93-server 

Para criar e inicializar um database


service postgresql-9.3 initdb

chkconfig postgresql-9.3 on

Para ajustes nas permissões de acesso
vim /var/lib/pgsql/9.3/data/pg_hba.conf

vim /var/lib/pgsql/9.3/data/postgres.conf

Fonte: https://wiki.postgresql.org/wiki/YUM_Installation

Para instalar os compiladores necessários

yum install gcc gcc-c++

Para instalar o LIBXML2

tar vxzf libxml2-2.9.0.tar.gz
cd libxml2-2.9.0
./configure --prefix=/usr --disable-static --with-history && make
make check
make install

Para instalar o GEOS

tar -xvjf geos-3.4.2.tar.bz2
cd geos-3.4.2
./configure
make
make check
make install

Para instalar o PROJ.4

tar -xzvf proj-4.8.0.tar.gz
cd proj-4.8.0
./configure
make
make check
make install

Para instalar o GDAL (a última versão não funcionou - gdal-1.10.1)  

tar -xvzf gdal-1.10.0a.tar.gz
cd gdal-1.10.0
./configure
make

make install

Na pasta postgis-2.1.2


export PATH=$PATH:/usr/pgsql-9.3/bin/


./configure --with-geosconfig=/home/local/MDS/caio.nakashima/postgres/geos-3.4.2/tools/geos-config --with-gdalconfig=/usr/local/bin/gdal-config
make
make install

Testando o Postgis

com usuário postgres, criar um database

createdb mapas
createlang plpgsql mapas

procurar pelo arquivo postgis.sql


find / -name postgis.sql
/usr/pgsql-9.3/share/contrib/postgis-2.1/postgis.sql

Para carregar as definições dos objetos e funções do POSTGIS no banco de dados, executa-se o comando abaixo

 psql -d mapas -f postgis.sql

Para completar ajustar os identificadores do sistema de coordenadas EPSG. Carrega-se o arquivo spatial_ref_sys.sql para popular a tabela spatial_ref_sys.

psql -d mapas -f spatial_ref_sys.sql

Para restaurar cópias antigas de versões anteriores

psql -d mapas -f legacy.sql

Para carga de shape files

/usr/pgsql-9.3/bin/shp2pgsql -c -W LATIN1 53UFE250GC_SIR.shp mapas.shp_uf | psql -d mapas

/usr/pgsql-9.3/bin/shp2pgsql -a -W LATIN1 53MUE250GC_SIR.  mapas.shp_mu | psql -d mapas


terça-feira, 10 de setembro de 2013

Verificar se um ponto esta contido em um poligono

Esta cada vez mais recorrente a pergunta:

"Esta coordenada (latitude, longitude) de um equipamento esta dentro do município?"

A consulta baixo permite responder esta pergunta.

select ST_Contains(the_geom, ST_Point(longitude::float,latitude::float) ), uf, nome
from mapas.shp_munic
order by uf, nome

Com a base do IBGE de municípios, pode-se pegar as informações de (latitude, longitude) e executar a pesquisa.

terça-feira, 23 de novembro de 2010

Comandos SQL utilizados

-- Número para ser utilizado na tabela com próximo identificador.
select max(id_mapa)+1 from mapas.map_description

-- Inserir a descricao
insert into mapas.map_description (
id_mapa ,
titulo ,
tipo_conexao ,
conexao_usuario ,
conexao_senha ,
conexao_dbname,
conexao_host ,
conexao_port ,
sql ,
publicado,
fonte ,
fundored ,
fundogreen,
fundoblue)
(
select ###,
titulo ,
tipo_conexao ,
conexao_usuario ,
conexao_senha ,
conexao_dbname,
conexao_host ,
conexao_port ,
sql ,
publicado,
fonte ,
fundored ,
fundogreen,
fundoblue
from mapas.map_description
where id_mapa =##)

-- inserir detalhe
insert into mapas.map_detail (
id_mapa,
ordem ,
nome_camada,
tipo_conexao ,
conexao_usuario,
conexao_senha ,
conexao_dbname,
conexao_host,
conexao_port,
sql,
tipo_mapa,
projecao ,
color_red ,
color_green,
color_blue ,
outline_red ,
outline_green,
outline_blue ,
symbol ,
symbolsize,
labelitem,
lablefont,
labelsize,
checked,
show,
sql_qtde,
qtde_unidade)
(select
###,
ordem ,
nome_camada,
tipo_conexao ,
conexao_usuario,
conexao_senha ,
conexao_dbname,
conexao_host,
conexao_port,
sql,
tipo_mapa,
projecao ,
color_red ,
color_green,
color_blue ,
outline_red ,
outline_green,
outline_blue ,
symbol ,
symbolsize,
labelitem,
lablefont,
labelsize,
checked,
show,
sql_qtde,
qtde_unidade
from mapas.map_detail
where id_mapa=##)

sexta-feira, 29 de maio de 2009

Criar um shape de um conjunto de outros

Procurei na internet alguns arquivos presentam mapas (shape files) da américa do sul e encontrei somente arquivos com os países junto com seus departamentos (estados). Para conseguir somente um arquivo (registro) por país executei o seguinte comando.

select cntry_name as pais, fips_cntry as sigla,
GeomUnion(the_geom) as the_geom from mapas.ar
group by cntry_name, fips_cntry

O comando GeomUnion gera uma agregação de geometrias.

Com isso parti para criar uma tabela que represente os países da américa do sul.

create table mapas.southamericacountry as
select cntry_name as pais, fips_cntry as sigla,
GeomUnion(the_geom) as the_geom from mapas.ar
group by cntry_name, fips_cntry
union
select cntry_name as pais, fips_cntry as sigla,
GeomUnion(the_geom) as the_geom from mapas.bl
group by cntry_name, fips_cntry
....