quarta-feira, fevereiro 06, 2013

PostGIS: extração de medidas em tabelas com coordenadas geográficas

É possível obter valores de área, comprimentro, distância e perímetro em tabelas ondes os dados estão em lat/long, através da função Geography(). Seguem alguns exemplos:

--MEDIR O COMPRIMENTO DE UMA RODOVIA EM km:
SELECT ST_Length(
Geography(
ST_Union(geom)
)
)/1000 AS comprimento_km
FROM
rodovias
WHERE
codrodov = 'BR-230'
GROUP BY
codrodov;
--MEDIR UMA DISTÂNCIA ENTRE DOIS PONTOS em km:
SELECT ST_Distance(
Geography(a.geom),
Geography(b.geom)
)/1000 AS distancia_km
FROM
sedes a,
sedes b
WHERE
a.nome='João Pessoa'
AND b.nome='Campina Grande';
--MEDIR UMA ÁREA EM km2:
SELECT ST_Area(
Geography(geom)
)/1000000 AS area_km2
FROM
municipios
WHERE
nome='João Pessoa';
view raw medidas.sql hosted with ❤ by GitHub

Nenhum comentário: