Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Introdução

A documentação a seguir descreve a implementação de um conjunto de classes que facilitam a interação com APIs de PCDs (Plataforma de Coleta de Dados) e Sondagens (também considerada uma PCD). Essas classes foram projetadas para simplificar a recuperação, processamento e exportação de dados, permitindo que os usuários acessem informações relevantes de forma eficiente. Cada classe possui métodos específicos que atendem a diferentes necessidades, desde a obtenção de dados até a conversão e exportação para formatos amplamente utilizados, como JSON, CSV e DataFrame.

Classes e Métodos

GroupsPcdsClient

O GroupsPcdsClient é uma classe para interagir com a API de PCDs. Esta documentação descreve os métodos disponíveis e como utilizá-los.

Métodos

to_df(data)

Descrição:
Converte os dados recebidos em um DataFrame do Pandas.

Parâmetros:

Retorno:
DataFrame do Pandas.

to_csv(data, filename)

Descrição:
Converte os dados recebidos em um DataFrame e salva como um arquivo CSV.

Parâmetros:

get_all()

Descrição:
Recupera todos os PCDs disponíveis.

Retorno:

Exemplo de Resposta:

Clique para expandir
[{'numero': 30847,
  'cidade': 'Fortuna',
  'estado': 'MA',
  'latitude': '-5.800558',
  'longitude': '-44.056711',
  'altitude': 117.0,
  'estacao': 'Fortuna',
  'id': 142726,
  'ativo': True,
  'proprietario': 'ufma'},
 {'numero': 30848,
  'cidade': 'Mirador',
  'estado': 'MA',
  'latitude': '-6.658536',
  'longitude': '-45.141333',
  'altitude': 381.0,
  'estacao': 'Mirador',
  'id': 142728,
  'ativo': True,
  'proprietario': 'ufma'},
 {'numero': 30861,
  'cidade': 'TESTE-H1-ANA',
  'estado': 'DF',
  'altitude': 1048.0,
  'id': 2246,
...
  'estacao': 'Aruana',
  'id': 3240,
  'ativo': True,
  'proprietario': 'lim'},
 ...]

get_all_resumed()

Descrição:
Recupera uma lista resumida de todos os PCDs, incluindo apenas os campos principais e alguns campos adicionais.

Retorno:

Exemplo de Resposta:

Clique para expandir
[{'id': 142726,
  'numero': 30847,
  'ativo': True,
  'proprietario': 'Desconhecido',
  'latitude': '-5.800558',
  'longitude': '-44.056711',
  'estado': 'MA',
  'cidade': 'Fortuna'},
 {'id': 142728,
  'numero': 30848,
  'ativo': True,
  'proprietario': 'Desconhecido',
  'latitude': '-6.658536',
  'longitude': '-45.141333',
  'estado': 'MA',
  'cidade': 'Mirador'},
 {'id': 2246,
  'numero': 30861,
  'ativo': True,
  'proprietario': 'Desconhecido',
  'estado': 'DF',
  'cidade': 'TESTE-H1-ANA'},
 {'id': 2247,
  'numero': 30862,
  'ativo': True,
...
  'latitude': '-14.817',
  'longitude': '-51.167',
  'estado': 'GO',
  'cidade': 'Aruana'},
 ...]

get_complete_pcds()

Descrição:
Recupera todas as PCDs completas, ou seja, aqueles que possuem todos os campos principais.

Retorno:

Exemplo de Resposta:

Clique para expandir
[{'numero': 30847,
  'cidade': 'Fortuna',
  'estado': 'MA',
  'latitude': '-5.800558',
  'longitude': '-44.056711',
  'altitude': 117.0,
  'estacao': 'Fortuna',
  'id': 142726,
  'ativo': True,
  'proprietario': 'ufma'},
 {'numero': 30848,
  'cidade': 'Mirador',
  'estado': 'MA',
  'latitude': '-6.658536',
  'longitude': '-45.141333',
  'altitude': 381.0,
  'estacao': 'Mirador',
  'id': 142728,
  'ativo': True,
  'proprietario': 'ufma'},
 {'numero': 30867,
  'cidade': 'Mateiros',
  'estado': 'TO',
  'latitude': '-10.543',
  'longitude': '-46.755',
...
  'estacao': 'PESM Caraguatatuba Hidro',
  'id': 3387,
  'ativo': True,
  'proprietario': 'lim'},
 ...]

get_incomplete_pcds()

Descrição:
Recupera todas as PCDs incompletas, ou seja, aqueles que não possuem todos os campos principais.

