Module pipelines.rj_escritorio.geolocator.utils
General purpose functions for the geolocator project
Functions
def checar_point_pertence_cidade(lat: float, long: float) ‑> list
-
Expand source code
def checar_point_pertence_cidade(lat: float, long: float) -> list: """ Verifica se o lat/long retornado pela API do Waze pertence ao geometry da cidade do Rio de Janeiro. Se pertencer retorna o lat, lon, se não retorna None. """ # Acessa dados da cidade do Rio de Janeiro rio = read_municipality(code_muni=3304557, year=2020) # Cria point com a latitude e longitude point = Point(long, lat) # Cria polígono com o geometry do Rio de Janeiro polygon = rio.geometry # Use polygon.contains(point) to test if point is inside (True) or outside (False) the polygon. pertence = polygon.contains(point) # Se pertence retorna lat, lon. Do contrário retorna nan if pertence.iloc[0]: lat_lon = [lat, long] else: lat_lon = [None, None] return lat_lon
Verifica se o lat/long retornado pela API do Waze pertence ao geometry da cidade do Rio de Janeiro. Se pertencer retorna o lat, lon, se não retorna None.
def geolocator(query_string: str) ‑> list
-
Expand source code
def geolocator(query_string: str) -> list: """ Utiliza a api do waze pra geolocalizar (lat/long) um endereço. """ url = ( f"https://gapi.waze.com/autocomplete/q?q={query_string}&e=ALL&c=web" "&gxy=1&exp=8%2C10%2C12&v=-22.9370135%2C-43.18795323%3B-22.9301167%2C-43.1815052&lang=pt" ) payload = {} headers = {} try: response = requests.request("GET", url, headers=headers, data=payload) long = response.json()[1][0][3]["x"] lat = response.json()[1][0][3]["y"] return [lat, long] except: # pylint: disable=bare-except return [None, None]
Utiliza a api do waze pra geolocalizar (lat/long) um endereço.