Pt:Querying fire stations
Jump to navigation
Jump to search
Análise aos dados relativos à localização de Corporações de Bombeiros
Quantas fire_station existem catalogadas como pontos?
select count (*) from planet_osm_point where amenity = 'fire_station'
resultado= 96
Quantas fire_station existem catalogadas como polígonos?
select count (*) from planet_osm_polygon where amenity = 'fire_station'
resultado= 21
Quantas fire_station existem catalogadas como pontos cujos nomes são nulos?
select count(*) from planet_osm_point where planet_osm_point.amenity = 'fire_station' and planet_osm_point.name is null
resultado= 22
Quantas fire_station existem catalogadas como polígonos cujos nomes são nulos?
select count(*) from planet_osm_polygon where planet_osm_polygon.amenity = 'fire_station' and planet_osm_polygon.name is null
resultado=4
A seguinte query permite-nos preencher o campo name que se encontra nulo como unclassified para pontos e polígonos respectivamente.
update planet_osm_point set name = 'unclassified' where planet_osm_point.amenity = 'fire_station' and planet_osm_point.name is null
update planet_osm_polygon set name = 'unclassified' where planet_osm_polygon.amenity = 'fire_station' and planet_osm_polygon.name is null
A query que se segue permite-nos conhecer o número de fire_stations por município, para o efeito os sistemas de coordenadas são ajustados, o resultado é agrupado por amenidade e por município e ordenado por ordem decrescente.
select count(*), municipio, amenity from planet_osm_point, cont_aad_caop2010 where amenity = 'fire_station' and st_contains(st_transform(wkb_geometry, 900913), way) Group By amenity, municipio order by count desc
Com esta query podemos obter apenas para um município, neste caso o Porto, o número de fire_station
select planet_osm_point.* from planet_osm_point, cont_aad_caop2010 where amenity = 'fire_station' and st_contains(st_transform(wkb_geometry,900913), way) and municipio = 'PORTO'
resultado= 2