美文网首页
python实现地理编码

python实现地理编码

作者: V数据杂坛 | 来源:发表于2022-05-01 21:39 被阅读0次

输入:中文地址信息,例如安徽为县天城镇都督村冲里18号

输出:经纬度坐标,例如107.34799754989581 30.50483335424108

功能:根据中文地址信息获取经纬度坐标

实现代码:

import json

from urllib.requestimport urlopen,quote

import xlrd

def readXLS(XLS_FILE,sheet0):

rb= xlrd.open_workbook(XLS_FILE)

rs= rb.sheets()[sheet0]

return rs

def getlnglat(adress):

url ='http://api.map.baidu.com/geocoding/v3/?address='

    output ='json'

    ak ='fdi11GHN3GYVQdzVnUPuLSScYBVxYDFK'

    add = quote(adress)#使用quote进行编码 为了防止中文乱码

    # add=adress

    url2 = url + add +'&output=' + output +'&ak=' + ak

req = urlopen(url2)

res = req.read().decode()

temp = json.loads(res)

return temp

def getlatlon(sd_rs):

nrows_sd_rs=sd_rs.nrows

for iin range(4,nrows_sd_rs):

# for i in range(4, 7):

        row=sd_rs.row_values(i)

print(i,i/nrows_sd_rs)

b = (row[11]+row[12]+row[9]).replace('#','号')# 第三列的地址

        print(b)

try:

lng = getlnglat(b)['result']['location']['lng']# 获取经度并写入

            lat = getlnglat(b)['result']['location']['lat']#获取纬度并写入

        except KeyError as e:

lng=''

            lat=''

            f_err=open('f_err.txt','a')

f_err.write(str(i)+'\t')

f_err.close()

print(e)

print(lng,lat)

f_latlon =open('f_latlon.txt', 'a')

f_latlon.write(row[0]+'\t'+b+'\t'+str(lng)+'\t'+str(lat)+'\n')

f_latlon.close()

if __name__=='__main__':

# sle_xls_file = 'F:\医学大数据课题\江苏省SLE数据库(两次随访合并).xlsx'

    sle_xls_file ="F:\医学大数据课题\数据副本\江苏省SLE数据库(两次随访合并) - 副本.xlsx"

    sle_data_rs = readXLS(sle_xls_file, 1)

getlatlon(sle_data_rs)

结果展示:

关注数据杂坛学习更多!

相关文章

  • 地理编码

    地理编码和反地理编码都使用CLGeocoder类来实现. 地理编码使用 geocodeAddressString:...

  • 利用Python实现地理编码

    python实现地理编码 去高德地图申请好key python代码 坐标纠偏 这里采取一个插件。 高德坐标采用的是...

  • 百度地图之地理编码和反地理编码

    地理编码:将地理信息转换成坐标信息的过程 反地理编码:将地理坐标转换成具体的地址信息 实现过程:

  • python爬虫:地理编码

    背景音乐: 背景 平时在做数据分析的时候,我们往往只能拿到地址信息,并不方便直接进行可视化。 我们需要将地址转成经...

  • CLGeocoder

    CLGeocoder(地理编码) 使用CLGeocoder可以完成“地理编码”和“反地理编码”地理编码:根据给定的...

  • 地图(一)之CoreLocation

    CoreLocation CoreLocation用于地理定位,地理编码区域监听等(着重功能实现) 1.获取定位授...

  • CoreLocation

    CoreLocation 用于地理定位,地理编码,区域监听等(着重功能实现) 1、导入主头文件 #import <...

  • 对 'CoreLocation' say so

    应用场景 定位 地图CoreLocation : 用于地理定位, 地理编码, 区域监听等(着重功能实现)MapKi...

  • 高德LBS中URL实现地理编码/逆地理编码

    最近在做LBS应用,其中用到了高德的LBS技术,需要URL形式实现地理编码/逆地理编码,官网提供了JS SDK,A...

  • 定位和地图功能简介

    CoreLocation:用于地理定位,地理编码,区域监听等(着重功能实现)MapKit:用于地图展示,如大头针,...

网友评论

      本文标题:python实现地理编码

      本文链接:https://www.haomeiwen.com/subject/eeivyrtx.html