Pt:Querying pharmacies
Introdução
Nesta página pretende-se apresentar um conjunto de queries (algumas podem ser vistas em [1])que permitam realizar uma análise à rede existente de farmácias. Esta página serve de complemento a Pt:Cálculo da Cobertura de Farmácias, apresentando o relacionamento com outros dados de forma diferentes.
As farmacias na base de dados OSM podem ser obtidas através da restrição: amenity=pharmacy, que pode ser encontrada em Pt:Map_Features#Amenity.
Para tal, procedeu-se à importação da base de dados do OSM (este processo pode ser visto em [2]) para o programa pgAdminIII, onde foram executadas as queries.
Com este conjunto de queries é possível comparar, cruzar ou obter informação relativa às farmácias e outros dados. As queries relativas unicamente aos equipamentos de saúde encontram-se em Equipamentos de Saúde e em Pt:Análise da rede de equipamentos saúde.
Quantificação e União de dados
Para saber quais as farmácias repetidas(marcadas como ponto e simultaneamente como polígono)e a sua respectiva localização executa-se a seguinte query:
select distinct p.name, po.name, st_astext(p.way)
from planet_osm_point as p, planet_osm_polygon as po
where p.amenity='pharmacy' and po.amenity='pharmacy' and p.name=po.name and intersects(p.way,po.way);
Assim, para facilitar as queries foi criada uma tabela farmácias, onde se juntam todas as farmácias (pontos e poligonos) e em que as colunas desta tabela, serão o id (osm_id), name e way (localização).
create table farmaciaOSM as select osm_id,name,way from planet_osm_polygon where amenity='pharmacy';
insert into farmaciaOSM select osm_id,name,way from planet_osm_point where amenity='pharmacy';
Obtenção de dados
Para além da base de dados OSM, também foi necessário dados das seguintes fontes:
Cobertura
Primeiramente é necessário a exportação de dados CAOP usando o PostGis, que pode ser feito como em Cálculo_da_Cobertura_da_Rede_Viária, essa tabela foi designada de caop.
Para saber as farmácias (pontos) que existem num município (Por exemplo, Braga), usa-se a seguinte query:
select name
from farmaciaosm, caop
where st_contains (st_transform(the_geom, 900913), way)
and municipio ilike 'braga';
Comparação com dados reais
No site do Portal da saúde [5] é possível obter o ficheiro Excel com as farmácias existentes em Portugal e com as suas coordenadas.
É necessário um pré-processamento dos dados de modo a substituir as letras Latin-1 por UTF-8, ou seja retirar Á, Ê, Õ, Ç, etc. As coordenadas também foram alteradas de modo que após a remoção dos outros campos, e ter guardado em ficheiro .csv, a primeira linha do ficheiro apresentava-se da seguinte forma:
PIMENTEL;POINT(-7.934547 39.464245)
Neste pré-processamento apenas se mantiveram os nomes e as coordenadas, ignorando as moradas e códigos postais.
Para importação do ficheiro csv, utilizou-se a query:
CREATE TABLE farmacia ("nome" text, "way" geometry);
copy farmacia (nome, way ) from '/home/geobox/farmacia.csv' delimiter ';'
Para determinar a que município pertence alguma farmácia utiliza-se a query:
Select nome, municipio
from farmacia, caop
where nome ilike 'Ribeirao' and st_contains (st_transform(the_geom, 900913),ST_transform(st_geometryfromtext(way,4326),900913)) ;
Para quantas farmácias oficiais existem em cada município, basta usar a seguinte query:
Select municipio, count(f.name) as "farmacias oficial"
from caop, farmacia as f
Where municipio='BRAGA' and st_contains (st_transform(the_geom, 900913),ST_transform(st_geometryfromtext(f.way,4326),900913))
group by municipio
Da mesma forma também se obtém o numero de farmácias marcadas no osm:
Select municipio, count(o.name) as "farmacias osm"
from caop, farmaciaosm as o
Where municipio='BRAGA' and st_contains (st_transform(the_geom, 900913),o.way)
group by municipio;
Obtemos a seguintes tabelas:
Município | farmacias oficial |
---|---|
BRAGA | 31 |
Município | farmacias osm |
---|---|
BRAGA | 13 |
Aqui podemos verificar que o município de Braga tem pelo menos 18 farmácias não marcadas no OSM.
Conclusões
O projecto da cobertura das farmácias é um projecto a continuar, pois ainda existem passos a serem cumpridos como a comparação com a densidade populacional, ou até comparar estes dados com as vias existentes ou até transportes públicos. Conclui-se que ainda existe pouca cobertura em alguns munícipios e muitas farmácias sem nome, pelo que esta comparação com os dados oficiais se torna importante, assim este trabalho torna-se importante até que a cobertura seja de 100%.