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
....

Incluir um arquivo Shape no PostGIS

Após buscar na internet alguns arquivos de mapas no formato (shp - shape files) inseri no banco de dados com o comando.

shp2pgsql ve mapas.ve > ve.sql

onde:
ve - corresponde aos arquivos do mapa (ve.shp, ve.dbf, ve.shx, ve.sbx, ve.sbn).
mapas.ve - é o destino no banco de dados, mapas é o schema PosgtreSQL e ve no nome da tabela.
ve.sql - é o arquivo destino, ou seja, é criado um script sql para inserir no banco de dados.

sexta-feira, 22 de maio de 2009

Código para recuperar o fonte de uma função

Para recuperar a fonte de uma função.

No exemplo abaixo a função chama-se indicador_repasse_por_cisterna

select prosrc
from pg_catalog.pg_proc
where proname= 'indicador_repasse_por_cisterna'

quinta-feira, 14 de maio de 2009

Suse / Oracle / PHP

Para instalar a biblioteca Oracle no sistema operacional SUSE linguagem PHP, utilizei:

oracle-instantclient11.1-basic-11.1.0.7.0-1

e coloquei o caminho da biblioteca Oracle em (/usr/lib/oracle/11.1/client/lib/)

ld.so.conf

Para ativar o ld.so.conf

ldconfig

Caminho para biblioteca

Tive que colocar um conjunto de biblioteca para que o SO pudesse buscar em um diretório.

Para isso inseri esta informação em:

/etc/ld.so.conf


utilizei o comando

ldconfig

para fazer valer as alterações executadas.

rpm

O meu problema hoje foi determinar se uma biblioteca havia sido instalada no sistema.

Utilizei o comando:

rpm -qa | grep oracle

Extrair arquivos de Imagens ISO

Criar o diretório ISO
# mkdir /mnt/iso
# mount -o loop disk1.iso /mnt/iso

Copiando o arquivo file.txt para /tmp
# cd /mnt/iso
# cp file.txt /tmp

Copiando o arquivo foo.rpm da imagem
# cd /mnt/iso/RedHat/RPMS
# cp foo.rpm /tmp

fonte: http://www.cyberciti.biz/tips/extracting-particular-file-from-linux-iso-cd-image-file-after-installation.html
data: 14 de maio de 2009

segunda-feira, 11 de maio de 2009

Procurar um texto em uma lista de arquivos

O meu problema hoje foi tentar encontrar um texto em um conjunto de programas fonte (*.php). Para resolver isso executei o comando abaixo no SUSE/Linux

find . -name '*.php' | cut -c 1-100 | cat | grep version

find - para procurar os arquivos *.php
cut - cortar o texto da posição 1 até 100
cat - apresentar o conteúdo do texto
grep - selecionar o um texto específico

outra forma
find . -name "*.php" | xargs cat | grep close

mais uma forma

find . -name '*.php' | xargs -n2 grep 'banco' >lista
cat lista