# Geo
Este módulo contiene funciones para el cálculo de distancias.
y una función para la validación de coordenadas:
validate_coords
# Haversine
# Métodos disponibles
calculate_distance
# calculate_distance
def calculate_distance(lat, lon, type_measure='mts'):
...
La función calculate_distance espera los siguientes parámetros:
- lat: un
array
con la Latitud. - lon: un
array
con la Longitud. - type_measure: la medida de longitud para la respuesta solicitada:
- mts
- kms
por defecto es: metros (mts
)
# Un ejemplo:
from app.ext.geo import calculate_distance
...
origin = [4.6565, -74.564654]
destiny = [4.6748, -74.05485]
result_in_mts = calculate_distance(origin, destiny)
print("result in mts:", result_in_mts)
# Otherwise
result_in_kms = calculate_distance(origin, destiny, 'kms')
print("result in kms:", result_in_kms)
salida:
>>> result in mts: 56536.4
>>> result in kms: 56.54
# geohash
# Métodos disponibles
decode_exactly
decode
encode
# decode_exactly
def decode_exactly(geohash):
...
La función decode_exactly espera un (1) parámetro:
- geohash: un
string
con el geohash válido.
# Un ejemplo:
from app.ext.geo import decode_exactly
...
geo_hash_to_decode = "d2g69bx1jb1m89u4"
result = decode_exactly(geo_hash_to_decode)
print("decode decode_exactly:", result)
salida:
>>> decode decode_exactly: (4.661122299994531, -74.09292170004846, 8.185452315956354e-11, 1.6370904631912708e-10)
# decode
def decode(geohash):
...
La función decode espera un (1) parámetro:
- geohash: un
string
con el geohash válido.
# Un ejemplo:
from app.ext.geo import decode
...
geo_hash_to_decode = "d2g69bx1jb1m89u4"
result = decode(geo_hash_to_decode)
print("decode geohash:", result)
salida:
>>> decode geohash: ('4.6611223', '-74.0929217')
# encode
def encode(latitude, longitude, precision=12):
...
La función encode espera los siguientes parámetros:
- lat: un
float
con la Latitud. - lon: un
float
con la Longitud. - precision: la precisión para la respuesta solicitada:
# Un ejemplo:
from app.ext.geo import encode
...
lat = 4.6611223
lon = -74.0929217
result = encode(lat, lon)
print("geohash encode:", result)
# Otherwise using precision
result = encode(lat, lon, 16)
print("geohash encode using precision:", result)
salida:
>>> geohash encode: d2g69bx1jb1m
>>> geohash encode using precision: d2g69bx1jb1m89u4
# validate_coords
def validate_coords(cx=None, cy=None):
...
# Más información
Para mas información consulte: