Este repositório abriga todos os objetos associados ao armazenamento, carregamento e resumo de conjuntos de dados do Caltrans Performance Measurement System (PeMS).
Os conjuntos de dados PeMS vêm do PeMS Data Clearinghouse localizado em http://pems.dot.ca.gov/. Para acessar a PeMS Data Clearinghouse é necessário criar um usuário e uma senha.
Para baixar os conjuntos de dados, é recomendado usar uma extensão de navegador para download em lote, pois o Caltrans proíbe propositalmente o uso de ferramentas programáticas para acessar os conjuntos de dados. Depois que os conjuntos de dados de interesse forem baixados, certifique-se de que não haja arquivos duplicados ou vazios, pois isso não é uma ocorrência incomum na Câmara de Compensação de Dados.
O destino final dos conjuntos de dados PeMS é uma instância interna do servidor SQL especificada no arquivo Python main.py da pasta python do projeto.
Assim que os conjuntos de dados forem baixados, colocados na pasta de dados do projeto e prontos para serem carregados na instância do servidor SQL; certifique-se de que os objetos PeMS SQL criados pelo arquivo pemsObjects.sql na pasta sql do projeto existam no banco de dados de destino de interesse. Se eles não existirem, ou se desejar recomeçar completamente, execute pemsObjects.sql no banco de dados de destino de interesse para eliminar e criar todos os objetos SQL relacionados ao PeMS.
Crie o interpretador Python a partir do arquivo Environment.yml fornecido, localizado na pasta Python do projeto. Defina o interpretador como o interpretador Python padrão associado a este projeto. Execute o arquivo Python main.py da pasta python do projeto. Ele carregará sequencialmente os conjuntos de dados de interesse da pasta de dados, extraindo os arquivos txt necessários dos arquivos gz compactados e arquivos zip, e os carregará diretamente no banco de dados SQL de interesse especificado no arquivo Python main.py.
Os procedimentos armazenados no banco de dados que contém os conjuntos de dados PeMS fornecem agregações anuais dos conjuntos de dados PeMS no nível da estação para resoluções de tempo especificadas pelo usuário. Para obter mais informações, consulte esta página Wiki do GitHub para cada conjunto de dados PeMS.
Um microsserviço Python está incluído na pasta de correspondência do projeto que corresponde a um ano especificado pelo usuário de metadados de estação PeMS carregados em uma instância interna do servidor SQL com um arquivo e00 da rede rodoviária SANDAG especificado pelo usuário. O script Python pode ser executado fora da estrutura de pastas do projeto e inclui um arquivo Environment.yml separado do projeto principal.