欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python利用Redis計算經(jīng)緯度距離案例

 更新時間:2022年09月07日 09:47:58   作者:時光不寫代碼  
這篇文章主要介紹了Python利用Redis計算經(jīng)緯度距離案例,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的朋友可以參考一下

1. 需要的庫, redis

pip install redis

2. 連接Redis

import redis
class RedisCtrl(object):
    @staticmethod
    def connect(config):
        pool = redis.ConnectionPool(
            host=config['host'],
            db=config['db'],
            port=config['port'],
            password=config['password'],
        )
        return redis.StrictRedis(connection_pool=pool)

rd = RedisCtrl.connect({
    "db": 1,
    "port": "6379",
    "password": "password",
    "host": "",
})

3. 計算

把已知的地址經(jīng)緯度導入到Redis中, 用于計算

rd.geoadd(name="集合名稱", values=["經(jīng)度", "維度", "地址名稱"])

一次添加多個位置values=[經(jīng)度1, 維度1, 地址名稱1, 經(jīng)度2, 維度2, 地址名稱2, 經(jīng)度3, 緯度3, 地址名稱3......]。

4. 查看已添加位置的經(jīng)緯度

result = rd.geopos("集合名稱", "地址名稱1", "地址名稱2")
print(result)  # [(地址1的經(jīng)度, 地址1的維度), (地址2的經(jīng)度, 地址2的維度)]

如果未查到, 會返回None。

result = rd.geopos("集合名稱", "錯誤名稱1", "錯誤名稱2")
print(result)  # [None, None]

5. 計算兩地之間的距離

rd.geodist("集合名稱", "地址名稱1", "地址名稱2", unit="km")

unit:距離的單位, 可選("m": 米, "km": 千米, "mi": 英里, "ft": 英尺), 默認值為m

6. 搜索范圍內(nèi)的地址

result = rd.georadius(name="集合名稱", longitude="經(jīng)度", latitude="維度", radius="半徑距離", unit="半徑單位",
                     sort='ASC', count=10, withdist=True, withcoord=True)
print(result)    # [[b'地址名稱', 距離, (經(jīng)度, 維度)], [b'shanghai', 0.1774, (121.4813420176506, 31.235159732038248)]]
  • sort: 排序方式, ASC由近到遠, DESC由遠到近。
  • count: 指定返回前幾條數(shù)據(jù)。
  • withdist: 是否返回距離。
  • withcoord: 是否返回經(jīng)緯度信息。

注意: 返回的數(shù)據(jù)其中的地址名稱是byte類型的, 使用時需要decode('utf-8)處理。

到此這篇關(guān)于Python利用Redis計算經(jīng)緯度距離案例的文章就介紹到這了,更多相關(guān)Python Redis內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python 遠程開關(guān)機的方法

    Python 遠程開關(guān)機的方法

    這篇文章主要介紹了Python 遠程開關(guān)機的方法,幫助大家更好的理解和學習python,感興趣的朋友可以了解下
    2020-11-11
  • python計算牛頓迭代多項式實例分析

    python計算牛頓迭代多項式實例分析

    這篇文章主要介紹了python計算牛頓迭代多項式的方法,涉及Python數(shù)學運算的相關(guān)技巧,需要的朋友可以參考下
    2015-05-05
  • 使用Python在PowerPoint演示文稿之間復制樣式

    使用Python在PowerPoint演示文稿之間復制樣式

    在專業(yè)演示文稿設計與制作領(lǐng)域,多場演示間保持一致性至關(guān)重要,在PowerPoint演示文稿之間復制幻燈片母版成為了一項關(guān)鍵技巧,本文中,我們將探討如何使用Python在不同的PowerPoint演示文稿之間復制幻燈片母版,提升演示文稿創(chuàng)作流程的效率與美觀度,需要的朋友可以參考下
    2024-05-05
  • Python中使用實現(xiàn)輸出哈沙德數(shù)的多種方法小結(jié)

    Python中使用實現(xiàn)輸出哈沙德數(shù)的多種方法小結(jié)

    哈沙德數(shù)(Harshad?Number),又稱Niven數(shù),是指一個自然數(shù),它可以被它的各位數(shù)字之和整除,本文將探討如何使用多種不同的方法來判斷一個數(shù)字是否是哈沙德數(shù),感興趣的可以了解下
    2024-01-01
  • Python使用windows設置定時執(zhí)行腳本

    Python使用windows設置定時執(zhí)行腳本

    這篇文章主要介紹了Python使用windows設置定時執(zhí)行腳本,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-11-11
  • Python使用pyglet庫完整實現(xiàn)漢諾塔游戲流程詳解

    Python使用pyglet庫完整實現(xiàn)漢諾塔游戲流程詳解

    這篇文章主要介紹了Python使用pyglet庫完整實現(xiàn)漢諾塔游戲流程,漢諾塔問題是一個遞歸問題,也可以使用非遞歸法來解決,這個問題不僅是一個數(shù)學和邏輯問題,也是一個很好的教學工具,可以用來教授遞歸、算法和邏輯思考等概念,需要的朋友可以參考下
    2007-02-02
  • Django實現(xiàn)簡單的分頁功能

    Django實現(xiàn)簡單的分頁功能

    這篇文章主要為大家詳細介紹了Django實現(xiàn)分頁功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-02-02
  • 讓Python腳本暫停執(zhí)行的幾種方法(小結(jié))

    讓Python腳本暫停執(zhí)行的幾種方法(小結(jié))

    這篇文章主要介紹了讓Python腳本暫停執(zhí)行的幾種方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-07-07
  • Python+Pygame實現(xiàn)懷舊游戲飛機大戰(zhàn)

    Python+Pygame實現(xiàn)懷舊游戲飛機大戰(zhàn)

    第一次見到飛機大戰(zhàn)是在小學五年級下半學期的時候,這個游戲中可以說包含了幾乎所有我目前可接觸到的pygame知識。本文就來利用Pygame實現(xiàn)飛機大戰(zhàn)游戲,需要的可以參考一下
    2022-11-11
  • python+appium自動化測試之如何控制App的啟動和退出

    python+appium自動化測試之如何控制App的啟動和退出

    本文主要介紹了python+appium自動化測試之如何控制App的啟動和退出,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-02-02

最新評論