Escolar Documentos
Profissional Documentos
Cultura Documentos
Junho de 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
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
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.
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.
Figura 5: Script descritivo da definio do sistema de coordenadas e da importao dos dados tabulares
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.
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
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
funes
arcpy.MakeFeatureLayer_management
11
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
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
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
Figura 14: Script descritivo da condio da Distncia dos principais eixos virios (IC, IP e EN) entre 500m a 3000m
Figura 15: Script descritivo da condio da Densidade Populacional da faixa etria> =65 superior mdia
nacional
Para
isso,
fizeram-se
duas
selees
por
atributos,
utilizando
funo
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
15
Figura 17: Script descritivo da criao do mapa de declives, a sua reclassificao, converso para polgonos e
seleo de 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
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,
Figura 20: Script descritivo dos concelhos com Esperana de Vida superior mdia nacional
17
ou
igual
1.0,
realizaram-se
Joins
Espaciais
recorrendo
funo
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
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.
19
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:
20
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
22
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