最近有很多朋友咨询位置数据、热力图等等东西,我一一进行了解答,但是个人精力实在有限,特写一个博客进行详细技术说明,其实这个东西位置数据、百度地图POI、高德地图POI等数据爬取、存储都较为简单,热力图渲染也较为简单,只要找到了好的库就很快了。

首先,我们采用百度地图API爬取长沙市和深圳相关地区的一些POI兴趣点,技术参考:https://blog.csdn.net/suwenkun1126/article/details/78343150,这个就是使用了SQL数据库进行了存储,高德地图POI爬取:https://blog.csdn.net/qq_34464926/article/details/79128211,这些都比较简单,稍微修改即可使用,好了,闲话不多说,我们爬取一些POI点如下所示:

里面的格式我展开给大家看一下,

上面图中就是对应的经度纬度等等信息。

如果只从SQL数据或者XSL中来看,实在看不出来有什么很大的名堂,比如说某个单位特别想看一下长沙市的人口大致分布情况、长沙市的医院分布情况、长沙市的小学分布情况,这些文字就没什么意思了,那么我们就需要空间分析了,其中热力图就是最有意思的东西。

下面我们上一下热力图成果:

腾讯位置大数据热力图

深圳南山区腾讯位置大数据热力图

长沙市小学分布图

这个图就有点意思了,我们来看一下长沙市的教育资源分布情况(PS:马上小小王也要读小学了,赶紧研究一下),总体来看,小学分布最密集的地方就是开福区和雨花区、岳麓区,最贫乏的地区就是天心区(完了,小小王没得书读了)。

下面再来看一下长沙市的医院分布热力图:

长沙市医院分布热力图

从这个图可以看出,医院何药店分布密集的区域为环梅溪湖区域,五一广场到芙蓉广场。

下面我们再来看一下最劲爆的热力图—长沙市情趣用品店分布热力图:

长沙市情趣用品店分布图

这个就没啥意思了,我看了一下,分布在这几个区域:湖南第一师范对面(为什么主席母校对面有这么多情趣店?手动疑问),城南街道(这个没啥好说的),星沙部分区域,这个就没啥好说的了。

关于代码如何实现,我这里把code贴下来,供大家参考。

# coding:utf-8
import os
import folium
import numpy as np
from folium.plugins import HeatMap
import xlrd
# written by Mr wang,refer:https://blog.csdn.net/LaoChengZier/article/details/83684961
# date:2019-4-1 # 读取POI文本
def readExel(filePath):
wb = xlrd.open_workbook(filePath) # 打开文件 sheet1 = wb.sheet_by_index(0) # 通过索引获取表格 length = sheet1.nrows # 数据行数 latitude = list(map(float, sheet1.col_values(1)[1:length])) # 批量将string字符转成float类型 longitude = list(map(float, sheet1.col_values(0)[1:length])) num = sheet1.col_values(2)[1:length] Latitude = np.array(latitude) Longitude = np.array(longitude) Num = np.array(num) return np.hstack((Latitude.reshape(Latitude.shape[0], 1),
Longitude.reshape(Longitude.shape[0], 1), Num.reshape(Num.shape[0], 1))) filePath = r'C:\Users\Administrator\Desktop\高德地图POI-python\长沙_QX.xls' data = readExel(filePath) m = folium.Map([26., 112.], tiles='OpenStreetMap', zoom_start=5) # 自定义底图 HeatMap(data).add_to(m) m.save(os.path.join(r'C:\Users\Administrator\Desktop\高德地图POI-python', 'MyHeatmap.html'))

这里面主要用到了一个folium库,这个库比较简单易用,推荐大家使用,在这里我自己也做一个笔记,就是这个numpy库的一维向量转置,这个不能用transposed方法,这里特别备注一下。

关于百度地图API和高德地图API爬取POI信息,由于这里面用到了我的付费账号,就不能大家了,如果有需要,可以联系qq:1044625113,如果大家有技术问题,也欢迎随时交流!

