欧美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)緯度導(dǎo)入到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實現(xiàn)AdaBoost算法的示例

    python實現(xiàn)AdaBoost算法的示例

    這篇文章主要介紹了python實現(xiàn)AdaBoost算法的示例,幫助大家更好的理解和了解機器學(xué)習(xí)算法,感興趣的朋友可以了解下
    2020-10-10
  • Jupyter Notebook讀入csv文件時出錯的解決方案

    Jupyter Notebook讀入csv文件時出錯的解決方案

    這篇文章主要介紹了Jupyter Notebook讀入csv文件時出錯的解決方案,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • Django 創(chuàng)建后臺,配置sqlite3教程

    Django 創(chuàng)建后臺,配置sqlite3教程

    今天小編就為大家分享一篇Django 創(chuàng)建后臺,配置sqlite3教程,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • Pytorch實現(xiàn)簡單自定義網(wǎng)絡(luò)層的方法

    Pytorch實現(xiàn)簡單自定義網(wǎng)絡(luò)層的方法

    這篇文章主要給大家介紹了關(guān)于Pytorch實現(xiàn)簡單自定義網(wǎng)絡(luò)層的相關(guān)資料,文中通過實例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2022-05-05
  • Python爬蟲學(xué)習(xí)之獲取指定網(wǎng)頁源碼

    Python爬蟲學(xué)習(xí)之獲取指定網(wǎng)頁源碼

    這篇文章主要為大家詳細介紹了Python爬蟲學(xué)習(xí)之獲取指定網(wǎng)頁源碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-07-07
  • Python高階函數(shù)與裝飾器函數(shù)的深入講解

    Python高階函數(shù)與裝飾器函數(shù)的深入講解

    這篇文章主要給大家介紹了關(guān)于Python高階函數(shù)與裝飾器函數(shù)的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • python中Scrapy?shell的使用

    python中Scrapy?shell的使用

    這篇文章主要介紹了python入門之Scrapy?shell的使用,scrapy提供了一個shell。用來方便的測試規(guī)則,下面我們一起進入文章學(xué)習(xí)該內(nèi)容吧,需要的小伙伴可以參考一下,希望對你有所幫助
    2022-02-02
  • 基于Python實現(xiàn)溫度轉(zhuǎn)換程序

    基于Python實現(xiàn)溫度轉(zhuǎn)換程序

    這篇文章主要為大家詳細介紹了如何基于Python實現(xiàn)簡單的溫度轉(zhuǎn)換程序,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-10-10
  • Python快速實現(xiàn)一個線程池的示例代碼

    Python快速實現(xiàn)一個線程池的示例代碼

    當有多個?IO?密集型的任務(wù)要被處理時,我們自然而然會想到多線程。而線程池的實現(xiàn)也很簡單,因為?Python?提供了一個標準庫?concurrent.futures,已經(jīng)內(nèi)置了對線程池的支持。所以本篇文章,我們就來詳細介紹一下該模塊的用法
    2022-07-07
  • python+pandas生成指定日期和重采樣的方法

    python+pandas生成指定日期和重采樣的方法

    下面小編就為大家分享一篇python+pandas生成指定日期和重采樣的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-04-04

最新評論