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.
Esta página contem informações úteis para o dia a dia de meu trabalho
Mostrando postagens com marcador DBlink. Mostrar todas as postagens
Mostrando postagens com marcador DBlink. Mostrar todas as postagens
terça-feira, 10 de setembro de 2013
quinta-feira, 2 de maio de 2013
UPDATE com um comando SQL
Precisei atualizar a tabela pradin.s00031label os campos UF, MUNICIPIO, LAT, LON a partir da tabela mapas.shp_munic. Estava com preguiça em escrever 4 consultas SQL uma para cada campo. Com a expressão abaixo consegui fazer um comando SQL para atualizar 4 campos em um SGBD Postgresql 9.2.
update pradin.s00031label
set
uf = b.uf,
municipio = b.nome ,
lat = b.latitude,
lon = b.longitude
from
mapas.shp_munic b
where
s00031label.ibge=b.ibge
quinta-feira, 4 de abril de 2013
comando UPDATE e DBLINK
O problema que tive é atualizar o campo "ibge7" da tabela "dados" com informações contidas em um outro banco de dados.
Utilizei o comando UPDATE e DBLINK
update sisfam.dados as l set ibge7 = (
select geocodigo from
(
select geocodigo, nome, ibge, sigla
from dblink
(
'dbname=database
hostaddr=enderecoip
user=usuario
password=senha
port=porta',
'
select m.geocodigo, m.nome, m.ibge, u.sigla
from mapas.shp_munic m , mapas.shp_uf u
where trunc(m.ibge/10000)=u.ibge'
)
as t1(geocodigo bigint, nome varchar, ibge bigint, sigla char(2))
)
as f
where lower(trim(f.sigla))=lower(trim(l.uf))
and lower(trim(f.nome)) = lower(trim(l.municipio))
)
Assinar:
Postagens (Atom)