24小时免费服务热线:15320418221

怎么用程序通过地图API批量获取具体地址的经纬度

2021-09-23 17:52

高佬

高佬

址的经纬度可以选择两种方法:


方法一



建议使用xGeocoding工具,可以批量获得Google Earth/Google Map///等地图的经纬度。工具地址如下:链接


方案二


使用Python程序,直接嵌入即可。代码如下:(需要注意的是API获取的是墨卡托坐标,而实际使用的是WGS84坐标。代码已添加转换,只要设定语言一致即可实现。)




1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75


#!/usr/bin/python

#coding:utf-8


    

import xlrd


import xlwt


import requests


import lib


import math


import re


    

pattern_x=repile(r'"x":(".+?")')


pattern_y=repile(r'"y":(".+?")')


    
def mercator2wgs84(mercator):

    #1=mercator.s()[0]


    #2=mercator.s()[1]


    nt_x=mercator[0]


    nt_y=mercator[1]


    x=nt_x/2003750
8.3427892*180


    y=nt_y/2003750
8.3427892*180


    y=180/math.pi*(2*math.atan(math.exp(y*math.pi/180))-math.pi/2)


    return (x,y)


    
def get_mercator(addr):

    quote_addr=lib.quote(addr.encode('utf8'))


    city=lib.quote(u'齐齐哈尔市龙'.encode('utf8'))


    province=lib.quote(u'黑龙江省'.encode('utf8'))


    if quote_addr.startswith(city) or quote_addr.startswith(province):


        pass


    else:


        quote_addr=city+quote_addr


    s=lib.quote(u'北京市'.encode('utf8'))


    _addr="链接"%(quote_addr

,s)

    req=requests.get(_addr)


    content=req.content


    x=re.findall(pattern_x,content)


    y=re.findall(pattern_y,content)


    if x:


        x=x[0]


        y=y[0] 


        x=x[1:-1]


        y=y[1:-1]


        x=float(x)


        y=float(y)


        location=(x,y)


    else:


        location=()


    return location


    
def run():

    data=xlrd.open_workbook('Book
2.xls')


    rtable=data.sheets()[0]


    nrows=rtable.nrows


    values=rtable.col_values(0)


        

    workbook=xlwt.Workbook()


    wtable=workbook.add_sheet('data',cell_overwrite_ok=True)


    row=0


    for value in values:


        mercator=get_mercator(value)


        if mercator:


            wgs=mercator2wgs84(mercator)


        else:


            wgs=('NotFound','NotFound')


        print "%s,%s,%s"%(value,wgs[0],wgs[1])


        wtable.write(row,0,value)


        wtable.write(row,1,wgs[0])


        wtable.write(row,2,wgs[1])


        row=row+1


    

    workbook.save('data.xls')


    

if __name__=='__main__':


    run()

2021-09-23 19:15:42

相关地图标注文章

相关地图标注热门问答

墨韵风香员

地图怎么获取当前位置经纬度

地图不支持经纬度。在地图的右上角,点击“地图API”。在地图API页面,把鼠标移动到“工具”菜单项,在下拉菜单中选择“坐标拾取工具”。比如在搜索栏输入“大厦”点击搜索,就会在地图上出现相应的标记,点击你要找的某一个,就能看到相应的坐标。同理,把找到的坐标输入到搜索...

2021-09-23 17:19:01

搓揖钵藐典片恳

小程序怎么用 小程序最全玩法介绍

2021-09-23 17:48:48

「remind

有谁做过从数据库中获取经纬度批量标注在搜狗地图上的

C#winform在嵌入地图?然后用后台程序调用地图的API?

2021-09-23 17:52:00

言午

地图怎么批量获取经纬度坐标

这个估计你可以通过POI来实现 demo不是有个搜索地名就会出现很多的点的 如果你觉得这个不行 其实还可以自己记录到服务器去这些信息 之后从服务器读取

2021-09-23 17:52:00

[已注销]

怎么用程序通过地图API批量获取具体地址的经纬度

址的经纬度可以选择两种方法:方法一建议使用xGeocoding工具,可以批量获得Google Earth/Google Map///等地图的经纬度。工具地址如下:链接方案二使用Python程序,直接嵌入即可。代码如下:(需要注意的是API获取的是墨卡托坐标,而实际...

2021-09-23 17:52:00

橘子风车树

怎么用程序通过地图批量获取具体地址的经纬度

你要编程实现还是仅想获得相关地址的经纬度信息

2021-09-23 17:52:00

笑的好像大夏天

怎么用程序通过地图API批量获取具体地址的经纬度

去找商客坐标拾取系统,这个软件的功能就可以批量拾取经纬度坐标。

2021-09-23 17:52:00

凡人

怎么根据地图位置获取经纬度

什么意思?

2022-04-25 10:35:02