Até onde é possível chegar a pé em Natal?

Mayra Azevedo
7 min readMay 27, 2019

Analisando as distâncias para os principais tipos de estabelecimento na cidade. Por Mayra Azevedo e Luís Silva.

Os desafios da mobilidade urbana formam um dilema que vem sendo discutido em todo o Brasil e no mundo afora. Diante do aumento da tarifa de ônibus em Natal, que agora, juntamente com Aracajú, possui a maior taxa do Nordeste, torna-se ainda mais importante estudar a viabilidade de fazer alguns percursos sem contar com transporte privado ou público na cidade.

Diversos artigos são escritos dando enfoque às questões de mobilidade urbana e acessibilidade para pedestres. Selecionando alguns que serviram de inspiração para essa análise, podemos citar o post que avalia a mobilidade urbana em Maceió, ou o que mede acessibilidade para pedestres em Nova Iorque, além do artigo que repensa o conceito de distância em NY. O que todos eles têm em comum é usar a ciência de dados e a visualização de mapas para entender esse problema.

A seguir, vamos mostrar os passos que fizemos para montar esse estudo. O código completo está disponível no repositório.

Recuperando os dados

Nesta seção, vamos explicar como obtivemos dados usados através da API do OpenStreetMap e da SIDRA.

Primeiramente, usamos a bibloteca OSMNx para recuperar o grafo que representa a cidade de Natal e assim conseguir calcular distâncias com mais facilidade.

Grafo que representa o centro de Natal

Recuperada a rede, é hora de procurar os pontos de interesse. São várias possibilidades, que podem ser consultadas na documentação, mas optamos por buscar escolas, hospitais, restaurantes, postos de polícia, cafeterias, bancos, farmácias e clínicas. A consulta é feita através do método, pois_from_address , que reutiliza os parâmetros da função usada para gerar o grafo.

Visualizando algumas colunas dos 5 primeiros pontos de interesse: a categoria, o nome do ponto, e o id do estabelecimento no OSM.

Além dessas informações, recuperamos também a média da renda mensal e o número de habitantes por bairro com o auxílio da API da SIDRA. A tabela consultada é a 3170, cuja variável 842 descreve a renda per capita e a variável de código 841 mostra os habitantes.

Complementando nosso dataset, foram adicionados os dados do Índice de Qualidade de Vida (IQV) dos bairros calculados pela Prefeitura Municipal do Natal e as regiões administrativas, ou zonas, como são conhecidas, dos bairros declarados pela Lei Ordinária nº 03878/89.

O próximo passo é calcular a distância que deve ser percorrida em um bairro para algum estabelecimento. Para isso, usamos um GeoJSON que descreve a cidade de Natal e com a biblioteca GeoPandas para descobrir o centróide de cada bairro, para então usar a função get_nearest_node do módulo osmnx.utils e obtermos o nó (ou ponto de interesse) mais próximo. O código está disponível neste notebook.

Hora de visualizar!

Com o dataset preparado, é hora de usar a biblioteca Folium, que une a manipulação de dados do Python e a visualização de mapas da biblioteca JavaScript Leaflet para facilitar o trabalho do programador que quer exibir seus dados e já tem todas as informações sobre latitude e longitude.

O único preprocessamento necessário para plotar os mapas coropléticos é adicionar ao GeoJSON os atributos de interesse (população, renda…). Feito isso, é só plotar e interpretar!

Esquerda: quanto mais escuro, maior a população do bairro. Direita: Quando mais escuro, maior a renda média do bairro

Para ter uma noção inicial, começamos vendo a distribuição de renda da população entre os bairros de Natal. Existem poucos bairros que possuem renda média acima de 3.000 reais, e estes estão localizados na Zona Sul e na Zona Leste. É praticamente possível traçar uma linha no meio da cidade que divide os bairros entre aqueles com uma renda mensal média maior que 1.000 reais e aqueles com uma renda mensal média menor que 1.000 reais. Já os bairros mais populosos estão na Zona Norte.

As versões interativas desses mapas, nas quais é possível ver os nomes dos bairros e os valores das métricas usadas, estão disponíveis aqui e aqui.

