Você está na página 1de 23

Mestrado em Sistemas de Informao Geogrfica e Ordenamento do Territrio

Ano Letivo 2015/2016

Unidade Curricular: Introduo Programao em SIG

Criao de uma biblioteca Python:


Melhor localizao para instalao de um centro de
distribuio de medicamentos

Docentes: Antnio Coelho


Ricardo Baptista

Discentes: ngela Leite


Jssica Moreira

Junho de 2016

Mestrado em Sistemas de Informao Geogrfica e Ordenamento do Territrio


Ano Letivo 2015/2016

ndice
Introduo ..................................................................................................................................... 4
Enquadramento da rea de Estudo ............................................................................................... 4
Objetivos ....................................................................................................................................... 5
Descrio geral da arquitetura do script ........................................................................................ 6
Construo da Toolbox ............................................................................................................... 20
Concluso .................................................................................................................................... 23
Bibliografia ................................................................................................................................. 23

ndice de Figuras
Figura 1: Localizao Geogrfica da rea de Estudo ................................................................... 5
Figura 2: Script da importao de bibliotecas Python ................................................................... 6
Figura 3: Script relativo ao workspace e da criao de pastas ...................................................... 6
Figura 4: Script da criao da Geodatabase e dos Datasets........................................................... 7
Figura 5: Script descritivo da definio do sistema de coordenadas e da importao dos dados
tabulares ........................................................................................................................................ 8
Figura 6: Script da operao de join entre tabelas......................................................................... 9
Figura 7: Script descritivo da determinao dos valores de densidade e variao populacional 10
Figura 8: Script descritivo da delimitao da rea de Estudo .................................................... 10
Figura 9: Script descritivo da identificao das reas com classe de uso de solo admissvel ..... 10
Figura 10: Script descritivo para identificar os municpios com densidade superior a 150
hab/km2 que no tenham vias rodovirias de 500 m a 3000 m do tipo IC e IP .......................... 11
Figura 11: Script descritivo dos concelhos com maior variao positiva de populao residente
superior a 65 anos com vias rodovirias de 500 m a 3000 m do tipo IC e IP ............................. 12
Figura 12: Script descritivo para identificar os municpios com maior variao positiva de
populao residente entre 25 e 64 anos que tenham vias rodovirias de 500 m a 3000 m do tipo
IC e IP ......................................................................................................................................... 12
Figura 13: Script descritivo para identificar reas com classe de uso de solo admissvel num raio
de 500 m e 3000 m de qualquer vias rodovirias do tipo IC, IP e EN ........................................ 13
Figura 14: Script descritivo da condio da Distncia dos principais eixos virios (IC, IP e EN)
entre 500m a 3000m .................................................................................................................... 14
Figura 15: Script descritivo da condio da Densidade Populacional da faixa etria> =65
superior mdia nacional ............................................................................................................ 14
Figura 16: Script descritivo das condies Rcio de farmcias por municpio superior a 7.0 e
Rcio de centros de sade por municpio superior a 1.0 ......................................................... 15
Figura 17: Script descritivo da criao do mapa de declives, a sua reclassificao, converso
para polgonos e seleo de reas de excluso ............................................................................ 16
Figura 18: Script descritivo do critrio das Zonas de excluso as NUT III das zonas superior a
200 habitantes/Km2 metropolitanas do Porto e Lisboa............................................................... 16
Figura 19: Script descritivo do critrio Municpios com maior Densidade Populacional da faixa
etria 25-64 anos, superior mdia nacional ............................................................................ 17
Figura 20: Script descritivo dos concelhos com Esperana de Vida superior mdia nacional . 17

Mestrado em Sistemas de Informao Geogrfica e Ordenamento do Territrio


Ano Letivo 2015/2016

Figura 21: Script descritivo do critrio Rcio de Hospitais e de Centros e Hospitalares superior
ou igual 1.0 ................................................................................................................................ 18
Figura 22: Script descritivo da definio das reas timas para a localizao do centro de
distribuio de medicamentos ..................................................................................................... 19
Figura 23: Workflow do script desenvolvido .............................................................................. 19
Figura 24: Exemplo do preenchimento do Script da ferramenta da Toolbox ............................. 20
Figura 25: Parte 2 do exemplo do preenchimento do Script da ferramenta da Toolbox ............. 21
Figura 26: Mapa representativo do resultado final do script ....................................................... 22

