-
Notifications
You must be signed in to change notification settings - Fork 2
Routes
Bem-vindo à Wiki de Rotas, aqui é descrito informações detalhadas sobre o sistema de rotas deste projeto no GitHub. Esta Wiki foi criada para fornecer uma documentação clara e abrangente sobre como a navegação e o roteamento são implementados e gerenciados em nosso código.
Esse tópico tem como objetivo principal explicar como o sistema de roteamento funciona e como a previsão meteorológica é determinada com base na localização do usuário. Essa rota recebe uma requisição POST com a latitude/longitude do usuário, encontra a estação de monitoramento climático mais próxima e chama o modelo de previsão (predict_oc.py) para ela. Após isso, é devolvido o resultado da previsão.
A requisição POST deve ser feita para a rota http://localhost:3000/predict do servidor. O corpo da requisição deve incluir um objeto JSON contendo a propriedade localização, que, por sua vez, deve ser um objeto contendo as propriedades latitude e longitude.
*sugestão de programa para testar a rota: insomnia
O código integra um script Python para previsão meteorológica. Quando a estação mais próxima é determinada, o código inicia um processo filho para executar o script Python predict_oc.py, passando a estação como argumento. O resultado da execução é enviado de volta para o frontend como resposta à requisição.
A função SeletorDeEstação recebe as coordenadas de latitude e longitude do usuário e determina a estação meteorológica mais próxima. Utilizando a fórmula de Haversine, o código calcula a distância entre as coordenadas do usuário e as coordenadas de cada estação na lista coordenadasEstacoes.json. A estação mais próxima é então identificada e passada como argumento para um script Python que realiza a previsão meteorológica.
Com o servidor backend ligado, (No diretório atmoseer-app\backend, aplicar o comando > node app.js) enviar uma requisição POST para a rota /predict conforme o Modelo de dados da requisição POST descrito acima. Ao seguir esses passos, quando a rota chama o script predict_oc.py, o mesmo apresenta um erro nos dados passados por parâmetro para a função OrdinalClassifier como mostra a foto abaixo: