Первый пост для 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”