IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> 通过百度地图使用folium将地址转换为经纬度并生成热力图 -> 正文阅读

[Python知识库]通过百度地图使用folium将地址转换为经纬度并生成热力图

(1)通过百度地图开放平台将地址转换为经纬度:

https://api.map.baidu.com/geocoding/v3/?address={江苏省连云港市江苏海洋大学苍梧校区}&output=json&ak=

在这里插入图片描述

import requests
import xlwt
import pandas as pd
import numpy as np
from tqdm import tqdm

def transform(address, ak):
    url = 'http://api.map.baidu.com/geocoding/v3/?address=%s&output=json&ak=%s'%(address, ak)
    response = requests.get(url)
    if response.status_code == 200:
        response_json = response.json()
        if response_json['status'] == 0:
            data = {'address': address, 'lng': response_json['result']['location']['lng'], 'lat': response_json['result']['location']['lat']}
        else:
            data = None
        return data
    else:
        print('%s 地址转换经纬度失败'%address)
print(transform('江苏海洋大学', '你的ak'))
# {'address': '江苏海洋大学', 'lng': 119.19679868081401, 'lat': 34.593404864659824}

(2)读取CSV文件

在这里插入图片描述

book = pd.read_csv('data/急救中心综合业务信息查询.csv')
addresses = book['发病地址'].values.tolist()
districts = book['呼叫区域'].values.tolist()

(3)批量转换并保存至CSV

def batch_transform_and_save(prefix, districts, addresses, ak, save_path):
    book = xlwt.Workbook(encoding='utf-8', style_compression=0)
    sheet = book.add_sheet("Sheet1", cell_overwrite_ok=True)
    sheet.write(0, 0, '地址')
    sheet.write(0, 1, '经度')
    sheet.write(0, 2, '纬度')
    
    length = len(addresses)
    for i in tqdm(range(0, length)):
        address = str(prefix)
        if districts[i] == '市辖区':
            address = address + str(addresses[i])
        else:
            address = address + str(addresses[i]) + str(districts[i])
        # print(address)
        transformed_address = transform(address, ak)
        if transformed_address == None:
            continue
        sheet.write(i+1, 0, transformed_address['address'])
        sheet.write(i+1, 1, transformed_address['lng'])
        sheet.write(i+1, 2, transformed_address['lat'])
        
    book.save(save_path)


batch_transform_and_save('江苏省连云港市', addresses, districts, ak, 'data/发病地址数据集.csv')

在这里插入图片描述

在这里插入图片描述

(4)folium生成热力图

import folium
from folium.plugins import HeatMap


location_book = pd.read_csv('data/发病地址数据集.csv')
lng = location_book['经度'].values.tolist()
lat = location_book['纬度'].values.tolist()

data = []
for i in range(0, len(lng)):
    temp = []
    temp.append(lat[i])
    temp.append(lng[i])
    temp.append(0.1)
    data.append(temp)
mp = folium.Map(location=[119.188671, 34.612552], zoom_start=14)
HeatMap(data[0:400]).add_to(mp)
mp.save('./Heatmap.html')

在这里插入图片描述
在这里插入图片描述

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-04-24 09:24:12  更:2022-04-24 09:24:55 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 17:49:28-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码