`

利用google的API获取世界城市经纬度(python实现)

阅读更多


google API 需要  .......
#-*- coding: utf8 -*-

from xml.dom import minidom
import urllib2, urllib

#这个KEY本来是google要求的,否则不允许用它的API,可是我没用这个KEY也可以啊...囧了
KEY = 'ABQIAAAAm5e8FerSsVCrPjUC9W8BqBShYm95JTkTs6vbZ7nB48Si7EEJuhQJur9kGGJoqUiYond0w-7lKR6JpQ'

class GetData(object):
    def __init__(self):
        self.values = {'q': '',
                'sensor': 'false',
                'output': 'xml',
                'oe': 'utf8'}
        self.url = 'http://maps.google.com/maps/geo'

    def catchData(self, city, key=KEY):
        '''
        利用google map api从网上获取city的经纬度。
        '''
        self.values['q'] = city
        #self.values['key'] = key
        arguments = urllib.urlencode(self.values)
        url_get = self.url + '?' + arguments
        handler = urllib2.urlopen(url_get)
        try:
            self.lon, self.lat = self.parseXML(handler)
            #print 'lon:%d\tlat:%d' % (self.lon, self.lat)
            return self.lon, self.lat
        except IndexError:
            print '城市: %s 发生异常!' % (city,)
        finally:
            handler.close()
       
    def parseXML(self, handler):
        '''
        解析从API上获取的XML数据。
        '''
        xml_data = minidom.parse(handler)
        data = xml_data.getElementsByTagName('coordinates')[0].firstChild.data
        coordinates = data.split(',')
        lon = int(float(coordinates[0]) * 1000000)
        lat = int(float(coordinates[1]) * 1000000)
        return lon, lat
       
if __name__ == '__main__':
    getData = GetData()
    cityName = raw_input('请输入一个城市:')
    longitude, latitude = getData.catchData(cityName)
    print '%s \n经度:%d\n纬度:%d\n' % (cityName, longitude, latitude)

 

分享到:
评论

相关推荐

    利用google地图根据地址批量获取经纬度

    在标题“利用google地图根据地址批量获取经纬度”中,我们关注的核心技术是通过Google Maps API来处理地理位置数据,特别是批量处理地址以获得对应的经纬度坐标。这在数据分析、物流管理、地图服务、位置追踪等场景...

    根据经纬度获取google地图海拔

    根据经纬度获取google地图海拔

    googleMap根据经纬度获取地理位置

    在这个场景中,我们将主要探讨如何使用Google Maps API 根据经纬度获取地理位置信息。 首先,`googleMap根据经纬度获取地理位置`这个标题涉及到的核心技术是Google Maps Geocoding服务。Geocoding是将地址或坐标...

    经纬度转换api

    经纬度转换API是一种用于实现不同地图服务系统(如百度地图、谷歌地图等)之间经纬度坐标转换的服务接口。该服务通常应用于位置信息处理、地理信息系统(GIS)、导航系统等领域,以确保在不同地图平台间进行数据迁移...

    通过经纬度获取城市名

    总之,通过百度Geocoding API或其他类似服务,我们可以轻松地根据经纬度坐标获取城市名,从而在各种应用场景中实现精准的位置服务。同时,IP-CITY文件为批量处理IP地理位置提供了另一种解决方案。理解和运用这些工具...

    Python,通过Googlemap API获取地点信息

    在IT行业中,Python是一种广泛应用的编程语言,尤其在数据处理和Web开发领域。...通过学习和理解这个过程,你可以利用Python和Google Maps API创建各种有用的应用,比如定位服务、距离计算或者基于位置的推荐系统。

    C#调用高德、百度及google地图api解析经纬度及路径计算、位置标注源码

    在IT行业中,尤其是在地理信息系统(GIS)开发领域,利用地图API进行经纬度解析、路径规划以及位置标注是非常常见的任务。本篇文章将详细讲解如何使用C#语言调用高德、百度和Google地图的API来实现这些功能,并提供...

    谷歌经纬度查询

    无论哪种方式,都要确保正确处理API调用的异步性质,并注意谷歌API的使用限制和计费政策,避免超出配额或产生额外费用。 此外,压缩包中的“gpsaddr”可能是一个示例程序或库,用于简化经纬度查询的过程。这个文件...

    基于Googlemap的地址转换经纬度

    在这个过程中,我们学习了如何使用Python进行数据处理,以及如何集成和利用Google Maps Geocoding API。同时,也涉及到了网络请求、JSON解析和文件操作等基本技能。在实际应用中,可能还需要考虑API调用限制、错误...

    Goole 地图 根据经纬度获取地址

    在本文中,我们将深入探讨如何利用Google Maps API根据经纬度获取地址,以及相关的重要知识点。 首先,让我们了解什么是地理编码。地理编码是将地理位置(如经纬度)转换为人类可读的地址的过程。相反,反向地理...

    谷歌api和英国地址案例

    在这个“谷歌API和英国地址案例”中,我们将探讨如何利用谷歌API来处理和解析英国的地址信息。 首先,我们要知道谷歌提供了一个叫做Geocoding API的服务,它允许开发者将人类可读的地址转换为地理坐标(经纬度),...

    python下载谷歌瓦片地图

    这个场景中,我们关注的是使用Python下载带有标签的谷歌卫星地图,这涉及到地图切片(瓦片)的概念,以及如何利用Python的库来实现这一功能。下面将详细介绍这个过程中的相关知识点。 首先,我们需要理解“瓦片地图...

    全球200多个国家及主要城市,中英文名称,对应关系,经纬度

    7. **数据集成与API**:对于开发Web或移动应用,这些数据可能需要与外部服务集成,如通过RESTful API与地图服务提供商(如Google Maps API或OpenStreetMap Nominatim API)交互,获取更丰富的地理信息,如街道、地标...

    基于Python的离线Google地图操作实现.pdf

    根据文件信息,本文主要讨论了如何利用Python语言实现对离线Google地图瓦片数据文件的操作,内容涵盖了地图瓦片拼接、视图切换、平移、缩放、鼠标响应和轨迹显示等功能。文中所指的离线地图瓦片,通常是指存储在本地...

    经纬度转换成地址

    在这个场景下,我们将探讨如何使用百度和Google的API来实现批量的经纬度到地址的转换。 首先,让我们了解一下经纬度。在地球表面,我们用经度和纬度来精确定位位置。经度是从本初子午线(通过英国格林尼治的线)...

    开源的python地图

    【描述】:“利用Python操作Google Map”则意味着我们要探讨如何通过Python调用Google Maps API,实现地图的显示、定位、路径规划、地理编码(将地址转换为经纬度)以及反地理编码(将经纬度转换为地址)等功能。...

    GPS模块经纬度读取

    4. 数据可视化:将GPS数据展示在地图上,可以使用Web地图API如Google Maps或OpenStreetMap。 5. 位置服务:提供接口供其他应用调用,如导航、追踪、地理围栏等功能。 总结来说,通过串口连接GPS模块并读取经纬度...

    GPS经纬度转百度经纬度

    当从GPS设备获取数据时,你需要将接收到的GPS经纬度通过上述转换方法转化为百度坐标,以便在百度地图API中准确地显示位置。例如,一个GPS设备返回的经纬度是(116.404, 39.915),经过转换后,可以在百度地图上显示...

    批量经纬度查批量地址.zip

    1. 数据准备:收集包含经纬度信息的地理位置数据,这些数据可能来自于GPS设备、地图API(如Google Maps API、高德地图API等)或者已经存在的数据库。同时,也需要获取需要查询的地址列表。 2. 地址解析:将地址转换...

    地图瓦片抓取之python

    10. **地图API**:理解不同的地图服务提供商如Google Maps、OpenStreetMap、Bing Maps等的API文档,知道如何构建瓦片URL。 通过学习和实践上述知识点,你将能够编写出一个完整的Python程序来抓取地图瓦片。在`...

Global site tag (gtag.js) - Google Analytics