1,高德接口返回地址经纬度

import requestsdef getcode(site):parameters = { 'address' : site, 'key': '******高德平台申请******'}base = 'http://restapi.amap.com/v3/geocode/geo'response = requests.get(base, parameters)info_site = response.json()lng = info_site['geocodes'][0]['location'].split(',')[0]lat = info_site['geocodes'][0]['location'].split(',')[1]return [lng,lat]

2,利用经纬度计算距离

from math import *def Distance1(Lat_A,Lng_A,Lat_B,Lng_B): #第一种计算方法ra=6378.140 #赤道半径rb=6356.755 #极半径 (km)flatten=(ra-rb)/ra  #地球偏率rad_lat_A=radians(Lat_A)rad_lng_A=radians(Lng_A)rad_lat_B=radians(Lat_B)rad_lng_B=radians(Lng_B)pA=atan(rb/ra*tan(rad_lat_A))pB=atan(rb/ra*tan(rad_lat_B))xx=acos(sin(pA)*sin(pB)+cos(pA)*cos(pB)*cos(rad_lng_A-rad_lng_B))c1=(sin(xx)-xx)*(sin(pA)+sin(pB))**2/cos(xx/2)**2c2=(sin(xx)+xx)*(sin(pA)-sin(pB))**2/sin(xx/2)**2dr=flatten/8*(c1-c2)distance=ra*(xx+dr)return distance
def Distance2(lat1,lng1,lat2,lng2):# 第二种计算方法radlat1=radians(lat1)  radlat2=radians(lat2)  a=radlat1-radlat2  b=radians(lng1)-radians(lng2)  s=2*asin(sqrt(pow(sin(a/2),2)+cos(radlat1)*cos(radlat2)*pow(sin(b/2),2)))  earth_radius=6378.137  s=s*earth_radius  if s<0:  return -s  else:  return s#验证
Lat_A=32.060255; Lng_A=118.796877 # 南京
Lat_B=39.904211; Lng_B=116.407395 # 北京
r_id = 'nanjing'; t_id = 'beijing'
distance=Distance(t_id,r_id,lat_a,lng_a,lat_b,lng_b)
Lat_A = [32.060255,31.060255];Lng_A=[118.796877]
Lat_B = [39.060255,39.060255];Lng_B=[116.796877]
print('(Lat_A, Lng_A)=({0:.6f},{1:.6f})'.format(Lat_A,Lng_A))
print('(Lat_B, Lng_B)=({0:.6f},{1:.6f})'.format(Lat_B,Lng_B))
print('Distance1={0:.3f} km'.format(distance))
print('Distance2={0:.3f} km'.format(Distance2(Lat_A,Lng_A,Lat_B,Lng_B)))

3,经纬度划分区域(数据量多的时候可以用来判断数据分成那几块区域)

_base32 = '0123456789bcdefghjkmnpqrstuvwxyz'
#10进制和32进制转换,32进制去掉了ailo
_decode_map = {}
_encode_map = {}
for i in range(len(_base32)):_decode_map[_base32[i]] = i_encode_map[i]=_base32[i]
del idef encode(lat,lon,precision=7):'''编码位数对应区域大小(精度)precision =  5 ±2.4kmprecision =  6 ±0.61kmprecision =  7 ±0.076kmprecision =  8 ±0.019km'''lat_range, lon_range = [-90.0, 90.0], [-180.0, 180.0]geohash=[]code=[]while len(geohash)<precision:
#         print(code,lat_range,lon_range,geohash)lat_mid=sum(lat_range)/2lon_mid=sum(lon_range)/2#经度if lon<lon_mid:code.append(0)lon_range[1]=lon_midelse:code.append(1)lon_range[0]=lon_mid#纬度if lat<lat_mid:code.append(0)lat_range[1]=lat_midelse:code.append(1)lat_range[0]=lat_mid##encodeif len(code)>=5:geohash.append(_encode_map[int(''.join(map(str,code[:5])),2)])code=code[5:]return ''.join(geohash)

