1. 程式人生 > >geohash 模組安裝及使用(Anaconda.Python 2)

geohash 模組安裝及使用(Anaconda.Python 2)

1 安裝場景

  • 在 anaconda多核心環境中,實現 由 經緯度 得到 geohash 編碼 .
  • 實現方式:
    • 安裝 Geohash 模組
  • 安裝方式
    • 通過 命令列 安裝
      • 在 Anaconda Prompt 視窗中,通過 pip 或 conda 命令安裝Geohash模組 .
    • 通過 原始碼 安裝
      • 下載tar包或者原始碼,通過 setup.py 檔案完整安裝 .
  • 主要版本:
  • 即,Geohash 模組中包含的的方法不同。前者較少,後者較多。

2 詳細描述

  • 文章主要記錄在Anaconda Python 2 環境下,通過 geohash 完成編碼的過程。具體為以下 4 方面:
    • 安裝 geohash、mzgeohash
    • 解決並記錄安裝過程中遇到的問題
    • mzgeohash 使用

3 具體程式碼(已安裝mzgeohash

  • 1 mzgeohash 使用說明
# ### mzgeohash
# - 呼叫方式
# - 實現原理

# ### list all member methods

# In[23]:

dir(mzgeohash)


# #### 經緯度 轉換為 geohash
# In[2]: mzgeohash.encode([139.76608408614993, 35.681382017210126]) # #### geohash 轉換為 經緯度 # In[33]: mzgeohash.decode('xn76urwe1g9y') # #### 已知 geohash ,計算某一方向的臨近geohash # - 引數 1 # - 已知 geohash 串 # - 引數 2 # - 方向 # In[35]: mzgeohash.adjacent('xn76urwe1g9y','n') # # #### 已知 geohash ,臨近geohash
# - 九宮格,即周圍 8 個geohash # In[34]: mzgeohash.neighbors('xn76urwe1g9y') # #### 已知 某位置點經緯度和周圍經緯度點集,計算同屬 geohash # In[37]: test_centroid = [-122.18472385000001, 37.7881345] test_points = [ (-122.2992715, 37.9030588), (-122.396742, 37.792976), (-122.4474142, 37.72198087), (-121.9764, 37.557355), (-122.029095, 37.973737), (-122.224274, 37.774963), (-122.271604, 37.803664), (-122.126871, 37.697185), (-122.087967, 37.670399), (-122.123801, 37.893394), (-122.269029, 37.80787), (-122.265609, 37.797484), (-122.267227, 37.828415), (-122.067423, 37.905628), (-122.267227, 37.828415), (-122.38666, 37.599787), (-122.075567, 37.690754), (-122.401407, 37.789256), (-122.283451, 37.87404), (-122.269029, 37.80787), (-122.1837911, 37.87836087), (-122.419694, 37.765062), (-122.2945822, 37.80467476), (-122.21244024, 37.71297174), (-121.945154, 38.018914), (-122.466233, 37.684638), (-122.056013, 37.928403), (-122.406857, 37.784991), (-122.418466, 37.752254), (-122.26978, 37.853024), (-122.251793, 37.844601), (-121.928099, 37.699759), (-122.416038, 37.637753), (-122.1613112, 37.72261921), (-122.0575506, 37.63479954), (-122.392612, 37.616035), (-122.413756, 37.779528), (-122.353165, 37.936887), (-122.197273, 37.754006), (-122.017867, 37.591208), (-122.024597, 38.003275), (-122.4690807, 37.70612055), (-122.268045, 37.869867), (-122.444116, 37.664174), (-121.900367, 37.701695), (-122.317269, 37.925655), (-122.434092, 37.732921) ] # expect = '9q9' mzgeohash.neighborsfit(test_centroid, test_points)
  • mzgeohash 執行Demo
    geohash_demo
  • 2 利用 unittest 建立 mzgeohash 測試用例並執行
# ### 使用unittest進行 mzgeohash 模組測試
# - 通過 testsuit 執行測試用例
# - TestCase:所有測試用例的基本類,給定測試方法的名稱,返回測試用例例項;
# - TestSuit:組織測試用例的例項,支援測試用例的新增和刪除,最終將傳遞給 testRunner進行測試執行;
# - TextTestRunner:進行測試用例執行的例項,其中Text的意思是以文字形式顯示測試結果。
#     - 測試結果儲存在 TextTestResult 例項中,包括執行多少測試用例,成功多少,失敗多少等資訊;

# In[6]:

import unittest
from mzgeohash.test_geohash import Test_encode_decode
from mzgeohash.test_geohash import Test_adjacent
from mzgeohash.test_geohash import Test_neighbors
from mzgeohash.test_geohash import Test_neighborsfit


# In[35]:

suite=unittest.TestSuite()
suite.addTest(Test_encode_decode('test_decode'))
suite.addTest(Test_encode_decode('test_encode'))
suite.addTest(Test_encode_decode('test_roundtrip'))
suite.addTest(Test_neighbors('test_neighbors'))
suite.addTest(Test_adjacent('test_adjacent'))
suite.addTest(Test_neighborsfit('test_neighborsfit'))

runner=unittest.TextTestRunner()
runner.run(suite);
  • unittest 建立測試用例並執行Demo
    unittest_demo

4 參考文章

5 總結

  • geohash 版本
    version
  • mzgeohash 實現了開發中常用的(fang)方(bian)法,其他版本實現方法較少。如果讀者發現更好的版本,歡迎留言 .
  • 後續有機會進一步分析、總結實現原理 .

相關推薦

geohash 模組安裝使用Anaconda.Python 2

1 安裝場景 在 anaconda多核心環境中,實現 由 經緯度 得到 geohash 編碼 . 實現方式: 安裝 Geohash 模組 安裝方式 通過 命令列 安裝 在 Anaconda Prompt 視窗中,通過 pip 或 conda 命令安裝G

atlassian-jira-software-7.5.2 7.10.2安裝配置問題記錄

安裝過程網上資料很多,這裡不再搬磚,只記錄下遇到的問題: 1. 在配置資料庫頁面,測試連線時報錯,嘗試在命令列下登陸,報錯資訊如下: [***@localhost ~]$ mysql -ujira -pjirapasswd ERROR 1045 (28000): Access denied

## Python 3.6.3anaconda內建Anaconda安裝步驟以及TensorFlow安裝步驟

這是我已經下載好的32位和64位anaconda32,如果有需要可以用我分享的百度網盤地址進行下載哦~~~ 連結:https://pan.baidu.com/s/1WpsOVzGaxMisfWt2ofplDA 密碼:pm5q anaconda安裝步驟 雙擊下載

3.python安裝教程Anaconda和Pycharm的安裝

1.簡單來說就是我們需要安裝Anaconda和Pycharm。 2.為什麼安裝Anaconda和Pycharm以及其簡介。   Python的資料處理能力主要依賴於NumPy,SciPy,Matplotlib,Pandas這4個庫,其中NumPy提供了矩陣運算的功能,Sc

Python中requests庫模組和lxml模組安裝問題windows下

1.requests模組安裝: 第一次匯入requests模組,會報mportError: No module named requests的錯。這就是沒有成功匯入requests模組。 2.lxml模組安裝問題: 1.進入http://www.lfd

Python的C擴充套件模組的編寫Anaconda+VS2013,python3.5和c++

vs2013 調整生成配置,release和與python位數一致的平臺,這裡我選擇x64,因為我的python是64位 建立工程->32位專案->專案型別選DLL 配置工程屬性: ** 在.h檔案中,加入#include

Linux系統下安裝Python以及搭建科學計算機器學習環境anaconda和spyder

由於自己走完這幾步花了不少時間,所以總結了下分享。 系統:以Ubuntu為例 第一階段:安裝python linux系統都自帶python,我的是2.7版本,在終端輸入python就可以看到版本資訊,所以可以不用安裝python,直接進入第二階段即可。 1.其他版本下載地址

Mac Hadoop2.6CDH5.9.2偽分布式集群安裝

home address oca tno 操作系統 fault locate java contents 操作系統: MAC OS X 一、準備 1、 JDK 1.8   下載地址:http://www.oracle.com/technetwork/java/javase

181102 Windows下安裝kivypython寫APP

瞭解到Instgram,知乎等APP是用python寫的。我也決定學習用python寫APP。這裡我們需要安裝kivy。 環境:win7,python3.6 安裝方式:DOS命令視窗 注意事項:目前不支援python3.4及以上版本。如需安裝3.5及以上版本,請通過安裝檔案手動安裝。 參考kivy網址

vue-cli 安裝建立專案(vue 2.x)

安裝 npm install vue-cli -g /*g 全域性安裝*/ 建立專案 vue init webpack demo1  /* webpack 官方模板名稱, demo1 專案名稱*/ 安裝依賴(須先進入專案目錄) npm install&nb

Python 直譯器3 vs 2究竟該如何抉擇

Python的狀態(版本 3 和版本 2) 選擇 Python 直譯器時,總會出現一個令人窘迫的問題: “我應該選擇Python 2 還是 Python 3”? 答案比人們想象的要複雜的多。   大致的基本情況如下: 今天大多數生產應用程式都在使用 Pyth

Git入門安裝基礎命令列操作

一、安裝 1、Mac   在Mac中安裝Git的方法不止一種。最簡單的要數通過Xcode命令列工具。對於Mavericks(10.9)或更高版本的作業系統,當你第一次嘗試在終端執行git命令時,系統會自動檢查是否已安裝Git;如果未安裝,則會提示你安裝它。如果希望獲得更高的版本,也可以通過二進位制安裝程式

在Ubuntu 18中安裝Pycharm2018附破解過程專業版建立Pycharm快捷方式

一.到PyCharm網站下載最新版本2018 http://www.jetbrains.com/pycharm/download/#section=linux 二.右鍵提取出來,或者執行tar命令 進入解壓後的bin目錄中 cd /home/my/下載/pycharm

Windows下Python環境搭建圖解3.6.2

Windows下Python(pip)環境搭建(3.6)圖解 ----------------小白一隻,學習整理中。。。。轉載請標明,謝謝------------------------------------------- 1:下載最新的Python安裝:3.6.2

python重難點個人學習2

一, python字典操作方法及知識點     fromkeys(*args,**kwargs) :建立一個薪資點,以序列seq中的原色做字典的鍵,val為字典所有對應鍵值初始化。     get(self,k,d=none)若無對應值,可以設定預設返

Python celery和Redis入門安裝使用排難帖

shrink 獲取 問題 wine span cti bubuko cover hub 1、redis安裝 下載地址 https://github.com/MicrosoftArchive/redis/releases,選擇Redis-x64-3.2.100.msi5.8

Python:讀取xlsx和xls檔案Excel操作2

#!/usr/bin/env python # coding:UTF-8 """ @version: python3.x @author:曹新健 @contact: [email protected] @software: PyCharm @file: 2讀取x

Python從入門到實踐課後習題2

5-2 更多的條件測試 :你並非只能建立10個測試。如果你想嘗試做更多的比較,可再編寫一些測試,並將它們加入到conditional_tests.py中。對於下面列出的各種測 試,至少編寫一個結果為True 和False 的測試。 檢查兩個字串相等和不等。 使用

liux下安裝fbprophetanaconda,pystan,fbprophet【liux CentOS 】

首先確定下自己什麼系統和版本: more /etc/redhat-release 【本人是liux CentOS release 6.7 (Final)】 一、安裝anaconda(方法很多介紹一個我自己用的) 下載安裝指令碼,終端執行:wget https://repo.anaco

10分鐘搭建Vue環境安裝腳手架Vue入門篇

Vue理念(題外話) 1、Node安裝 2、基於node.js,安裝淘寶映象 國內直接使用 npm 的官方映象是非常慢的,這裡推薦使用淘寶 NPM 映象。 新建一個資料夾,開啟資料夾,在資料夾中按住鍵盤的 shift鍵 + 滑鼠