Retorno:

Exemplo de Resposta:

Clique para expandir
[{'numero': 30861,
  'cidade': 'TESTE-H1-ANA',
  'estado': 'DF',
  'altitude': 1048.0,
  'id': 2246,
  'ativo': True,
  'proprietario': 'lim'},
 {'numero': 30862,
  'cidade': 'TESTE-H1-ANA',
  'estado': 'DF',
  'altitude': 1048.0,
  'id': 2247,
  'ativo': True,
  'proprietario': 'lim'},
 {'numero': 30864,
  'cidade': 'TEST-H6-SIVAM',
  'estado': 'DF',
  'altitude': 1048.0,
  'id': 2248,
  'ativo': True,
  'proprietario': 'lim'},
 {'numero': 30865,
  'cidade': 'TESTE-H6-SIVAM',
  'estado': 'DF',
  'altitude': 1048.0,
...
  'altitude': 0.0,
  'id': 3162,
  'ativo': True,
  'proprietario': 'lim'},
]

get_pcds_by_owner(owner)

Descrição:
Recupera todos os PCDs que pertencem ao proprietário especificado.

Parâmetros:

Retorno:

Exemplo de Resposta:

Clique para expandir
[{'numero': 70112,
  'cidade': 'Natal',
  'estado': 'RN',
  'latitude': '-5.835',
  'longitude': '-35.204',
  'altitude': 10.0,
  'estacao': 'Natal Davis',
  'id': 141618,
  'ativo': True,
  'proprietario': 'Lavat'},
 {'numero': 70113,
  'cidade': 'Maxaranguape',
  'estado': 'RN',
  'latitude': '-5.487',
  'longitude': '-35.257',
  'estacao': 'Maxaranguape',
  'id': 141295,
  'ativo': True,
  'proprietario': 'Lavat'},
 {'numero': 70114,
  'cidade': 'Currais Novos',
  'estado': 'RN',
  'latitude': '-6.250',
  'longitude': '-36.524',
  'altitude': 10.0,
...
  'altitude': 42,
  'estacao': 'Natal GUV',
  'ativo': True,
  'id': 70123,
  'proprietario': 'LAVAT'}]

get_pcds_by_state(state)

Descrição:
Recupera todos os PCDs que estão localizados no estado especificado.

Parâmetros:

Retorno:

Exemplo de Resposta:

Clique para expandir
[{'numero': 30979,
  'cidade': 'Natal',
  'estado': 'RN',
  'latitude': '-5.835',
  'longitude': '-35.205',
  'altitude': 1.0,
  'estacao': 'Posicionamento Barco',
  'id': 2310,
  'ativo': True,
  'proprietario': 'lim'},
 {'numero': 31044,
  'cidade': 'Natal',
  'estado': 'RN',
  'latitude': '-6.441',
  'longitude': '-37.067',
  'estacao': 'Samau SAt',
  'id': 2330,
  'ativo': True,
  'proprietario': 'lim'},
 {'numero': 31046,
  'cidade': 'Natal',
  'estado': 'RN',
  'latitude': '-5.835',
  'longitude': '-35.205',
  'altitude': 87.0,
...
   'companhiaOrgao': 'INPE-CRN-NATAL',
   'departamentoSecao': 'LAVAT',
   'id': None,
   'ativo': True},
  'ativo': True}]

get_public_pcds()

Descrição:
Recupera todas as PCDs públicos.

Retorno:

Exemplo de Resposta:

Clique para expandir
[{'numero': 30847,
  'habilitado': True,
  'dataCadastro': '2023-03-15T11:28:58.545',
  'intervaloTempoColeta': 203,
  'cidade': 'Fortuna',
  'estado': 'MA',
  'pais': 'Brasil',
  'latitude': '-5.800558',
  'longitude': '-44.056711',
  'altitude': 117.0,
  'estacao': 'Fortuna',
  'privado': False,
  'proprietario': {'nome': 'ufma',
   'quantidadeDiasEnvioDadosDecodificados': 15,
   'id': 142725,
   'ativo': True},
  'id': 142726,
  'ativo': True},
 {'numero': 30848,
  'habilitado': True,
  'dataCadastro': '2023-03-15T11:29:45.589',
  'intervaloTempoColeta': 203,
  'cidade': 'Mirador',
  'estado': 'MA',
  'pais': 'Brasil',
...
   'id': 1015,
   'ativo': True},
  'id': 3240,
  'ativo': True},
 ...]