Mestrado em Sistemas de Informao Geogrfica e Ordenamento do Territrio


Ano Letivo 2015/2016

Introduo
Inserida na unidade curricular de Introduo Programao em Sistemas de Informao
Geogrfica, foi-nos proposta a criao de uma biblioteca em linguagem Python com o intuito de
realizar diversas operaes espaciais tendo como finalidade a definio de reas para a melhor
localizao da instalao de um centro de distribuio de medicamentos nas regies da Beira
Interior Norte, Beira Interior Sul, Cova da Beira e Serra da Estrela, localizadas em Portugal
Continental.
Para tal, recorreu-se aos softwares ArcGIS 10.3 da ESRI e, ao Eclipse, uma vez que o
segundo caracterizado por ser um compilador que utiliza linguagem de programao Python,
com vista a criar um script que ser posteriormente utilizado na criao de um modelo de anlise
espacial composto por variados processamentos espaciais, no ArcGIS.
Por conseguinte elaborao do script, o mesmo dever ser implementado numa toolbox do
software ArcGIS onde sero definidos, pelo utilizador, os parmetros a serem utilizados,
permitindo que seja utilizado para casos e territrios diferenciados, no obstante aos dados
fornecidos.
Relativamente aos critrios que definem as reas potenciais para a implementao do centro
de distribuio de medicamentos, verifica-se uma diviso entre reas de aptido e de excluso que
vo limitar as reas potenciais atravs da eliminao das reas de excluso s reas de aptido.

Enquadramento da rea de Estudo


As reas em que o script ser aplicado foram atribudas pelos docentes e correspondem s
Regies das NUT III da Beira Interior Norte, Beira Interior Sul, Cova da Beira e Serra da Estrela,
localizados no interior do territrio continental portugus.
A regio da Beira Interior Norte composta pelos concelhos de Almeida, Celorico da Beira,
Figueira de Castelo Rodrigo, Guarda, Manteigas, Mda, Pinhel, Sabugal e Trancoso. A regio da
Beira interior Sul constituda pelos concelhos de Castelo Branco, Idanha-a-Nova, Penamacor e
Vila Velha de Rdo. Relativamente a Cova da Beira, os concelhos que constituem esta regio
so Belmonte e Castelo Branco (apenas as freguesias de So Vicente da Beira e Lourial do
Campo). Por fim, a Serra da Estela composta pelos concelhos de Fornos de Algodres, Gouveia
e Seia.

Mestrado em Sistemas de Informao Geogrfica e Ordenamento do Territrio


Ano Letivo 2015/2016

Figura 1: Localizao Geogrfica da rea de Estudo

Objetivos
Os principais objetivos que orientam este trabalho so:
Identificar as reas com maior Densidade Populacional da faixa etria 25-64 anos e utiliz-los
como fator de aptido localizao de um centro de distribuio de medicamentos;
Diminuir a deslocao por parte dessa mesma faixa etria ao centro de distribuio de
medicamentos, atravs de uma melhor qualidade de acessibilidades mesma;
Ter em conta o declive como fator de repulso, uma vez que torna difcil no s o acesso mas
tambm o desenvolvimento do prprio centro de distribuio;
Aplicar como reas de excluso as NUT III que se localizam nas reas metropolitanas do Porto e
Lisboa, por forma a dar oportunidade" a reas excludas, ou reas que se encontram mais afastadas
do litoral;
Viabilizar a localizao nas imediaes de um hospital ou centro de sade como fator potencial
obteno de clientes.

Mestrado em Sistemas de Informao Geogrfica e Ordenamento do Territrio


Ano Letivo 2015/2016

Descrio geral da arquitetura do script


