NO.51-----调用百度地图api画热力图

            在帮助一个金融系的同学做论文时,他提出可以在地图上显示某地区各县市经济和人口数据的对比,想到了调用百度api接口。       

一、获取坐标

NO.51-----调用百度地图api画热力图_第1张图片

      写一个python小程序获取地区坐标

# -*- coding: utf-8 -*-
"""
Created on Tue May 29 21:53:47 2018
@author: slash
DN: 灯光数据
fin: 财政支出
inc: 收入
number: 人口
"""
 
 
import json
from urllib.request import urlopen, quote
import xlrd

# 打开xlsx
book =xlrd.open_workbook("/Users/Macx/Documents/people/heat_map.xlsx")
# 打开sheet1
sh = book.sheet_by_index(0)
# 待拼接的url(不完整的url)
url = 'http://api.map.baidu.com/geocoder/v2/'
ak = 'AAmi3duoYrCIxfPR0Gx51HRfTDaDLIEh'
# 遍历每一行,为什么从1开始呢,因为0是标题行,不需要
for i in range(1, sh.nrows):
    # 各个地区前面加上‘上海市’,保证后面检索到的所有经纬度都是上海市的地区,而不是别的省市的
    city ='普洱市'+sh.cell_value(i,0)
    # 取第二列所有人口
    population = sh.cell_value(i,1)
    # 取第三列所有GDP
    GDP = sh.cell_value(i,2)
    # 因为出现中文,所以转换一下格式
    add = quote(city)
    # 以 json 的格式输出
    output = 'json'
    # URL 正式拼接,这一句画,下面还会详解解释
    uri = url + '?' + 'address=' + add + '&output=' + output + '&ak=' + ak
    req = urlopen(uri)
    # 传入的字符串,需要解码
    res = req.read().decode()
    # 写成json 字典的形式
    temp = json.loads(res)
    # 提取经度
    lng = temp['result']['location']['lng']
    # 提取纬度
    lat = temp['result']['location']['lat']
    # 写成新的字典
    str_temp = '{"lng":' + str(lng) + ',"lat":' + str(lat) + ',"count":' + str(population) +',"GDP":' + str(GDP) +'},'
    print(str_temp)

二、调用百度api 画图







    
    
    
    
    热力图功能示例
    


    

NO.51-----调用百度地图api画热力图_第2张图片

     因为数据差异不明显,看起来并不直观。 

你可能感兴趣的:(python,金融分析)