get_private_pcds()

Descrição:
Recupera todas as PCDs privadas.

Retorno:

Exemplo de Resposta:

Clique para expandir
[{'numero': 30847,
  'habilitado': True,
  'dataCadastro': '2023-03-15T11:28:58.545',
  'intervaloTempoColeta': 203,
  'cidade': 'Fortuna',
  'estado': 'MA',
  'pais': 'Brasil',
  'latitude': '-5.800558',
  'longitude': '-44.056711',
  'altitude': 117.0,
  'estacao': 'Fortuna',
  'privado': False,
  'proprietario': {'nome': 'ufma',
   'quantidadeDiasEnvioDadosDecodificados': 15,
   'id': 142725,
   'ativo': True},
  'id': 142726,
  'ativo': True},
 {'numero': 30848,
  'habilitado': True,
  'dataCadastro': '2023-03-15T11:29:45.589',
  'intervaloTempoColeta': 203,
  'cidade': 'Mirador',
  'estado': 'MA',
  'pais': 'Brasil',
...
   'id': 1015,
   'ativo': True},
  'id': 3240,
  'ativo': True},
 ...]

PcdsApiClient

A classe PcdsApiClient é responsável por interagir com a API do Mongo, proporcionando métodos para autenticação, obtenção de dados, processamento e exportação de dados para diferentes formatos.

Métodos

to_df(data)

Descrição:
Converte os dados fornecidos em um DataFrame do Pandas.

Parâmetros:

Retorno:
DataFrame do Pandas.

to_csv(data, filename)

Descrição:
Exporta os dados fornecidos para um arquivo CSV.

Parâmetros:

get_pcd(idPCD)

Descrição:
Obtém a informação a respeito de uma PCD.

Parâmetros:

Retorno:

Exemplo de Resposta:

Clique para expandir
{'numero': 70123,
 'cidade': 'Natal',
 'estado': 'RN',
 'latitude': '-5.836867047785668',
 'longitude': '-35.20705791138854',
 'id': None,
 'ativo': True,
 'proprietario': 'LAVAT'}

get_period_availability(idPCD)

Descrição:
Obtém a disponibilidade de período para um determinado PCD.

Parâmetros:

Retorno:

Exemplo de Resposta:

Clique para expandir
{
 'data_inicial': '2006-01-25T00:00:00',
 'data_final': '2024-08-06T00:00:00'
}

get_data(idPCD, data_inicial, data_final)

Descrição:
Obtém e processa os dados da PCD para o intervalo de datas especificado.

Parâmetros:

Retorno:

Exemplo de Resposta:

Clique para expandir
[{'Data': '2023-01-01 00:00:00',
  'TempOut (°C)': '24.2',
  'HiTemp (°C)': '24.2',
  'OutHum (%)': '88',
  'DewPt (°C)': '22.1',
  'WindSpeed (m/s)': '0.4',
  'WindDir (deg)': '157.5',
  'HiSpeed (m/s)': '1.8',
  'HeatIndex (°C)': '26.0',
  'Bar (Hg)': '1004.7',
  'Rain (mm)': '0.0',
  'SolarRad (W/m2)': '0',
  'HiSolarRad (W/m2)': '0',
  'UVIndex (Numeric)': '0.0',
  'ET (mm)': '0.0'},
 {'Data': '2023-01-01 00:10:00',
  'TempOut (°C)': '24.1',
  'HiTemp (°C)': '24.2',
  'OutHum (%)': '88',
  'DewPt (°C)': '21.9',
  'WindSpeed (m/s)': '0.0',
  'WindDir (deg)': '',
  'HiSpeed (m/s)': '0.0',
  'HeatIndex (°C)': '25.9',
  'Bar (Hg)': '1004.5',
...
  'SolarRad (W/m2)': '0',
  'HiSolarRad (W/m2)': '0',
  'UVIndex (Numeric)': '0.0',
  'ET (mm)': '0.0'},
 ...]

get_pcd_metadata(idPCD)

Descrição:
Obtém os metadados de uma PCD.

Parâmetros:

Retorno:

Exemplo de Resposta:

Clique para expandir
{'numero': 70122,
 'habilitado': True,
 'dataCadastro': '2024-05-20T11:41:51.303',
 'cidade': 'Natal',
 'estado': 'RN',
 'pais': 'Brasil',
 'latitude': '-5.836667047785668',
 'longitude': '-35.20705791138854',
 'altitude': 42,
 'estacao': 'Natal Solarimetrica',
 'privado': False,
 'proprietario': {'nome': 'LAVAT',
  'responsavel': None,
  'companhiaOrgao': 'INPE-CRN-NATAL',
  'departamentoSecao': 'LAVAT',
  'id': None,
  'ativo': True},
 'ativo': True}

