python環境下的geohash庫推薦:
該庫基礎功能完整,包括座標編碼為geohash,geohash解碼為座標,獲取指定geohash周邊9宮格的geohash。
安裝:pip install mzgeohash
geohash編碼的簡單示例如下:
輸入檔案每行包含乙個座標,例如117.445044487,40.0585138025
處理**:
# !/usr/bin/env python
# encoding:utf-8
import time
import sys
import mzgeohash
def test(inputfile):
outputfile = file(inputfile+".geohash", 'a')
lineno = 0
isotimeformat='%y-%m-%d %x'
for line in open(inputfile):
lineno += 1
if lineno % 100 == 0:
print "process line :",lineno," ",time.strftime(isotimeformat,time.localtime())
sys.stdout.flush()
xy = line.strip()
x = float(xy.split(",")[0])
y = float(xy.split(",")[1])
geohash = mzgeohash.encode((x,y),length=8)
outputfile.write(xy +"\t"+str(geohash )+"\n")
if __name__=="__main__":
inputfile = sys.argv[1]
test(inputfile)
產出檔案每行示例:117.445044487,40.0585138025 wx5ebs
附上官方的簡明使用示例:
>>> import mzgeohash
>>> mzgeohash.decode('xn76urwe1g9y')
(139.76608408614993, 35.681382017210126)
>>> mzgeohash.encode((139.76608408614993, 35.681382017210126))
'xn76urwe1g9y'
>>> mzgeohash.neighbors('xn76urwe1g9y')
甘道夫 conda及pip公司內網無法使用
當在公司內網環境使用conda時,即使 能通過瀏覽器訪問,執行conda命令時也可能提示無法連線。此時我們需要做的不是修改conda源 清華 中科大等國內源由於版權問題都已停止conda服務 我們需要做的是配置 參考 解決方案1 conda 執行命令conda config,建立配置檔案.conda...
JAVA基礎特性 ThreadLocal 應用
threadlocal是什麼呢?其實threadlocal並非是乙個執行緒的本地實現版本,它並不是乙個thread,而是thread local variable 執行緒區域性變數 也許把它命名為threadlocalvar更加合適,他實現了執行緒的變數隔離,不同的執行緒可以維護自己的變數,他在內部...
django基礎 django中的app應用
urlpatterns path lw2 views.lw2 先設定子路由和乙個實現登入功能頁面 login.html 使用者名稱 密碼 通過request.post.get 方法可以返回使用者登入時的資訊,根據資訊來判斷和進行下一事件。如果登入資訊與資料庫中資訊不相匹配,則重新返回新的登入頁面。此...