Skip to main content

Automatizar o cálculo do Índice de Qualidade do Transporte (IQT). O IQT é uma métrica essencial para a análise e otimização do transporte público, considerando fatores como pontualidade, frequência de atendimento, cumprimento de itinerários e infraestrutura.

Project description

📊 Indicadores IQT - Biblioteca para Avaliação da Qualidade do Transporte Público

Esta biblioteca tem como objetivo automatizar o cálculo do Índice de Qualidade do Transporte (IQT), baseado nos critérios estabelecidos no artigo "MESTRADO INDICADOR DE QUALIDADE PARA AVALIAR TRANSPORTE COLETIVO URBANO". O IQT é uma métrica essencial para a análise e otimização do transporte público, considerando fatores como pontualidade, frequência de atendimento, cumprimento de itinerários e infraestrutura.


🚀 Como Usar

🔹 1. Importação da Biblioteca

from quali_bus import CalcularIndicadores, MapaIQT

🔹 2. Inicializando a Classe

calc = CalcularIndicadores()

🔹 3. Carregando os Dados das Linhas de Ônibus

Os dados podem ser carregados a partir de um pandas.DataFrame ou geopandas.GeoDataFrame:

import pandas as pd
import geopandas as gpd
from shapely.geometry import LineString

# Exemplo de dados fictícios de linhas de ônibus
linhas_df = gpd.GeoDataFrame({
    'id_linha': ['101', '102'],
    'geometria_linha': [LineString([(0, 0), (1, 1), (2, 2)]), LineString([(3, 3), (4, 4), (5, 5)])]
})

frequencia_df = pd.DataFrame({
    'id_linha': ['101', '102'],
    'horario_inicio_jornada': ['06:07:57', '06:07:57'],
    'horario_fim_jornada': ['06:57:51', '06:57:57'],
    'data_jornada': ['01/01/2024', '01/01/2024'],
    'sentido_viagem': ['0', '1'],
    'quantidade_passageiros': ['3', '8'],
})

pontualidade_df = pd.DataFrame({
    'id_linha': ['101', '102'],
    'data_viagem': ['01/01/2024', '01/01/2024'],
    'sentido_viagem': ['0', '1'],
    'partida_planejada': ['06:07:00', '06:07:00'],
    'partida_real': ['06:07:57', '06:07:57'],
    'chegada_planejada': ['06:57:00', '06:57:00'],
    'chegada_real': ['06:57:57', '06:57:57'],
    'km_executado': ['31', '16'],
})

# Carregar os dados na classe
calc.carregar_dados(linhas_df, frequencia_df, pontualidade_df)

🔹 4. Carregando os Dados dos Pontos (Pontos de Ônibus e Residências)

Os dados podem ser carregados a partir de um pandas.DataFrame ou geopandas.GeoDataFrame:

import pandas as pd
import geopandas as gpd
from shapely.geometry import LineString

residencias = pd.DataFrame({
    "id": [1, 2, 3]
    "latitude" : [-41.5, -42.521321, -41.21477]
    "longitude" : [-41.5, -42.521321, -41.21477]
})

pontos_de_onibus = pd.DataFrame({
    "id": [1, 2, 3]
    "latitude" : [-41.5, -42.521321, -41.21477]
    "longitude" : [-41.5, -42.521321, -41.21477]
})

# Carregar os dados na classe
calc.carregar_dados_geometrias(pontos_de_onibus, residencias)

🔹 5. Cálculo de Indicadores

A biblioteca suporta o cálculo de diversos indicadores de qualidade do transporte, como:

# Essa função classifica cada dado da linha segundo a classificação do IQT
calc.classificar_linha()

# Essa função diz o valor IQT para cada linha
calc.processar_iqt()

🔹 6. Criação do Mapa

import geopandas as gpd

gdf_cidade = gdp.read_file(path_shapefile_cidade)

# Criando o objeto do mapa
mapa = iqt.MapaIQT(gdf_cidade)

# Adicionar no mapa as linhas de ônibus já com a classificação IQT

mapa.classificar_rota_grupo(calc.dados_completos)

🔹 7. Valores Atribuidos na Classificação

calc.classificao_linhas # DataFrame com os dados clissificados

calc.matriz # DataFrame com os dados calculcados/existentes

Classificação das Linha

id_linha I1 I2 I3 I4 I5 I6 I7 I8 I9 I10
101 3 2 1 0 0 3 2 3 0 1
102 3 2 1 0 0 3 2 3 0 1

Dados Calculados

id_linha I1 I2 I3 I4 I5 I6 I7 I8 I9 I10
101 1 148.12 Integração tarifária temporal ocorre em determinados pontos, apenas com transferências intramodais 0 49.8 1.45 0.98 1 Possuir informações em site e aplicativo atualizados Aumento equivalente ao índice
102 2 111.12 Integração tarifária temporal ocorre em determinados pontos, apenas com transferências intramodais 0 21.8 1.75 0.78 1 Possuir informações em site e aplicativo atualizados Aumento equivalente ao índice

🤝 Contribuindo

Contribuições são bem-vindas! Para contribuir:

  • Fork o repositório.
  • Crie uma branch (feature/nova-funcionalidade).
  • Faça suas alterações e commit (git commit -m "Adiciona nova funcionalidade").
  • Envie um Pull Request.

📜 Licença

Este projeto está sob a licença MIT. Consulte o arquivo LICENSE para mais detalhes. 👨‍💻 Autor

Desenvolvido por Yago Maia - GitHub: https://github.com/YagoMaia

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

quali_bus-0.1.9.tar.gz (23.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

quali_bus-0.1.9-py3-none-any.whl (29.4 kB view details)

Uploaded Python 3

File details

Details for the file quali_bus-0.1.9.tar.gz.

File metadata

  • Download URL: quali_bus-0.1.9.tar.gz
  • Upload date:
  • Size: 23.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.2 CPython/3.13.1 Windows/11

File hashes

Hashes for quali_bus-0.1.9.tar.gz
Algorithm Hash digest
SHA256 752efe858dc531381966f99db27ba3e7461f25125051529a17d96e30c6870031
MD5 95b5bad6c3e08670f2b9fe18be302dbf
BLAKE2b-256 e2f46e7424901093e22c61c16c01af8cab24fe505f8168c5241209b291156825

See more details on using hashes here.

File details

Details for the file quali_bus-0.1.9-py3-none-any.whl.

File metadata

  • Download URL: quali_bus-0.1.9-py3-none-any.whl
  • Upload date:
  • Size: 29.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.2 CPython/3.13.1 Windows/11

File hashes

Hashes for quali_bus-0.1.9-py3-none-any.whl
Algorithm Hash digest
SHA256 47a13ec42cb5ae3a6203f6c017e38019757b9a2d25fcd84e038280cfe8d436e7
MD5 e4feb20b03d067850fe4b64fd2230def
BLAKE2b-256 135c2e469b196f7a8940924d428ad39f09cdf11a1e58d4f82fe78bc508d8521a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page