3.5.6. Overlay de Mapas
3.5.6.1. Carga de Dados - Mapa Pedológico
Considere o conjunto ESRI Shapefile mostrado na Tabela 3.37, que contem o mapa pedológico do Brazil, abo de referência 2017. Faça a carga desse conjunto de dados de acordo com as informações apresentadas nessa tabela.
Mapa Pedológico – 2017
Tipo Geométrico: MultiPolygon
|
Carga Dados:
Para converter este conjunto de dados do formato ESRI Shapefile para SQL utilizando o shp2pgsql
, use o seguinte comando:
shp2pgsql -c -g "geom" -s 4674 -i -I -t "2D" -W UTF-8 pedologia_2017.shp public.pedologia > pedologia.sql
Para carregar o arquivo pedologia.sql
para um banco de dados PostgreSQL, utilize o psql
:
psql -h localhost -p 5432 -d bdgeo -U postgres -f pedologia.sql
3.5.6.2. Consulta 1
Consulta: Quais os tipos de solo do Estado do Tocantins?
Solução:
SELECT pedologia.gid AS gid,
pedologia.ordem AS ordem,
ST_Intersection(pedologia.geom, uf.geom) AS geom
FROM pedologia,
uf
WHERE ST_Intersects(uf.geom, pedologia.geom)
AND uf.nome = 'TOCANTINS';
3.5.6.3. Consulta 2
Consulta: Qual o tipo de solo predominante em Ouro Preto?
Solução:
SELECT ordem,
SUM( ST_Area( geom::geography ) / 10000.0 ) AS area
FROM
(
SELECT p.ordem as ordem,
ST_Intersection( m.geom, p.geom ) AS geom
FROM municipios AS m,
pedologia AS p
WHERE ST_Intersects(m.geom, p.geom)
AND m.nome = 'OURO PRETO'
) AS solos
GROUP BY ordem
ORDER BY area DESC LIMIT 1;
3.5.6.4. Consulta 3
Consulta: Recuperar os trechos de rodovia no Estado do Tocantins com o tipo de revestimento “Pavimentado”?
Solução:
SELECT trechos.gid,
codtrechor,
ST_Intersection(uf.geom, trechos.geom) AS geom
FROM uf,
trechos_rodoviarios AS trechos
WHERE ST_Intersects(uf.geom, trechos.geom)
AND trechos.revestimen = 'Pavimentado'
AND uf.nome = 'TOCANTINS';
3.5.6.5. Consulta 4
Consulta: Quantos KM de rodovia existem no Estado do Tocantins com o tipo de revestimento “Pavimentado”?
Solução:
SELECT SUM(
ST_Length(
ST_Intersection(uf.geom, trechos.geom)::geography
) / 1000.0
)
FROM uf,
trechos_rodoviarios AS trechos
WHERE ST_Intersects(uf.geom, trechos.geom)
AND trechos.revestimen = 'Pavimentado'
AND uf.nome = 'TOCANTINS';
Nota
As consultas desta seção também são conhecidas por Overlay.