No project description provided
Project description
cep_range
A biblioteca cep_range
fornece funcoes relacionadas a obtencao de coordenadas geograficas, calculo de distancia entre dois pontos, obtencao de CEP a partir de coordenadas, busca de CEPs dentro de um raio especifico, outros.
Funcoes:
-
validate_cep(cep)
: Funcao para validar um CEP que retornar um formato padrao "XXXXX-XXX". -
get_coordinates(cep)
: Funcao para obter as coordenadas geograficas (latitude
elongitude
) a partir de um CEP. Utiliza o Selenium para abrir o Google Maps, inserir o CEP na barra de pesquisa, aguardar o carregamento da pagina e extrair as coordenadas da URL. Retorna as coordenadas como uma tupla(latitude, longitude)
. Se as coordenadas não forem encontradas, gera uma mensagem de erro. -
calculate_distance(cep_1, cep_2, unit)
: Funcao para calcular a distancia entre dois pontos geográficos. Obtém as coordenadas dos CEPs fornecidos usando a funcaoget_coordinates()
, converte as coordenadas para radianos e calcula a distancia. O resultado e retornado em quilometros (unit='KM'
) ou metros (unit='M'
). Se as coordenadas nao forem encontradas para algum dos CEPs gera uma excecaoCoordinatesNotFoundError
. -
get_cep(latitude, longitude)
: Funcao para obter o CEP correspondente a um par de coordenadas geograficas (latitude
elongitude
). Utiliza Nominatim do Geopy para reverter a geocodificacao e obter o CEP. Retorna o CEP se encontrado. Caso contrario, lança uma excecao indicando que nao foi possivel converter as coordenadas em CEP. Infelizmente o Nominatim pode retorna dados imprecisos. -
ceps_range(raio_m, cep_c)
: Funcao para gerar uma lista de CEPs unicos dentro de um determinado raio (em metros) a partir de um CEP central.
Bibliotecas Necessarias:
- geopy.geocoders.Nominatim: Biblioteca que fornece uma interface para o servico de geocodificacao do Nominatim, usado para converter coordenadas em CEP.
- selenium.webdriver: Módulo utilizado para automatizar a interacao com um navegador web, usado para capturar dados de (
latitude
elongitude
) de forma precisa. - selenium.webdriver.common.by: 'By' Utilizada para localizar elementos em uma pagina.
- selenium.webdriver.support.ui.WebDriverWait: Classe utilizada para aguardar condicoes especificas de elementos da pagina.
- selenium.webdriver.support.expected_conditions
- math
- re
Instalacao:
pip install cep-range
Exemplos:
import cep_range
ceps_raio_500m = cep_range.ceps_range(500, '01153-000')
# output = ['01155-020', '01154-020', '01234-001', '01150-000', '01151-000', '01156-001', '01155-010', '01152-000', '01155-040', '01232-010', '01155-030', '01154-030', '01155-060', '01156-030', '01233-060', '01154-000', '01150-001', '01231-010', '01155-000', '01235-000', '01154-010']
distancia = cep_range.calculate_distance('01150-000', '01154-010', 'm')
# output = 829.704
coordenadas = cep_range.get_coordinates('01154-010')
# output = (-23.5290645, -46.6634956)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file cep-range-0.0.1.tar.gz
.
File metadata
- Download URL: cep-range-0.0.1.tar.gz
- Upload date:
- Size: 4.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7040579a71a83a6f7dc8264c7014b32934970840192813c64f23e1123810b9b6 |
|
MD5 | 0269ac7a73d8df725e2b2f1568ed9a9b |
|
BLAKE2b-256 | f96f23646a0a8d8327e21eb0cb8443120af76e6ce3808ba7a5a00d9e01d73314 |