O objetivo primordial de toda a programao executada, a criao de um script que atue de
forma genrica sobre a origem dos dados utilizados. Desta forma, o script desenvolvido capaz
de se modelar ao processamento dos dados para qualquer outra rea de estudo, por forma a
responder mesma problemtica.
Na primeira parte do projeto foram importadas todas as bibliotecas necessrias para que
funcionassem todas as operaes, como por exemplo operaes do ArcGis/ArcPy e do Sistema
Operativo. Importa tambm realar que na primeira linha foi introduzido um cdigo que permite
ao software ler expresses com acentos e cedilhas.

Figura 2: Script da importao de bibliotecas Python

De modo a tornar o script mais conciso, utilizou-se o comando env.overwriteOutput=True


para garantir a criao de ficheiros nicos, evitando usar bibliotecas como shutil para verificar
se ficheiros e/ou pastas j existiam.
O passo seguinte do projeto baseado pela organizao das pastas onde se encontram
armazenados os ficheiros que serviro de base ao desenvolvimento do trabalho, os
DadosTabulares e as Shapefiles que indicam o caminho para a pasta onde os ficheiros de
dados tabulares e shapefiles se encontram, operando sobre estes.

Figura 3: Script relativo ao workspace e da criao de pastas

De seguida, comeou-se por criar uma Geodatabase e, respetivamente, dois Features


Datasets, uma vez que a criao destes diretrios permite uma melhor estrutura, organizao e
definio tanto de inputs como de outputs, ou seja, um Dataset para os Resultados_Finais e
outro para os Dados_Processo.
Posteriormente, define-se as coordenadas aos dois Datasets como ETRS 89, atravs do
comando arcpy.DefineProjection_management, uma vez que estes tm de ter sistema atribudo
para que, tudo o que for exportado para os mesmos, no perca o sistema de projeo.
6

Mestrado em Sistemas de Informao Geogrfica e Ordenamento do Territrio


Ano Letivo 2015/2016

Figura 4: Script da criao da Geodatabase e dos Datasets

Seguidamente, passou-se realizao da importao dos pontos X e Y com coordenadas


correspondentes das tabelas Excel, anlogo no ArcGis ao procedimento Display XY Data. Para
isso, indicou-se a pasta de onde sero utilizados os dados tabulares, e onde sero aguardados.
Alm do mais, e para essas tabelas Excel, alm de se indicar onde sero armazenadas, realizou-se
a ao arcpy.MakeXYEventLayer_management para localizar os pontos tendo em ateno o
Sistema de Coordenadas e converteu-se as Features Classes para a pasta Shapefiles atravs da
expresso arcpy.FeatureClassToFeatureClass_conversion assim como para criar a Shapefile,
obtendo desta forma as Farmcias, os Centros Hospitalares, os Hospitais e os Centros de Sade,
no formato anteriormente mencionado.
Na tarefa seguinte, procedeu-se projeo de toda a informao para o sistema de
coordenadas European Terrestrial Reference System 1989 (ETRS89). Para isso foi feita uma
listagem dos ficheiros da pasta que contem os dados originais onde foi criado um ciclo for para
se verificar o nome do sistema de coordenadas (SRef = desc.SpatialReference /
spatialRef.name).
Atravs de um ciclo condicional (ciclo if), verificou-se se existiam ficheiros sem projeo,
ou seja, sem o ficheiro .prj (if Sref.name== Unknown), em que se estes casos fossem
vlidos, procedeu-se definio da respetiva projeo (arcpy.DefineProjection_management)
seguindo-se uma nova projeo para o sistema de coordenadas ETRS89, a partir do comando
acrpy.Project_management, ou seja, os ficheiros que no tinham sistema de coordenadas
atribudo eram definidos como WGS 84 e projetados para ETRS, os que j tinham definido
sistema de coordenadas eram apenas projetados para ETRS 89.

Mestrado em Sistemas de Informao Geogrfica e Ordenamento do Territrio


Ano Letivo 2015/2016

Seguidamente copiou-se o contedo da pasta Shapefiles para o respetivo Dataset,


denominado Dados_Processo, sendo que para isso se utilizou um ciclo for com o comando
arcpy.CopyFeatures_management.

