Рубрики
Без рубрики

Создание обертки Python Cibgeohash с помощью CFFI

Примечания. Теги с Python, Cffi, Geohash.

Первый пост для dev.to 🎊️

Я не знал, что это Геохаш это до и было взорвано, это концепция. Я нашел реализацию написанного в C. Ну, я всегда хочу экспериментировать с иностранными функциями и найден CFFI Подходит для моего случая. На тот же днем я написал простую обертку Ливигохаша в Python.

Проверь это! https://aldnav.com/blog/raging-a-geohash-wrapper-using-cffi/ Что это? Хотите запрыгнуть в исходный код вместо этого? В порядке! https://github.com/aldnav/geohash

Вот предварительный просмотр.

# geohash_build.py
from cffi import FFI
ffi = FFI()
ffi.cdef(
    """
    char* geohash_encode(double lat, double lng, int precision);
    GeoCoord geohash_decode(char* hash);
"""
)
lib = ffi.dlopen("geohash.so")
ffi.set_source("_geohash", None)
# Simple testing
from _geohash import ffi, lib
print(lib.geohash_encode(35.689487, 139.691706, 6))
#>> xn774c
# Use geohash module
import geohash
geohash.geohash_encode(48.856614, 2.352222)  # u09tvw for Paris! 
geohash.geohash_decode("wy7b1h")  # lat: 35.179554, long: 129.075642

Проверьте мои заметки, чтобы увидеть, как я построю обертку. Плюс еще несколько ссылок, которые ссылаются на более всеобъемлющие заметы от соответствующих авторов.

Позвольте мне знать ваши мысли!

Оригинал: “https://dev.to/aldnav/building-a-python-wrapper-of-c-libgeohash-using-cffi-4727”