pip install git+https://github.com/ronaldokun/anateldb.git
A motivação original para a presente biblioteca foi disponibilizar os dados de diferentes fontes da Anatel - e posteriormente da Aeronáutica - programaticamente, para serem utilizadas pelo AppAnalise na identificação de emissões captadas pelos planos de monitoração e também em fiscalização de campo.
Os dados em formato otimizado .parquet.gzip
são disponibilizados junto
ao repositório na pasta dados
.
get_db (path:Union[str,pathlib.Path], connSQL:pyodbc.Connection=None, clientMongoDB:pymongo.mongo_client.MongoClient=None)
Lê e opcionalmente atualiza as bases da Anatel, mescla as bases da
Aeronáutica, salva e retorna o arquivo A atualização junto às bases de
dados da Anatel é efetuada caso ambos objetos de banco connSQL
e
clientMongoDB
forem válidos`
Type | Default | Details | |
---|---|---|---|
path | Union | Pasta onde salvar os arquivos”, | |
connSQL | Connection | None | Objeto de conexão do banco SQL Server |
clientMongoDB | MongoClient | None | Objeto de conexão do banco MongoDB |
Returns | DataFrame | Retorna o DataFrame com as bases da Anatel e da Aeronáutica |
db = get_db(pasta)
db.sample(5)
📜Lendo as bases de dados da Anatel...
.dataframe tbody tr th {
vertical-align: top;
}
.dataframe thead th {
text-align: right;
}
Id | Frequency | Latitude | Longitude | Description | Service | Station | Class | BW | |
---|---|---|---|---|---|---|---|---|---|
667035 | #667036 | 527.00000 | -2.806110 | -57.069721 | [MOS] TV-C1, C, Camara Dos Deputados (50441490... | 801 | -1 | NI | 5700.0 |
107525 | #107526 | 156.47500 | -8.581717 | -63.725052 | [STEL] L, ML, Transportes Bertolini Ltda (1202... | 19 | 1000751993 | G3E | 16.0 |
117314 | #117315 | 156.70000 | -1.540750 | -48.743168 | [STEL] L, FC, Alpina Briggs Defesa Ambiental S... | 19 | 690246978 | F3E | 16.0 |
273145 | #273146 | 167.63125 | -20.387291 | -44.484554 | [STEL] L, ML, Policia Militar Do Estado De Min... | 19 | 1001948332 | F1W | 8.1 |
306394 | #306395 | 167.74375 | -19.881208 | -43.859077 | [STEL] L, ML, Policia Militar Do Estado De Min... | 19 | 1002234406 | G1W | 8.1 |
from extracao.updates import update_mosaico, update_radcom, update_stel, update_telecom, update_base
A função update_mosaico
atualiza os dados de radiodifusão pública
disponíveis na interface pública online do Spectrum
E
%%time
update_mosaico(pasta='D:\OneDrive - ANATEL\GR01FI3\BaseDados')
Baixando as Estações do Mosaico...
Baixando o Plano Básico das Estações...
Baixando o Histórico de Atualizações...
Kbô
Wall time: 8.12 s
A função
update_radcom
é um complemento à função update_mosaico
. Ela retorna os registros
específicos de Rádio Comunitária, os quais ficam em base separada.
%%time
update_radcom('D:\OneDrive - ANATEL\GR01FI3\BaseDados')
Lendo o Banco de Dados de Radcom
Wall time: 1 s
A função update_telecom
é bem mais lenta que as demais,
dado que o banco de dados abarca todos os registros privados de serviços
de telecomunicações da ANATEL, com cerca de 10.000.000 registros
ativos atualmente. Esse banco de dados é atualizado 1 vez ao dia à
meia-noite e remete ao estado do dia anterior, portanto não faz sentido
atualizá-lo mais de 1 vez por dia.
A função
update_stel
retorna os registros de Serviços Privados de Telecomunicações da Anatel
que ainda não constam na base pública do Mosaico em Spectrum -
E e
são retornados pela função
update_telecom
%%time
update_stel('D:\OneDrive - ANATEL\GR01FI3\BaseDados')
A função
update_base
combina as 4 bases anteriores e uniformiza os campos:
update_base('D:\OneDrive - ANATEL\GR01FI3\BaseDados')
from extracao.reading import read_radcom, read_stel, read_mosaico, read_telecom, read_base
radcom = read_radcom(pasta)
radcom.sample(5).iloc[:,:5]
Se o argumento conn
for fornecido, o arquivo será
atualizado por meio da função update_radcom
.
A função
update_radcom
somente irá funcionar caso o PC estiver plugado na rede interna cabeada da Anatel.
stel = read_stel(pasta)
stel.sample(5).iloc[:,:7]
.dataframe tbody tr th {
vertical-align: top;
}
.dataframe thead th {
text-align: right;
}
Frequência | Classe_Emissão | Largura_Emissão | Classe | Num_Serviço | Entidade | Fistel | |
---|---|---|---|---|---|---|---|
713502 | 459.68750 | F1D | 7K60 | FX | 019 | MOSAIC FERTILIZANTES P&K LTDA. | 50416997473 |
744967 | 469.70000 | F1W | 7K60 | BR | 019 | ASSOCIACAO MELHORAMENTOS PARQUE SILVINO PEREIRA | 50011329165 |
353408 | 167.34375 | F1W | 7K60 | FB | 019 | DURATEX FLORESTAL LTDA | 02021684504 |
226524 | 157.78125 | F1E | 7K60 | FX | 011 | OLIVEIRA, TAVORA E CIA LTDA | 50418317186 |
380431 | 167.68125 | F3E | 11K0 | ML | 019 | POLICIA MILITAR DO ESTADO DE MINAS GERAIS | 50401288943 |
Se o argumento conn
for fornecido, o arquivo será
atualizado por meio da função update_stel
.
A função
update_stel
somente irá funcionar caso o PC estiver plugado na rede interna cabeada da Anatel.
mosaico = read_mosaico(pasta)
mosaico.sample(5).iloc[:,:7]
.dataframe tbody tr th {
vertical-align: top;
}
.dataframe thead th {
text-align: right;
}
Num_Serviço | Id | Número_Estação | Latitude | Longitude | Validade_RF | Município | |
---|---|---|---|---|---|---|---|
14017 | 800 | 57dbabf18de3d | 1002434758 | -21.762528 | -43.357556 | 2023-12-31 | Juiz de Fora |
28419 | 801 | 617afd492ade4 | <NA> | -17.400000 | -42.717220 | 2041-11-18 | Veredinha |
216 | 800 | 57dbaadbc8413 | 441611648 | -7.730833 | -72.648889 | 2023-12-31 | Rodrigues Alves |
15976 | 230 | 57dbac17c5a24 | 699381339 | -19.817611 | -40.336056 | 2024-08-20 | Ibiraçu |
10352 | 801 | 57dbabb50b92a | <NA> | -21.208611 | -45.198056 | 2035-10-09 | Nepomuceno |
Se o argumento mongo_client
for fornecido, o arquivo será
atualizado por meio da função update_mosaico
. > A função
update_mosaico
somente irá funcionar caso o PC estiver
plugado na rede interna cabeada da Anatel.
telecom = read_telecom(pasta)
telecom.sample(5).iloc[:,:7]
Se o argumento mongo_client
for fornecido, o arquivo será
atualizado por meio da função update_telecom
. > A função
update_telecom
somente irá funcionar caso o PC estiver
plugado na rede interna cabeada da Anatel.
base = read_base(pasta)
base.sample(5).iloc[:, :7]
A função
read_base
combina os 4 arquivos anteriores, e mescla os registros similares dos
arquivos consolidados da aeronáutica. Se os argumentos conn e
mongo_client
forem fornecidos, os arquivo serão atualizados por
meio de chamada da função
update_base
,
esta função encapsula a atualização de todos os arquivos por meio das
funções de atualização mencionadas anteriormente. > A função
update_base
somente irá funcionar caso o PC estiver plugado
na rede interna cabeada da Anatel.