piririm piririm piririm 📞 Ainda existe orelhão em Curitiba?
Alguém ligou para você 📲 python + mapbox + plotly +geopandas para descobrir onde se escondem os telefones de uso público (orelhões) em Curitiba
Comprar cartão telefônico, discar 9090 e pegar filas para fazer ligações telefônicas. Só quem viveu sabe 🙆🏻♀️ Os famosos orelhões, ou telefones de uso público (TUP), eram -MUITO- usados antigamente, mas se eu te perguntar qual foi a última vez que você usou um, você consegue lembrar?
Pois é….nem eu! Porém todavia no entanto entretanto entra a detetive Carol em ação 🕵🏻♀ ️Algumas perguntas que serão respondidas neste post:
- Ainda existem? Se sim, quantos em Curitiba?
- Quais são os bairros que mais contém TUPs?
- Quais são os bairros que menos contém TUPs?
- Qual é o mais antigo?
- Quantos estão disponíveis/manutenção?
- Quantos TUPs e seus acessos físicos estão adaptados para cadeirantes?
- Quantos TUPs estão adaptados para deficientes auditivos?
👩🏻💻 Dados
Fonte: https://dados.gov.br/dataset/tuptelefoneusopublico
Autor: Coordenação de Gestão da Informação — COUN
Última Atualização: 11 de Fevereiro de 2021
Linguagem: Python
Bibliotecas utilizadas (principais): geopandas, pandas, plotly, matplotlib.pyplot
👩🏻🔧 Mão na massa
Antes de tudo, vamos separar em duas partes:
- Arquivo shp
- Dados TUP
Arquivo shp
Se você não sabe o que é um arquivo shp: é um arquivo que armazenam dados geográficos no formato vetorial, podendo ser do tipo ponto ou linha ou polígono.
Para criar o mapa coroplético de Curitiba, eu tive que pegar o shapefile da cidade. Onde que tem isso? Carolzinha deixa tudo mamão com açúcar para vocês. Só clicar nesse link aqui.
fp = "DIVISA_DE_BAIRROS.shp"
map_df = gpd.read_file(fp)
map_df.head(
Se a gente plotar ele tem essa carinha — mas tá bem simples e sem graça. Vamos deixar ele mais interessante.
map_df.plot();
Dados TUP
Como felicidade de universitário dura pouro rsrs o nome dos bairros do arquivo shp e do TUP estão diferentes nos que envolvem acentuação e ç.
Por exemplo: ao invés de ÁGUA VERDE ou REBOUÇAS → AGUA VERDE/REBOUÇAS
Ou seja, tive que mudar todos esses para conseguir fazer a união dessas duas fontes de dados.
Respondendo as perguntas
Foi usado a variável id_tup como ID de cada orelhão.
Quantidade de orelhões
O Brasil possui 171.035 telefones de uso público e Curitiba tem 1.321, ou seja, aproximadamente 0,8% do total.
# Quantidade de orelhões no BR
print('Quantidade de orelhões no país:',df['id_tup'].nunique())# Quantidade de orelhões em CWB
print('Quantidade de orelhões em Curitiba:',df_cwb['id_tup'].nunique())
Status
96% dos orelhões estão disponíveis para uso, apenas 4% estão em manutenção.
Bairro
Os bairros que mais possuem orelhões são: Centro, CIC, Água Verde, Rebouças e Sítio Cercado. Só o Centro e o CIC contemplam 20% do total da cidade.
Já os bairros que possuem menos orelhões são: Jardim Social, Taboão, Orleans, Guaíra e Augusta.
Mais antigo
Para saber qual o TUP mais antigo eu utilizei a variável Dtativacao (Data em que o serviço telefônico foi ativado no TUP). O mais antigo é da data de 28/06/1975.
TUPs e seus acessos físicos estão adaptados para cadeirantes
Variável utilizada: Deficientecadeirante — Indica se o TUP e seu acesso físico estão adaptados para cadeirantes.
Apenas 12% de todos os TUPs na cidade são adaptados para cadeirantes.
TUPs estão adaptados para deficientes auditivos?
Variável utilizada: Deficienteaudio — Indica se o TUP está adaptado para deficientes auditivos.
Somente 3% são adaptados para deficientes auditivos.
Mapa 🙌🏻
Código para o mapa:
mapa_itup = px.scatter_mapbox(df_cwb, lat="latitude", lon="longitude", hover_name="logradouro",
color_discrete_sequence=["#2320E5"], zoom=10, height=400)
mapa_itup.show()
Código para o mapa coroplético:
fig, ax = plt.subplots(1, figsize=(20, 12))
merged.plot(column='id_tup', cmap='Blues', linewidth=0.8, ax=ax, edgecolor='0.8')ax.axis('off')
ax.set_title('Telefone Público - Curitiba', fontdict={'fontsize': '20', 'fontweight' : '3'})ax.annotate('Fonte: Caroline Attilio - 2021',xy=(0.5, .08), xycoords='figure fraction',
horizontalalignment='center', verticalalignment='center', fontsize=12, color='#555555')
sm = plt.cm.ScalarMappable(cmap='Blues', norm=plt.Normalize(vmin=0, vmax=valor_maximo))cbar = fig.colorbar(sm)
Quanto mais escuro o bairro no mapa, maior a sua quantidade de telefones de uso público.
É isso, pessoal! Espero que tenha gostado 🦹♀️ Qualquer dúvida, crítica ou sugestão de melhoria é bem-vinda. Até o próximo post, tchau!