= Path.cwd().parent / 'dados' folder
Leitura
MOSAICO
O mosaico atualmente é composto por 2 bases complementares originárias de um banco
MongoDB
:
Estações
Plano Básico
read_srd
read_srd (folder:Union[str,pathlib.Path], conn:pymongo.mongo_client.MongoClient=None)
Lê o banco de dados salvo localmente do MOSAICO e opcionalmente o atualiza.
Type | Default | Details | |
---|---|---|---|
folder | Union | Pasta onde ler/salvar os dados | |
conn | MongoClient | None | Objeto de Conexão com o banco MongoDB, atualiza os dados caso válido |
Returns | DataFrame | Dataframe com os dados do mosaico |
from extracao.constants import MIN_LAT, MAX_LAT, MIN_LONG, MAX_LONG
from ydata_profiling import ProfileReport
= read_srd(folder)
mosaico for c in ['Latitude', 'Longitude']:
= mosaico[c].astype('float')
mosaico[c] = mosaico[~(mosaico.Latitude.between(MIN_LAT, MAX_LAT) | mosaico.Longitude.between(MIN_LONG, MAX_LONG))]
mos_bad_coords print(f"A base de radiodifusão do Mosaico possui {len(mos_bad_coords)} registros de coordenadas inválidas do total de {len(mosaico)}")
A base de radiodifusão do Mosaico possui 15809 registros de coordenadas inválidas do total de 30850
'Frequência'] = mosaico['Frequência'].astype('category')
mosaico[= ProfileReport(mosaico, config_file='report_config.yaml', title='MOSAICO')
mosaico_profile mosaico_profile.to_notebook_iframe()
LICENCIAMENTO
A Base licenciamento é composta de serviços privados de telecomunicações, tanto antigos migrados do STEL como novos para um novo banco de dados
MongoDB
read_telecom
read_telecom (folder:Union[str,pathlib.Path], conn:pymongo.mongo_client.MongoClient=None)
Lê o banco de dados salvo localmente do LICENCIAMENTO e opcionalmente o atualiza.
Type | Default | Details | |
---|---|---|---|
folder | Union | Pasta onde ler/salvar os dados | |
conn | MongoClient | None | Objeto de Conexão com o banco MongoDB, atualiza os dados caso válido |
Returns | DataFrame | Dataframe com os dados do mosaico |
= read_telecom(folder)
telecom for c in ['Latitude', 'Longitude']:
= telecom[c].astype('float')
telecom[c] = telecom[~(telecom.Latitude.between(MIN_LAT, MAX_LAT) | telecom.Longitude.between(MIN_LONG, MAX_LONG))]
mos_bad_coords print(f"A base licenciamento do Mosaico possui {len(mos_bad_coords)} registros de coordenadas inválidas do total de {len(telecom)}")
A base licenciamento do Mosaico possui 91 registros de coordenadas inválidas do total de 749602
'Frequência'] = telecom['Frequência'].astype('category')
telecom[= ProfileReport(telecom, config_file='report_config.yaml', title='Telecomunicações')
telecom_profile telecom_profile.to_notebook_iframe()
RADCOM
read_radcom
read_radcom (folder:Union[str,pathlib.Path], conn:pyodbc.Connection=None)
Lê o banco de dados salvo localmente de RADCOM. Opcionalmente o atualiza pelo Banco de Dados ANATELBDRO05 caso update = True
ou não exista o arquivo local
Type | Default | Details | |
---|---|---|---|
folder | Union | Pasta onde ler/salvar os dados | |
conn | Connection | None | Objeto de conexão de banco, atualiza os dados caso válido |
Returns | DataFrame | Dataframe com os dados de RADCOM |
= read_radcom(folder)
radcom for c in ['Latitude', 'Longitude']:
= radcom[c].astype('float')
radcom[c] = radcom[~(radcom.Latitude.between(MIN_LAT, MAX_LAT) | radcom.Longitude.between(MIN_LONG, MAX_LONG))]
mos_bad_coords print(f"A base radcom possui {len(mos_bad_coords)} registros de coordenadas inválidas do total de {len(radcom)}")
A base radcom possui 3 registros de coordenadas inválidas do total de 4972
'Frequência'] = radcom['Frequência'].astype('category')
radcom[= ProfileReport(radcom, config_file='report_config.yaml', title='RADCOM')
radcom_profile radcom_profile.to_notebook_iframe()
STEL
read_stel
read_stel (folder:Union[str,pathlib.Path], conn:pyodbc.Connection=None)
Lê o banco de dados salvo localmente do STEL. Opcionalmente o atualiza pelo Banco de Dados ANATELBDRO05 caso update = True
ou não exista o arquivo local
Type | Default | Details | |
---|---|---|---|
folder | Union | Pasta onde ler/salvar os dados | |
conn | Connection | None | Objeto de conexão de banco. Atualiza os dados caso válido |
Returns | DataFrame | Dataframe com os dados do STEL |
= read_stel(folder)
stel for c in ['Latitude', 'Longitude']:
= stel[c].astype('float')
stel[c] = stel[~(stel.Latitude.between(MIN_LAT, MAX_LAT) | stel.Longitude.between(MIN_LONG, MAX_LONG))]
mos_bad_coords print(f"A base legada do Stel possui {len(mos_bad_coords)} registros de coordenadas inválidas do total de {len(stel)}")
A base legada do Stel possui 8 registros de coordenadas inválidas do total de 35434
'Frequência'] = stel['Frequência'].astype('category')
stel[= ProfileReport(stel, config_file='report_config.yaml', title='STEL')
stel_profile stel_profile.to_notebook_iframe()
Bases Externas da Aeronáutica
read_icao
read_icao (folder:Union[str,pathlib.Path], update:bool=False)
Lê a base de dados do Frequency Finder e Canalização VOR/ILS/DME
Type | Default | Details | |
---|---|---|---|
folder | Union | Pasta onde ler/salvar os dados | |
update | bool | False | Atualiza os dados caso True |
Returns | DataFrame | Dataframe com os dados do ICAO |
read_aisw
read_aisw (folder:Union[str,pathlib.Path], update:bool=False)
Fontes da informação: AISWEB, REDEMET, Ofício nº 2/SSARP/14410 e Canalização VOR/ILS/DME.
Type | Default | Details | |
---|---|---|---|
folder | Union | Pasta onde ler/salvar os dados | |
update | bool | False | Atualiza os dados caso True |
Returns | DataFrame | Dataframe com os dados do AISWEB |
read_aisg
read_aisg (folder:Union[str,pathlib.Path], update:bool=False)
Fontes da informação: GEOAISWEB, REDEMET, Ofício nº 2/SSARP/14410 e Canalização VOR/ILS/DME.
Type | Default | Details | |
---|---|---|---|
folder | Union | Pasta onde ler/salvar os dados | |
update | bool | False | Atualiza os dados caso True |
Returns | DataFrame | Dataframe com os dados do GEOAISWEB |
read_redemet
read_redemet (folder:Union[str,pathlib.Path], update:bool=False)
Fontes da informação: AISWEB, REDEMET, Ofício nº 2/SSARP/14410 e Canalização VOR/ILS/DME.
Type | Default | Details | |
---|---|---|---|
folder | Union | Pasta onde ler/salvar os dados | |
update | bool | False | Atualiza os dados caso True |
Returns | DataFrame | Dataframe com os dados do AISWEB |
read_aero
read_aero (folder:Union[str,pathlib.Path], update:bool=False)
Lê os arquivos de dados da aeronáutica e retorna os registros comuns e únicos
Type | Default | Details | |
---|---|---|---|
folder | Union | Pasta onde ler/salvar os dados | |
update | bool | False | Atualiza os dados caso True |
Returns | DataFrame |
= read_aero(folder)
aero for c in ['Latitude', 'Longitude']:
= aero[c].astype('float')
aero[c] = aero[~(aero.Latitude.between(MIN_LAT, MAX_LAT) | aero.Longitude.between(MIN_LONG, MAX_LONG))]
bad_coords print(f"A base licenciamento do Mosaico possui {len(bad_coords)} registros de coordenadas inválidas do total de {len(aero)}")
A base licenciamento do Mosaico possui 0 registros de coordenadas inválidas do total de 2994
'Frequency'] = aero['Frequency'].astype('category')
aero[= ProfileReport(aero, config_file='report_config.yaml', title='AERONAUTICA')
aero_profile aero_profile.to_notebook_iframe()
Base Consolidada
read_base
read_base (folder:Union[str,pathlib.Path], conn:pyodbc.Connection=None, clientMongoDB:pymongo.mongo_client.MongoClient=None)
Lê a base de dados e opcionalmente a atualiza antes da leitura casos as conexões de banco sejam válidas
Type | Default | Details | |
---|---|---|---|
folder | Union | ||
conn | Connection | None | Objeto de conexão do banco SQL Server |
clientMongoDB | MongoClient | None | Objeto de conexão do banco MongoDB |
Returns | DataFrame |
= read_base(folder)
base 'Frequência'] = base['Frequência'].astype('category')
base[= ProfileReport(base, config_file='report_config.yaml', title='Base Consolidada')
base_profile base_profile.to_notebook_iframe()