get_metadata_resumed(idPCD)

Descrição:
Obtém os metadados resumidos da PCD.

Parâmetros:

Retorno:

Exemplo de Resposta:

Clique para expandir
{'id': 2882,
 'numero': 32263,
 'ativo': True,
 'proprietario': 'lim',
 'latitude': '-22.968',
 'longitude': '-43.236',
 'estado': 'RJ',
 'cidade': 'Rio de Janeiro'}

get_owner(idPCD)

Descrição:
Obtém o proprietário da PCD.

Parâmetros:

Retorno:

Exemplo de Resposta:

Clique para expandir
{'nome': 'lim',
 'quantidadeDiasEnvioDadosDecodificados': 15,
 'quantidadeDiasEnvioDadosBrutos': 15,
 'responsavel': '',
 'companhiaOrgao': 'INPE - Laboratorio I',
 'departamentoSecao': '',
 'logradouro': '',
 'cidade': 'Cachoeria Paulista',
 'estado': 'SP',
 'pais': 'Braisl',
 'cep': 'xxx',
 'telefone': 'xxx',
 'fax': 'xxx',
 'email': 'xxx',
 'id': 1015,
 'ativo': True}

is_private(idPCD)

Descrição:
Verifica se o PCD é privado.

Parâmetros:

Retorno:

Exemplo de Resposta:

Clique para expandir
true

get_sensors(idPCD)

Descrição:
Obtém a lista de sensores disponíveis para a PCD.

Parâmetros:

Retorno:

Exemplo de Resposta:

Clique para expandir
[{'id': 10681,
  'ativo': True,
  'equacao': '+0.1*x +11.3',
  'inicioBits': 242,
  'nome': 'Bateria',
  'quantidadeBits': 5,
  'shiftTempo': 0,
  'tipoCalibrador': {'name': 'POLINOMIAL', 'id': 1},
  'tipoSensor': {'name': 'PADRAO', 'id': 0},
  'unidadeEngenharia': 'Volt',
  'virtual': False},
 {'id': 10682,
  'ativo': True,
  'equacao': '+100*x',
  'inicioBits': 247,
  'nome': 'CorrPSol',
  'quantidadeBits': 5,
  'shiftTempo': 0,
  'tipoCalibrador': {'name': 'POLINOMIAL', 'id': 1},
  'tipoSensor': {'name': 'PADRAO', 'id': 0},
  'unidadeEngenharia': 'Logico',
  'virtual': False},
 {'id': 10710,
  'ativo': True,
  'inicioBits': 92,
...
  'shiftTempo': 0,
  'tipoCalibrador': {'name': 'BRUTO', 'id': 0},
  'tipoSensor': {'name': 'PADRAO', 'id': 0},
  'unidadeEngenharia': 'm/s',
  'virtual': False}]

SondagensClient

O SondagensClient é uma classe para interagir com a API de sondagens. Esta documentação descreve os métodos disponíveis e como utilizá-los.

Métodos

to_df(self, data)

Descrição:
Converte os dados recebidos em um DataFrame do Pandas.

Parâmetros:

Retorno:
DataFrame do Pandas.

to_csv(data, filename)

Descrição:
Converte os dados recebidos em um DataFrame e salva como um arquivo CSV.

Parâmetros:

get_all_soundings()

Descrição:
Recupera todas as sondagens disponíveis.

Retorno:

Exemplo de Resposta:

Clique para expandir
[{'hora_lancamento': '15:35:22',
  'sonda': '66905bcc2a7d527c30bd792e',
  'data_lancamento': '2024-07-09'},
 {'hora_lancamento': '15:06:36',
  'sonda': '668313e3de022bf47e836a35',
  'data_lancamento': '2024-06-28'},
 {'hora_lancamento': '14:49:41',
  'sonda': '667de6a9fe0b5f1a6e6869a3',
  'data_lancamento': '2024-06-18'},
 {'hora_lancamento': '14:17:24',
  'sonda': '667c1f7900ad00763e5caa22',
  'data_lancamento': '2024-06-07'},
 {'hora_lancamento': '14:36:07',
  'sonda': '6671b4fa35971537a667f8e8',
  'data_lancamento': '2024-05-29'},
 {'hora_lancamento': '14:58:03',
  'sonda': '664d31e75d7b76a028c777bf',
  'data_lancamento': '2024-05-17'},
 {'hora_lancamento': '14:55:28',
  'sonda': '664d31da5d7b76a028c777bd',
  'data_lancamento': '2024-05-02'},
 {'hora_lancamento': '14:50:38',
  'sonda': '664d31cb5d7b76a028c777bb',
  'data_lancamento': '2024-04-15'},
 {'hora_lancamento': '14:48:05',
...
  'sonda': '664b8a6750bd0dc1b1c81e20',
  'data_lancamento': '2006-02-17'},
 {'hora_lancamento': '14:10:09',
  'sonda': '664b8a7250bd0dc1b1c81e22',
  'data_lancamento': '2006-01-18'}]