Esquerda: Distância em metros do centróide do bairro até a escola mais próxima. Centro: Distância em metros do centróide do bairro até o hospital mais próximo. Direita: Distância em metros do centróide do bairro até a delegacia mais próxima. Clique no mapa para acessar a versão interativa.

Um padrão que se pode notar é que bairros da Zona Leste, no geral, são os que requerem menos passos para o pedestre chegar no estabelecimento, enquanto na Zona Norte e na Zona Oeste encontramos os bairros cujos centros ficam mais distantes de cada estabelecimento. Os moradores do bairro de Guarapés, por exemplo, têm de percorrer cerca de 4km para chegar na escola, hospital ou delegacia mais próxima do centro do bairro.

Em relação à distribuição de hospitais, algo que chama a atenção é a presença de Ponta Negra, bairro muito frequentado por turistas e lar do Morro do Careca, estar entre os piores bairros em relação à distância para o estabelecimento.

Agrupar para conquistar!

Com o dataset preparado, vamos tentar entender melhor como nossos dados estão relacionados e se há alguma relação entre eles, para isso vamos utilizar a ferramenta open source Orange, criada para uso de algoritmos de aprendizado de máquina e visualização de dados aliada a espaço interativo de fácil usabilidade para novos entusiastas da análise de dados.

Usaremos agrupamento hierárquico com a métrica de distância euclidiana e ligação simples para agrupar os bairros com base nas colunas com as distâncias mais próximas para chegar em bancos, cafeterias, clínicas, hospitais, farmácias, estações policiais, restaurantes e escolas. Como resultado, ao selecionar os quatros maiores agrupamentos obtivemos a seguinte figura:

Agrupamento hierárquico dos bairros natalenses

Para tentar entender melhor como esse agrupamento se deu, também plotamos as frequência dos clusters em relação as zonas:

Frequência dos agrupamentos nas zonas

Além disso plotamos a densidade dos agrupamentos em relação as colunas utilizadas para o agrupamento e a coluna de IQV:

Densidade das colunas distance_bank, distance_cafe, distance_clinic, distance_hospital, distance_pharmacy, distance_police, distance_restaurant, distance_school e iqv em relação aos agrupamentos

Ao observar os agrupamentos, podemos observar que o agrupamento C1 (Felipe Camarão, Planalto e Guarapes) é composto por regiões vizinhas da zona oeste com média baixa de IQV, o agrupamento C2 (Potengi, Pajuçara, Igapó, Lagoa Azul e Nossa Senhora da Apresentação) é composto por regiões vizinhas da zona norte com média baixa de IQV, o agrupamento C4 (Capim Macio, Lagoa Nova, Candelária, Neópolis, Nova Descoberta, Petrópolis, Tirol, Barro Vermelho, Areia Preta, Lagoa Seca, Alecrim, Praia do Meio, Ribeira, Cidade Alta e Rocas) é composto por regiões vizinhas da zona sul e leste com média alta de IQV. Por fim, o agrupamento C3 (Bairros restantes de todas as zonas) é composto majoritariamente de bairros da zona oeste, onde os mesmos são regiões vizinhas, com média de IQV médio e baixo, como é possível observar pela similaridade que sua distribuição teve com uma distribuição normal.

Importante ressaltar que nenhum par de bairros de diferentes zonas foi agrupado no primeira passo de aglomeração. Além disso, é possível perceber que não há diferença significativa entre as distâncias médias para cafeterias entre os agrupamentos.

Com todas as informações anteriores, é possível inferir que existe uma relação inversa entre as distâncias e o IQV médio dos agrupamentos, onde quanto mais alta o IQV médio do cluster, menor a distância para chegar em pontos importantes do bairro.

De modo geral, ficamos satisfeitos com as conclusões obtidas da construção de gráficos atráves dos dados coletados. Por fim, estudos como este são importantes para analisar o retrato da mobilidade urbana das regiões de Natal como reflexo da qualidade de vida destas regiões, podendo ser utilizados como base para construção de análises em cidades diferentes.

--

--

Mayra Azevedo

IT student and developer. Also, a data scientist in progress.