Geospatial Map Provider Automated Testing Interface (v0.2.3)
Esta interface é implementada para fornecer ao uss_qualifier (e possivelmente a outros clientes semelhantes) a capacidade de simular um usuário interagindo com o mapa geoespacial do USS (UAS Service Supplier) para avaliar potenciais planos de voo.
A suíte de testes automatizados pode chamar esta interface para carregar dados de teste no USS e, em seguida, realizar consultas virtuais no mapa geoespacial para avaliar o processamento e a interpretação de dados de Geo-Awareness.
Segurança (Autenticação)
-
Tipo: OAuth2 (Client Credentials)
-
Escopos Necessários:
-
interuss.geospatial_map.direct_automated_test: Permite determinar a prontidão do USS para teste e instruir o administrador a carregar fontes de dados geoespaciais (agindo como diretor de testes). -
interuss.geospatial_map.query: Permite ler informações do mapa geoespacial do USS como seriam vistas por um usuário normal.
-
-
Descrição: O token JWT deve ser enviado no header
Authorization: Bearer <token>.
Endpoints
1. Consultar Status da Interface
Rota: GET /status
Obtém o status desta interface de testes automatizados.
-
Escopo Exigido:
interuss.geospatial_map.direct_automated_test -
Respostas Esperadas:
-
200 OK: Interface disponível. Retorna
StartingouReady. -
404 Not Found: A interface não está disponível.
-
2. Listar Fontes de Dados Geoespaciais
Rota: GET /geospatial_data_sources
Lista todas as fontes de dados geoespaciais carregadas pelo administrador do USS a pedido do diretor de testes.
-
Escopo Exigido:
interuss.geospatial_map.direct_automated_test -
Respostas Esperadas:
-
200 OK: Retorna o schema
ListGeospatialDataSourcesResponse(lista de fontes e seus respectivos status).
-
3. Importar e Ativar Fonte de Dados
Rota: PUT /geospatial_data_sources/{geospatial_data_source_id}
Instrui o administrador do USS a importar e ativar dados geoespaciais da fonte especificada (como um link HTTPS para um JSON ED-269).
-
Parâmetros de Rota:
geospatial_data_source_id(obrigatório, formato UUID v4). -
Corpo da Requisição:
CreateGeospatialDataSourceRequest. -
Respostas Esperadas:
-
200 OK: O USS foi instruído a importar e ativar os dados. Retorna
GeospatialDataSourceResponse. -
409 Conflict: Um pedido com este ID já foi feito para carregar uma fonte de dados diferente.
-
4. Consultar Status de uma Fonte de Dados
Rota: GET /geospatial_data_sources/{geospatial_data_source_id}
Obtém o status de processamento/ativação de uma fonte de dados específica no USS.
-
Respostas Esperadas:
-
200 OK: Retorna status (
Activating,Ready,Error, etc). -
404 Not Found: A fonte de dados foi desativada com sucesso ou não existe.
-
5. Desativar Fonte de Dados
Rota: DELETE /geospatial_data_sources/{geospatial_data_source_id}
Instrui o administrador do USS a desativar e excluir a fonte de dados geoespaciais.
-
Respostas Esperadas:
-
200 OK: Requisição processada. O status da deleção pode ser checado via GET (até retornar 404).
-
6. Consultar Mapa Geoespacial (Queries)
Rota: POST /map/queries
Verifica se uma ou múltiplas características geoespaciais (Geozones/Features) se aplicam a uma posição de interesse para um período de tempo especificado ou condições operacionais (Simulação de clique/consulta no mapa).
-
Escopo Exigido:
interuss.geospatial_map.query -
Corpo da Requisição:
GeospatialMapQueryRequest(contendo filtros de volume 4D, tempo, regra de operação, etc). -
Respostas Esperadas:
-
200 OK: Consulta realizada. Retorna se há intersecção/presença de características geoespaciais (schema
GeospatialMapQueryReplycom statusPresent,Absent, etc).
-
Payloads de Exemplo (JSON)
Exemplo de Criação de Fonte de Dados (PUT)
{
"https_source": {
"url": "https://caa.example.com/geozones.json",
"format": "ED-269"
}
}
Exemplo de Resposta de Status da Fonte
{
"data_source": {
"id": "32ef0162-30c4-4e56-9ce0-b204155ef93d",
"status": "Ready"
}
}
Exemplo de Consulta no Mapa (POST /map/queries)
{
"checks": [
{
"filter_sets": [
{
"position": {
"location": { "lat": -23.179, "lng": -45.887 },
"altitude": { "value": 100, "reference": "W84", "units": "M" }
},
"operation_rule_set": "Part107",
"resulting_operational_impact": "BlockOrAdvise",
"ed269": {
"u_space_class": "EUROCONTROL"
}
}
]
}
]
}
No Comments