get_sounding(data_lancamento='YYYY-MM-DD')

Descrição:
Recupera uma sondagem específica com base no ID ou data de lançamento.

Parâmetros:

Retorno:

Exemplo de Resposta:

Clique para expandir
[{'Time (sec)': 0,
  'Press (hPa)': 1005.3,
  'GeopAlt (km)': 42.0,
  'Temp (C)': 27.9055,
  'RH (%)': 65.805,
  'O3_mPa (mPa)': 24.2839,
  'O3_ppmv (ppmv)': 0.0242,
  'O3_DU (DU)': '',
  'Wind_Dir (deg)': 143.466,
  'Wind_Spd (m/s)': 5.4,
  'TPump (C)': 30.7,
  'O3CellI (uA)': 0.65041,
  'GPS_Lat (deg)': -5.822805555555555,
  'GPS_Lon (deg)': -35.25138888888889,
  'GPS_Alt (km)': ''},
 {'Time (sec)': 10,
  'Press (hPa)': 997.505,
  'GeopAlt (km)': 111.49,
  'Temp (C)': 26.8309,
  'RH (%)': 70.159,
  'O3_mPa (mPa)': 24.5034,
  'O3_ppmv (ppmv)': 0.0246,
  'O3_DU (DU)': '',
  'Wind_Dir (deg)': 136.5,
  'Wind_Spd (m/s)': 10.5,
...
  'TPump (C)': 15.7,
  'O3CellI (uA)': 1.8132,
  'GPS_Lat (deg)': '',
  'GPS_Lon (deg)': '',
  'GPS_Alt (km)': ''}]

get_sounding_metadata(data_lancamento='YYYY-MM-DD')

Descrição:
Recupera os metadados de uma sondagem específica.

Parâmetros:

Retorno:

Exemplo de Resposta:

Clique para expandir
{'informacoes_gerais': {'data_lancamento': '2006-02-17',
  'latitude_inicial': '-5.48945',
  'longitude_inicial': '-35.261',
  'elevacao': '14 metros',
  'hora_lancamento': '15:11:12 UTC',
  'numero_serie_sonda': '002570261',
  'pressao_explosao': '13.3 hPa',
  'localizacao': 'Barra de Maxaranguape/RN'},
 'infos_superficie': {'pressao': '1012.4 hPa',
  'temperatura': '29.0504 °C',
  'ozonio_parcial': '16.7368 mPa',
  'umidade_relativa': '78.738 %'},
 'infos_tropopausa': {'pressao': '76.02 hPa',
  'temperatura': '-83.14 °C',
  'ozonio_parcial': '12.58 mPa',
  'umidade_relativa': '1.04 %',
  'altitude': '18125.16 m'},
 'infos_topo': {'pressao': '13.25 hPa',
  'temperatura': '-39.79 °C',
  'ozonio_parcial': '117.0 mPa',
  'umidade_relativa': '1.03 %',
  'altitude': '29122.3 m'},
 'infos_sensor_ozonio': {'numero_serie_bomba': '6a14489',
  'corrente_fundo_aplicada': '0.01757 uA',
  'volume_catodo': '2.5 ml',
  'taxa_fluxo_bomba': '28.15 sec/100ml'}}

get_available_variables(data_lancamento)

Descrição:
Recupera as variáveis disponíveis para uma data de lançamento específica.

Parâmetros:

Retorno:

Exemplo de Resposta:

Clique para expandir
['Press (hPa)',
 'GeopAlt (km)',
 'Temp (C)',
 'RH (%)',
 'O3_mPa (mPa)',
 'O3_ppmv (ppmv)',
 'O3_DU (DU)',
 'Wind_Dir (deg)',
 'Wind_Spd (m/s)',
 'O3CellI (uA)']