GIS热力图制作与位置大数据分析的更多相关文章

  1. Splunk大数据分析经验分享

    转自:http://www.freebuf.com/articles/database/123006.html Splunk大数据分析经验分享:从入门到夺门而逃 Porsche 2016-12-19 ...

  2. 用Storm轻松实时大数据分析【翻译】

    原文地址 简单易用,Storm让大数据分析变得轻而易举. 如今,公司在日常运作中经常会产生TB(terabytes)级的数据.数据来源包括从网络传感器捕获的,到Web,社交媒体,交易型业务数据,以及其 ...

  3. 使用Storm实现实时大数据分析

    摘要:随着数据体积的越来越大,实时处理成为了许多机构需要面对的首要挑战.Shruthi Kumar和Siddharth Patankar在Dr.Dobb’s上结合了汽车超速监视,为我们演示了使用Sto ...

  4. 大数据分析神兽麒麟(Apache Kylin)

    1.Apache Kylin是什么? 在现在的大数据时代,越来越多的企业开始使用Hadoop管理数据,但是现有的业务分析工具(如Tableau,Microstrategy等)往往存在很大的局限,如难以 ...

  5. 【ActiveReports 大数据分析报告】用数据分析的手段告诉你,复联4有多火爆?

    消失的人们会回来吗,奇异博士所说的1400万分之一可能性究竟是什么,还会有谁逝去? 4月24日零时,随着万众期待的<复仇者联盟4>(以下简称<复联4>)正式上映,一切谜底都将揭 ...

  6. ActiveReports 大数据分析报告:2019软件开发者现状

    “C++很不错,PHP是世界上最好的语言,所以我选Java …” 在全球软件开发者群体中,关于最优语言与最优框架的争论从未停止. 本次 ActiveReports 大数据分析报告,将借助权威数据,为您 ...

  7. ActiveReports 大数据分析报告:2018中国电影再次迎来黄金时代

    回顾2018,中国电影市场收获颇丰.先是凭借春节档<红海行动>.<唐人街探案>双双实现30亿票房突破,而后暑期档火力全开,<我不是药神>.<西虹市首富> ...

  8. ActiveReports 大数据分析报告:贸易争端与中国企业数字化转型

    2018年11月12日至18日,亚太经合组织(APEC)领导人非正式会议首次在南太平洋最大岛国巴布亚新几内亚的首都莫尔兹比港举行,本次会议的主题是:“把握包容性机遇,拥抱数字化未来”. 面对全球不断变 ...

  9. 大数据分析界的“神兽”Apache Kylin有多牛?【转】

    本文作者:李栋,来自Kyligence公司,也是Apache Kylin Committer & PMC member,在加入Kyligence之前曾就职于eBay.微软. 1.Apache ...

随机推荐

  1. expdp&amp;impdp

    1 创建逻辑文件夹,该命令不会在操作系统创建真正的文件夹,最好以system等管理员创建.  create directory dpdata1 as '/opt/oracle/dpdata1';  c ...

  2. Android开发 ----------怎样真机调试?

    一般来说 真机调试 是最快的, 所以建议 大家 直接用真机调试.

  3. matlab Tricks(二十七)—— 可变输入参数输出参数的适配

    matlab 内置的对 varargin/varargout(nargin/nargout)的支持,使得 matlab 的输入参数和输出参数,有了更为灵活的传递和使用: 比如对于 matlab 原生支 ...

  4. Bjarne Stroustrup语录2(一些C++使用注意点)

    一.致读者  1. 在编程序时,你是在为你针对某个问题的解决方案中的思想建立起一种具体表示.让程序的结构尽可能地直接反映这些思想:   ★.如果你能把“它”看成一个独立的概念,就把它做成一个类.    ...

  5. 分位数(quantiles)、Z-score 与 F-score

    0. 分位数(quantiles) 因为累计分布函数(cdf,F−1)是单调增函数,因此其有反函数,不妨记为 F−1. 其真实的含义在于,如果 F 是 X 的 cdf,则 F−1(α) 的函数值为: ...

  6. RTB业务知识2-Open-RTB全景

    一个.前言 openrtb这是一套开源的竞价广告系统,来自IAB贡献,井. 有许多值太借鉴,提供sdk api接口文档介绍,整理了相关的资料.主要包含其生态图体系.业务流程和基本的对象模型和数据模型. ...

  7. React学习(1)——constructor

    constructor(props) { super(props); this.state = { orderNo: "001", wid: 6 }; } constructor: ...

  8. 嵌入式Linux开发环境的搭建

    一个.制造u-boot.bin文件:    tar xjf u-boot-1.1.6.tar.bz2    cd u-boot-1.1.6    patch -p1 < ../u-boot-1. ...

  9. Android Training - 使用IntentService运行任务(Lesson 1 - 创建IntentService)

    写在http://hukai.me/blog/android-training-18-running-background-service-lesson-1/ 版权声明:本文博客原创文章,博客,未经同 ...

  10. Mybatis 一对多 配置文件

    当一个Entity中包含的属性有对象和对象集合时,用mybatis映射时要在Entity中添加一个字段来唯一标识当前的Entity对象.否则查询的Entity集合中的对象会被覆盖掉. 如下一个POJO ...