Python获取第三方空间API数据

从第三方地图服务商中获取数据,以及将数据展现在这些地图上,
 数据分析以及可视化法,
     第一:获取数据
     第二:展现数据
     第三:提供LBS服务--位置服务(LBS,Location Based Services)又称定位服务
    <1> 地名地址空间化 通过搜索关键字,返回相关POI信息,包括坐标 经纬度
    <2> 取行业所在的空间位置信息

基本概念:

常用概念:
    结构化地址
    location
    POI: POI是“Point of Interest”的缩写,可以翻译成“信息点”,
                每个POI包含四方面信息,名称、类别、经度纬度、附近的酒店饭店商铺等信息
                也称作导航地图信息。
                电子地图上一般用气泡图标来表示POI,POI名称有汉字和拼音两种版本
    AOI (area of interest),即信息面,也叫兴趣面。指的是地图数据中的区域状的地理实体

    radius  查询POI的半径范围  取值范围:0~3000,单位:米
LBS中的数据所涉及部分
    涉及的数据主要包括基础地理信息数据<地理信息数据库>、
                                系统管理数据  
                                兴趣点数据
各家地图服务商使用的坐标并不相同。目前主要有如下三种坐标系:
        大地坐标(WGS84坐标系):国际上通用的坐标系。设备一般包含GPS芯片或者北斗芯片获取的经纬度为WGS84地理坐标系, 
                                                        谷歌地图采用的是WGS84地理坐标系(中国范围除外)。
        火星坐标(GCJ02坐标系):是由中国国家测绘局制订的地理信息系统的坐标系统。由WGS84坐标系经加密后的坐标系。
                                                            高德地图 、谷歌中国地图和搜搜中国地图采用的是GCJ02地理坐标系。
        百度坐标(BD09坐标系):GCJ02坐标系经加密后的坐标系。

基本的代码--基于高德地图

--Python中的库以及高德地图中的ak-需要进行申请
# -*- coding:utf-8 -*-
import requests

def getcode(search, wantcity, wantpage=1):
    # 允许你使用 params 关键字参数,以一个字典来提供这些参数search
    # ak类型 - Web服务
    ak = '*********************'
    # (keywords和types两者至少必选其一)
    # offset 每页记录数据
    parameters = {'key': ak, 'keywords': search, 'offset': 20, 'city': wantcity, 'page': wantpage}
    # API类型 -- 搜索API --查询POI信息
    base = 'http://restapi.amap.com/v3/place/text'
    # http://restapi.amap.com/v3/place/around?parameters 周边搜索API服务地址
    responese = requests.get(base, params=parameters)
    #print responese.url
    # 访问请求响应体
    print(responese.text)
    # 检测响应状态码:
    #print('状态码是 : ' + str(responese.status_code))
    answer = responese.json()
    # geocodes  地理编码信息列表  结果对象列表,包括下述字段 搜索POI信息列表
    #print(answer)
    return(answer)    #if not answer['status'] else None


出现的问题   
    geocodes  地理编码信息列表  结果对象列表,包括下述字段 location 坐标点 经度,纬度
    citycode 城市编码
    {"info":"USERKEY_PLAT_NOMATCH","infocode":"","status":"0","sec_code_debug":"********",
        "key":"**********","sec_code":"********"}   
    确认方式:查看状态码以及返回的信息
    解决
        出现问题: key不匹配 ,请求中使用的key与绑定平台不符,例如:开发者申请的是js apikey,却用来调web服务接口
            ##JSON返回的信息如下
            {u'info': u'USERKEY_PLAT_NOMATCH', u'status': u'0', u'infocode': u'',……}
        解决方式:新申请了对应服务的key,换上即可-
    总结:- 了解每个参数的作用并进行修改以获取需要的效果

参考:

高德Web服务API简介 http://lbs.amap.com/api/webservice/summary/
高德地图 地理/逆地理编码 http://lbs.amap.com/api/webservice/guide/api/georegeo
高德地图api实现地址和经纬度的转换(python)  http://www.cnblogs.com/xautxuqiang/p/6241561.html
Python计算地图上两点经纬度间的距离 http://blog.csdn.net/vernice/article/details/46581361
Python和高德开放平台——地名地址空间化及采集POI信息 https://baijiahao.baidu.com/s?id=1564102482149360&wfr=spider&for=pc
Python方法获取百度地图数据示例源码 http://www.iplaypy.com/code/scripts-shell/ss2298.html

blogroll

social