Figura 5: Script descritivo da definio do sistema de coordenadas e da importao dos dados tabulares

Aps redefinida a projeo de todos os ficheiros, procedeu-se ao tratamento dos dados


tabulares do INE, respeitantes Populao Residente, Populao Empregada, PIB por Habitante,
Esperana de Vida e Taxa de Analfabetismo, fornecida com o propsito de calcular a densidade
populacional por municpio, por exemplo.
Inicialmente, comeou por se criar um campo comum tabela excel COD, denominandose DICO, sendo este correspondente ao cdigo de cada concelho de Portugal Continental,
utilizando para isso, os comandos arcpy.AddField_management para adicionar um campo
Carta Administrativa Oficial de Portugal (CAOP), do tipo texto, para coincidir com a tabela e
tambm arcpy.CalculateField_management para calcular o campo.
Seguiu-se a converso da tabela em formato .xls para formato .dbf utilizando, para este
prosito o comando arcpy.ExcelToTable_conversion e ainda, fazer a juno das tabelas atravs
do campo criado previamente com a funo arcpy.JoinField_management, repetindo desta
forma o estes dois ltimos processos para todos os indicadores, com os seus respetivos campos
correspondentes.
8

Mestrado em Sistemas de Informao Geogrfica e Ordenamento do Territrio


Ano Letivo 2015/2016

Figura 6: Script da operao de join entre tabelas

O passo seguinte consistiu no clculo da Densidade Populacional no ano de 2011 dos


municpios, para a faixa etria 24-65 anos e +65 anos, tendo para isso sido utilizado as ferramentas
arcpy.AddField_management e arcpy.CalculateField_management, assim como, a variao da
populao residente entre os anos de 2001 e 2011, atravs as mesmas funes.
Uma vez que a CAOP originava de uma diviso em freguesias e os dados tabulares se
encontravam divididos por municpio como referido, foram realizados dois Dissolve mesma
para que os dados fossem equivalentes, dando origem o primeiro aos concelhos e, o segundo s
NUT III.

Mestrado em Sistemas de Informao Geogrfica e Ordenamento do Territrio


Ano Letivo 2015/2016

Figura 7: Script descritivo da determinao dos valores de densidade e variao populacional

Uma vez que o objetivo era trabalhar sobre os dados da regio da Serra da Estrela, Cova
da Beira, Beira Interior Norte e Beira Interior Sul, foi necessrio preparar a shapefile com a
definio dos limites desta mesma regio. Para tal, utilizou-se a funo arcpy.Select_analysis
com a expresso "\"NUTIII\"='Serra da Estrela' OR \"NUTIII\"='Cova da Beira' OR
\"NUTIII\"='Beira Interior Norte' OR \"NUTIII\"='Beira Interior Sul'" na CAOP e, realizou-se um
Dissolve utilizando o comando arcpy.Dissolve_management por forma a obter os limites
destas quatro regies.

Figura 8: Script descritivo da delimitao da rea de Estudo

Comeou-se ento, por cumprir a primeira condio, para identificar as reas com classe de
uso de solo admissvel (utilizando o nvel 2 da COS - Indstria, comrcio e transportes) fazendo
uma seleo dos valores correspondentes utilizando a funo arcpy.Select_analysis e
selecionando a "COSN2='1.2'".

Figura 9: Script descritivo da identificao das reas com classe de uso de solo admissvel

10

Mestrado em Sistemas de Informao Geogrfica e Ordenamento do Territrio


Ano Letivo 2015/2016

Por forma a cumprir a segunda condio estabelecida, identificar municpios com densidade
superior a 150 hab/km2 sem vias rodovirias de 500 m a 3000 m do tipo IC e IP, comeou por se
fazer uma seleo das vias rodovirias, ICs e IPs, atravs do comando arcpy.Select_analysis e
realizou-se dois buffers s mesmas, um com 500 metros, outro com 3000 metros, a partir do
comando arcpy.Buffer_analysis. Com vista a ficar apenas com uma rea de 500m a 3000m
optou-se por utilizar arcpy.Erase_analysiseliminando a distncia do primeiro buffer ao segundo,
obtendo desta forma o buffer final.
Por conseguinte, selecionou-se a densidade populacional superior a 150 habitantes/km2
Crt_DensPop