python 经纬度计算相关相关推荐

  1. python数据处理——计算相关系数矩阵(Spearman)

    计算相关系数矩阵,原始数据如下: 计算相关系数矩阵代码如下: import pandas as pd data = 'C:/Users/管儿子/Desktop/数学建模/附件1葡萄酒数据.csv' d ...

  2. python 经纬度计算距离公式_SymPy符号计算-让Python帮我们推公式

    作者: 阿凯 Email: xingshunkai@qq.com 概要 像我这种粗心的小孩, 在推导一些复杂的公式(尤其是矩阵运算)的时候, 经常容易算错数, 一步推错,步步错. 万能的Python有 ...

  3. python科学计算库安装

    python科学计算相关的库包括numpy,scipy,matplotlib等,但是自己安装比较不容易,倒不是安装过程有多难,而是会出现各种各样的问题,现在做一记录 安装顺序numpy -> s ...

  4. Python 根据百度 API 获得经纬度,根据经纬度计算城市间距离

    百度提供的查询经纬度的 api 为: http://api.map.baidu.com/geocoder?address=您要查询的地址&output=xml&key=您要输入的key ...

  5. MODIS数据下载,HEG批量拼接处理,arcmap批量掩膜提取,python栅格计算

    前言: 2022.12.30修改:补Python编程基础的过程中发现使用Print也可以向文件里写东西,查看写过的代码,然后发现HEG批量拼接处理代码中有的地方在复制粘贴至博客的时候出现了缩进错误,评 ...

  6. 根据经纬度计算两地距离——R

    2019独角兽企业重金招聘Python工程师标准>>> 帮别人算东西,涉及到了这一点,于是乱搜一气.目前决定采用geosphere包里的distm()来计算. 在这里看到的https ...

  7. 独家 | 教你用Python来计算偏差-方差权衡

    作者:Jason Brownlee 翻译:吴振东 校对:车前子 本文约3800字,建议阅读8分钟. 本文为你讲解模型偏差.方差和偏差-方差权衡的定义及联系,并教你用Python来计算. 衡量一个机器学 ...

  8. python星期计算_Python简单计算给定某一年的某一天是星期几示例

    本文实例讲述了Python简单计算给定某一年的某一天是星期几.分享给大家供大家参考,具体如下: # -*- coding:utf-8 -*- #计算某特定天使星期几 #蔡勒公式:w=y+[y/4]+[ ...

  9. python科学计算基础教程pdf下载-Python科学计算基础教程_PDF电子书

    因资源下载地址容易失效,请加微信号359049049直接领取,直接发最新下载地址. 前言 ======================================================= ...

最新文章

  1. Asp.Net统一前后端提示信息方案
  2. 前端的百度地图的api的使用
  3. git 本地分支与远程分支关联的一种方法
  4. 埃罗芒阿老师计算机谱,[B型]ヒトリゴト-埃罗芒阿老师OP 完整版
  5. BIOS中的分区工具
  6. SVG 教程 (三)圆形,椭圆,直线
  7. 查找数组连成环形的和最大的连续子数组
  8. Vue3学习笔记01:使用NPM方法安装Vue3
  9. java接口自动化(五) - 企业级代码管理工具Git的配置
  10. fastdfs windows部署_从零搭建分布式文件系统MinIO比FastDFS要更合适
  11. 微信回应 WeTool 被封事件;支付宝小程序开放直播功能;Raspberry Pi 4 发布 8GB 版本| 极客头条...
  12. Python进阶-----类的内置item属性方法
  13. 奔图 Pantum M6550 打印机驱动
  14. Redis 的过期策略
  15. 于的繁体字有几种写法_“龙”的繁体字有几种写法?
  16. pfv和php,【Retina China 2019】工欲善其事必先利其器——影像学在眼底病中的应用与发展...
  17. Vue--移动端开发
  18. 【linux安装opencv3.4报错】ib/libopencv_videoio.so.3.4.2: undefined reference to `avcodec_get_context_defa
  19. 如何恢复Mac上未保存的Word文件?
  20. video/audio 音频/视频 标签详解

热门文章

  1. 麒麟操作系统学习(安装)
  2. 带你学微信小程序开发
  3. LeetCode - Trangle
  4. OOD: 我所理解的SOLID原则
  5. word转pdf的几种方法
  6. 相控非绝缘技术为何是黄金微针效用至高点?深度剖析相控射频微针差异
  7. 工具使用 - office快捷键
  8. 手把手写C++服务器(0):专栏文章-汇总导航【持续更新】
  9. ROM修改---修改本机的mac地址
  10. QCustomPlot 1.0.1学习(5)-Sinc函数绘制