Tool for analisys of AIS data
- TAIS APP
- Execute o terminal
- Execute o comando
docker compose up -d --build
para gerar a imagem da máquina e executar o container que irá rodar a API. Após a execução do comando, deverá aparecer em um Log gerado pelo Flask, a URL em que a aplicação está rodando. Ex: http://localhost:5000
- Execute o terminal
- Vá para o diretório com o comando
cd api/app
- Crie e ative a venv
python -m venv venv
e em seguidavenv\Scripts\activate
- Instale as dependências executando o comando
pip install -r requirements.txt
- Execute o comando
python app.py
para rodar a aplicação flask diretamente - Após a execução do comando, deverá aparecer em um Log gerado pelo Flask, a URL em que a aplicação está rodando. Ex: http://localhost:5000
-
Rota: /visualization
-
Descrição: Permite a visualização de um mapa baseado nos dados AIS disponíveis. Este mapa pode ser utilizado para identificar as diferentes rotas de tráfego marítimo. Pode-se especificar o vesselId da embarcação, o tempo de início e o tempo final para análise
-
Rota: /visualization
-
Descrição: Permite a visualização de um mapa baseado nos dados AIS disponíveis, tendo em consideração uma área delimitada por dois pares de coordenadas indicadas pelo usuário. Este mapa pode ser utilizado para identificar áreas de alta ou baixa densidade de tráfego marítimo. Assim como no item anterior, pode-se especificar o vesselId da embarcação, o tempo de início e o tempo final para análise.
-
Rota: /api/routesmap_csv
-
Descrição: Retorna os dados puros de rotas com base nos dados AIS disponíveis. Estes dados podem ser usados na construção de um mapa de rotas simplesmente para análise direta. Pode-se especificar o vesselId da embarcação, o tempo de início e o tempo final para análise.
A aplicação utiliza o formato JSON para representar as informações de rastreamento de embarcações em tempo real. Abaixo está a estrutura de dados AIS processada, que contém dados detalhados sobre a posição das embarcações, incluindo coordenadas geográficas, velocidade, rumo e outros parâmetros relevantes.
-
img
: local onde são salvas as imagens geradas pela API -
routes/
: Contém os arquivos responsáveis pelas rotas da aplicação Flask, divididas por responsabilidade: home.py: Rota inicial e informações gerais da API. routesmap.py: Rotas relacionadas aos mapas de rota de embarcação. visualization.py: Rotas para visualização dos dados -
services/
: Implementa a lógica da aplicação, separando as funcionalidades em serviços reutilizáveis: routesmap_service.py: Funções para cálculos de mapas de rotas. file_service.py: Normalização de timestamps e conversões de dados. -
resources/
: Contém os arquivos de dados usados pela aplicação, como o CSV com as trajetórias.
A aplicação utiliza arquivos .csv
contidos na pasta resources/
, que contém dados históricos de rastreamento. O CSV é lido e processado, permitindo a consulta de dados filtrados por timestamp, bounding-box ou ID da embarcação.
Os arquivos em questão possuem as seguintes colunas principais:
Coluna | Descrição |
---|---|
vesselId |
Identificador único da embarcação |
long |
Longitude da posição da embarcação |
lat |
Latitude da posição da embarcação |
rumo |
Rumo da embarcação em graus |
velocidade |
Velocidade da embarcação em nós |
timestamp |
Carimbo de data e hora do evento (em formato YYYY-MM-DD HH:MM:SS ) |
origem |
tecnologia ou sistema de monitoramento utilizado (ex: AIS) |
subOrigem |
Origem adicional ou especificação do tipo de monitoramento (ex: Satelital) |
-
Os dados brutos utilizados pela API são gerados de arquivos CSV armazenados localmente. No repositorio encontram-se recortes de dados menores desses arquivos para facilitar o processamento.
-
Certifique-se de que os arquivos necessários estejam no diretório correto antes de executar as funcionalidades da API.