"Dens_Pop>

150",

utilizando

as

funes

arcpy.MakeFeatureLayer_management e arcpy.SelectLayerByAttribute_management, e
procedeu-se seleo por localizao dos municpios selecionados anteriormente, tal como o
buffer das vias tambm realizado, utilizando o mtodo de seleo espacial "INTERSECT e o
mtodo

de

seleo

"REMOVE_FROM_SELECTION"

atravs

do

comando

arcpy.SelectLayerByLocation_management.
Depois usou-se o comando arcpy.CopyFeatures_management para efetuar uma cpia da
Feature, uma vez que o Select By Location realizado apenas temporrio e era necessrio
exportar a informao resultante.

Figura 10: Script descritivo para identificar os municpios com densidade superior a 150 hab/km2 que no tenham
vias rodovirias de 500 m a 3000 m do tipo IC e IP

Relativamente terceira condio, identificar os municpios com maior variao positiva de


populao residente superior a 65 anos que tenham vias rodovirias de 500 m a 3000 m do tipo
IC e IP, realizou-se uma seleo da variao da populao com idade superior a 65 anos a partir
das

funes

arcpy.MakeFeatureLayer_management

arcpy.SelectLayerByAttribute_management, sendo que por forma a cumprir esta condio,


procedeu-se a uma seleo por localizao entre a variao selecionada anteriormente e o buffer

11

Mestrado em Sistemas de Informao Geogrfica e Ordenamento do Territrio


Ano Letivo 2015/2016

das vias de 500 a 3000 metros, utilizando o mtodo de seleo espacial INTERSECT e o mtodo
de seleo SUBSET_SELECTION, ou seja, utilizando a seleo feita anteriormente.
Por fim, utilizou-se o comando arcpy.CopyFeatures_management por forma a guardar a
informao numa nova Feature, uma vez que o Select By Location realizado apenas temporrio.

Figura 11: Script descritivo dos concelhos com maior variao positiva de populao residente superior a 65 anos
com vias rodovirias de 500 m a 3000 m do tipo IC e IP

No que concerne condio seguinte, para identificar os municpios com maior variao
positiva de populao residente entre 25 e 64 anos que tenham vias rodovirias de 500 m a 3000
m do tipo IC e IP, executou-se uma seleo da variao da populao com idade entre 25 e 64
anos,

usando

as

funes

arcpy.MakeFeatureLayer_management

arcpy.SelectLayerByAttribute_management, seguido por uma seleo por localizao entre a


variao previamente selecionada e o buffer das vias de 500 a 3000 metros, em que o mtodo de
seleo espacial foi INTERSECT e o mtodo de seleo SUBSET_SELECTION, ou seja,
utilizando a seleo feita anteriormente.
Por fim, utilizou-se o comando arcpy.CopyFeatures_management por forma a guardar a
informao numa nova Feature, uma vez que o Select By Location realizado apenas temporrio.

Figura 12: Script descritivo para identificar os municpios com maior variao positiva de populao residente entre
25 e 64 anos que tenham vias rodovirias de 500 m a 3000 m do tipo IC e IP

Por ltimo, e de forma a efetivar o critrio que permite identificar reas com classe de uso
de solo admissvel num raio de 500 m e 3000 m de qualquer vias rodovirias do tipo IC, IP e EN,
realizou-se uma seleo das vias pretendidas atravs do comando arcpy.Select_analysis,
utilizando a seguinte expresso: "\"Itinerario\"LIKE'IC%' OR \"Itinerario\"LIKE'IP%' OR
\"VIA\"LIKE'EN%'" e realizaram-se dois buffers s vias por forma a delimitar as mesmas a 500
e a 3000 metros, utilizando-se para isso a funo arcpy.Buffer_analysis.
12

Mestrado em Sistemas de Informao Geogrfica e Ordenamento do Territrio


Ano Letivo 2015/2016

O passo seguinte consistiu na seleo por localizao dos usos do solo, em que estes
intersetam

os

buffers

das

vias,

sendo

para

isso

utilizado

comando

arcpy.SelectLayerByLocation_management.
Alm do mais, recorreu-se ao comando arcpy.CopyFeatures_management por forma a
armazenar numa nova Feature a informao selecionada.

Figura 13: Script descritivo para identificar reas com classe de uso de solo admissvel num raio de 500 m e 3000 m
de qualquer vias rodovirias do tipo IC, IP e EN

Pelo facto de em alguns computadores onde testamos o script ele dar erro no fim desta fase
por falta de memria Out of Memory, achamos por bem dividir o programa nesta fase e
continuar num novo Pydev Module. Por este motivo foi necessrio voltar a configurar as
definies iniciais e definir alguns caminhos entretanto criados.
No sentido de dar resposta aos critrios gerais definidos, comeou-se por definir o primeiro,
Distncia dos principais eixos virios (IC, IP e EN) entre 500 m a 3000 m. Assim, selecionouse os Itinerrios pretendidos (IC e IP) assim como as vias (EN) com recurso ao comando
arcpy.Select_analysis e fez-se uma juno dos dois com a funo arcpy.Merge_management.
Seguidamente, criou-se dois buffers envolvendo estas trs tipologias de vias, sendo que um
ser de 500 metros e outro de 3000 metros, com base na funo arcpy.Buffer_analysis,
utilizando de seguida a ferramenta Erase que subtrai as reas dos buffers de 500 metros, s reas
dos buffers de 3000 metros originando as reas de buffer finais.

13

Mestrado em Sistemas de Informao Geogrfica e Ordenamento do Territrio


Ano Letivo 2015/2016

Figura 14: Script descritivo da condio da Distncia dos principais eixos virios (IC, IP e EN) entre 500m a 3000m

Seguindo para a segunda condio, Utilizao do solo (COSn2=1.2 Indstria, comrcio e


transportes, j foi realizada aquando da realizao dos critrios anteriores sendo que no
justificvel a repetio do mesmo.
Relativamente condio que se procede, respeite Densidade Populacional da faixa
etria> =65 superior mdia nacional, ao correr o script verificou-se que no possvel realizar
atendendo aos valores pedidos comparados mdia nacional, j que a mdia nacional detm
valores muito mais elevados comparativamente densidade populacional mais elevada referente
rea em estudo.

Figura 15: Script descritivo da condio da Densidade Populacional da faixa etria> =65 superior mdia
nacional

Os critrios seguintes so o Rcio de farmcias por municpio superior a 7.0 e Rcio de


centros de sade por municpio superior a 1.0 que se executam a partir da realizao de um Join
espacial com a CAOP ao nvel dos concelhos, usando a funo arcpy.SpatialJoin_analysis
atravs da localizao dos concelhos para unir as tabelas. O campo designado por Join_Count
resultante desta juno, vai servir como o campo para descobrir o rcio superior a um e superior
a 7, dos centros de sade e das farmcias, respetivamente.
14

Mestrado em Sistemas de Informao Geogrfica e Ordenamento do Territrio


Ano Letivo 2015/2016

Para

isso,

fizeram-se

duas

selees

por

atributos,

utilizando

funo

arcpy.SelectLayerByAttribute_management e para exportar o resultado dessa seleo a funo


arcpy.CopyFeatures_management.

Figura 16: Script descritivo das condies Rcio de farmcias por municpio superior a 7.0 e Rcio de centros
de sade por municpio superior a 1.0

Para a condio que se segue, Declive com valores inferiores a 10%, procedeu-se
ativao das extenses "Spatial" e 3D atravs do comando arcpy.CheckOutExtension. Assim,
e para criar um mapa de declives de tamanho configurvel, em graus, atravs do raster do modelo
digital de elevao (MDE) fornecido e reclassificar em apenas 2 classes (0-10 graus;> 10 graus),
selecionar as reas de excluso com declive superior a 10 graus e ainda, converter para polgonos,
utilizaram-se os comandos arcpy.Slope_3d para a criao dos declives com o parmetro
output_measurement definido como DEGREE, originando os declives em graus,
arcpy.Reclassify_3d para obter a reclassificao dos declives em duas classes definindo como
campo de reclassificao, o campo Value e como valores Remap = "0 10 1;10 90 2" seguida
da converso do raster de declives para polgonos (Shapefile), uma vez que no possvel
misturar

dados

raster

com

dados

vetoriais,

atravs

da

funo

arcpy.RasterToPolygon_conversion, sendo apenas necessrio identificar o input e o output, uma


vez que o parmetro SIMPLIFY est pr-definido.
Por fim, por forma a selecionar as reas com declive superior a 10 graus, foi utilizada a
ferramenta arcpy.Select_analysis definindo-se o input, o output e a expresso SQL relativa ao
campo e valores a selecionar, neste caso o GRIDCODE=2.

15

Mestrado em Sistemas de Informao Geogrfica e Ordenamento do Territrio


Ano Letivo 2015/2016

Figura 17: Script descritivo da criao do mapa de declives, a sua reclassificao, converso para polgonos e
seleo de reas de excluso

Neste seguimento, e referente ao ltimo critrio de carter geral, Zonas de excluso as


NUT III das zonas metropolitanas do Porto e Lisboa, realizou-se uma seleo por atributos,
selecionando todos os concelhos que compem quer a rea Metropolitana do Porto, quer a rea
Metropolitana de Lisboa atravs da funo arcpy.Select_analysis, como forma de as definir
como reas de excluso.

Figura 18: Script descritivo do critrio das Zonas de excluso as NUT III das zonas superior a 200 habitantes/Km2
metropolitanas do Porto e Lisboa

16

Mestrado em Sistemas de Informao Geogrfica e Ordenamento do Territrio


Ano Letivo 2015/2016

Avanando, agora, para os critrios de carter secundrio, comeou por se definir os


municpios com maior Densidade Populacional da faixa etria 25-64 anos, superior mdia
nacional, efetuou-se uma seleo CAOP dos valores de densidade entre a faixa etria pretendida
em

comparao

mdia

arcpy.MakeFeatureLayer_management

nacional,
e

utilizando

os

comandos

arcpy.SelectLayerByAttribute_management,

seguindo-se a exportao desse resultado para uma nova Feature, com a funo
arcpy.CopyFeatures_management.

Figura 19: Script descritivo do critrio Municpios com maior Densidade Populacional da faixa etria 25-64 anos,
superior mdia nacional

O seguinte critrio, referente aos concelhos com Esperana de vida superior mdia
nacional, realizou-se igualmente uma seleo tabela pelo campo com os valores da Esperana
de Vida em detrimento do valor da mdia nacional, com base nos comandos
arcpy.MakeFeatureLayer_management

arcpy.SelectLayerByAttribute_management,

procedendo-se ao Export Data da informao com a ao arcpy.CopyFeatures_management.

Figura 20: Script descritivo dos concelhos com Esperana de Vida superior mdia nacional

17

Mestrado em Sistemas de Informao Geogrfica e Ordenamento do Territrio


Ano Letivo 2015/2016

Por ltimo, efetivou-se o critrio referente ao Rcio de Hospitais e de Centros e Hospitalares


superior

ou

igual

1.0,

realizaram-se

Joins

Espaciais

recorrendo

funo

arcpy.SpatialJoin_analysis para que os dados relativos aos hospitais e centros hospitalares se


unissem com os dados tabulares dos concelhos.
Por conseguinte, selecionou-se os rcios superiores a 1.0, utilizando o comando
arcpy.SelectLayerByAttribute_management para depois exportar o resultado para uma nova
Feature.

Figura 21: Script descritivo do critrio Rcio de Hospitais e de Centros e Hospitalares superior ou igual 1.0

O script termina com a determinao das reas de aptido para a instalao de um centro de
distribuio de medicamentos definindo os critrios a ser utilizados e fazendo uma seleo por
localizao a todos, por forma a intersecta-los e, a limitar as melhores reas para tal.
Aps

interseo

de

todos

arcpy.SelecLayerByLocation_management

os

critrios,

com

funo

arcpy.Intersect_analysis, realizou-se

um

arcpy.Erase_analysis, ou seja, retirar das reas obtidas, as reas de excluso, sendo apenas o
declive relevante para o caso de estudo, obtendo assim, as reas timas de localizao.

18

Mestrado em Sistemas de Informao Geogrfica e Ordenamento do Territrio


Ano Letivo 2015/2016

Figura 22: Script descritivo da definio das reas timas para a localizao do centro de distribuio de
medicamentos

Neste sentido, apresenta-se o nosso workflow que revela todos os procedimentos explicados
anteriormente e que fazem parte da elaborao deste trabalho, desde a fase da preparao da
informao inicial, ao seu processamento e obteno dos resultados, as reas potenciais.

Figura 23: Workflow do script desenvolvido

19

Mestrado em Sistemas de Informao Geogrfica e Ordenamento do Territrio


Ano Letivo 2015/2016

Construo da Toolbox
Uma Toolbox Python (.py) funciona como uma caixa de ferramentas e instrumentos criados,
baseado num arquivo em ASCII. Esta caixa de ferramentas Python pode ser criada no boto
direito do rato, dentro da pasta pretendida e, clicar em Novo> Python Toolbox.
Neste sentido, os parmetros que o utilizador deve inserir na Toolbox so os seguintes:

Figura 24: Exemplo do preenchimento do Script da ferramenta da Toolbox

20

Mestrado em Sistemas de Informao Geogrfica e Ordenamento do Territrio


Ano Letivo 2015/2016

Figura 25: Parte 2 do exemplo do preenchimento do Script da ferramenta da Toolbox

No que respeita parametrizao do script, a principal dificuldade foi perceber o que seria
necessrio parametrizar, ou seja, se apenas inputs e outputs, ou tambm expresses SQL de
seleo, campos de tabelas de atributos. Optou-se por parametrizar apenas alguns elementos, pois
no seria vivel a parametrizao de um nmero imenso de parmetros.
Tomando como ponto de partida o facto de o objetivo ser a utilizao da ferramenta para
qualquer rea de estudo faz sentido qua a expresso SQL seja um elemento a parametrizar.

21

Mestrado em Sistemas de Informao Geogrfica e Ordenamento do Territrio


Ano Letivo 2015/2016

Figura 26: Mapa representativo do resultado final do script

22

Mestrado em Sistemas de Informao Geogrfica e Ordenamento do Territrio


Ano Letivo 2015/2016

Concluso
Com a execuo deste trabalho, denotou-se um forte impacto das tecnologias Open Source
para os Sistemas de Informao Geogrfica. A programao, no caso concreto da temtica
abordada, demonstrou atravs sobretudo do Software Eclipse, ser capaz de otimizar os mais
variados geoprocessamentos sem nunca pr em causa a informao geogrfica originada.
Relativamente s funcionalidades inseridas no script, estas foram implementadas na sua
totalidade com sucesso, apesar dos constrangimentos que surgiram aquando do seu
desenvolvimento e que levaram a um desenvolvimento bastante lento deste trabalho.
Apesar dessas dificuldades, consideramos este trabalho, um enorme contributo e que
permitiu colocar em prtica todos os exerccios explicados nas aulas desta unidade curricular e
sobretudo compreender a importncia da linguagem Python enquanto linguagem universal na
programao para inmeras reas da cincia.
Reala-se que, aps a execuo do Script, apenas necessrio definir os ficheiros de entrada,
gerando-se todo um processo de comandos e funes de anlise no ArcGis, processamento e
apresentao de resultados de uma forma rpida e automtica, cumprindo desta forma, o principal
objetivo deste trabalho que a criao de uma biblioteca que seja capaz de operar sobre quaisquer
outros conjuntos de ficheiros desta natureza.

Bibliografia
Para a elaborao deste trabalho apoiamo-nos nos apontamentos das aulas e em recursos online
como o Help do ArcGis.

23