新版白话空间统计(27):从离散点到密度图

news2025/1/21 9:35:48

点的密度是点分析中一个很重要的方向,有大量的点数据的空间表达,基本上都是通过密度图来进行体现的,比如百度热力图:

又或者是交通车流量热力图:

空间点密度分析,把海量离散的点,变成高度抽象的综合性描述数据,这也是统计学的天赋技能之一。

如果说,这是互联网地图里面,最让人喜闻乐见的一种空间分析模式(或者是看热闹的同学就认为是一种漂亮的可视化方式也行),让以百度热力地图为代表的这种可视化方式,成为了即缓冲查询和路径分析之后,最为广大人民群众所熟知的一种空间分析方式。

既然这个东西这么好用(颜值即正义),所以虾神决定花一定的篇幅,来把密度分析这个东西从头到尾讲一遍。不过文章也仅仅是作为科普和入门,更深入的东西,需要大家自己去研究和探索。

首先,我们来简单看看密度这个概念——中学物理说得很清楚了,单位体积内的质量就叫做密度:而且最重要的一点,密度不是绝对数值,而是一个相对值。

比如物理上面的密度,都是以水为基准单位的,如果说水的密度为1(在常温常压下,单位g/cm3),那么铁的密度是7.8,这个7.8就是指与水相比较得出来的。同等体积的铁是同等体积的水的质量的7.8倍。(所有有时候,相对密度也用“比重”这个词来替代)

OK,物理上的对比非常容易,那么是不是空间上也是一样呢?实际上很多分析里面,都直接套用了物理上的一些思维,比如:人口密度,普遍的计算方法就是以平方公里为单位,来进行计算,得出的结果一般都是下面这样的示意图:

这种对比方式,可以较为明显识别世界上各个区域的人口密度情况,这种密度就是最容易做的一种密度了,直接划分网格,然后把每个网格包含多少个点(人)计数进去就可以了。

但是实际上,空间的密度的计算可能要更加复杂一点。

比如,针对上面的密度图形,提出一个问题,中国和印度,那个国家的人口密度更大?这种问题一提出来,肯定各种被喷,话说你的条件太不严谨了等等等的。。。中国东部很多地方的密度比印度还要高,但是中国还有大片西部没人的地方……这怎么比较啊。

所以不论是计算总体密度还是计算网格密度的方式,都还是在某些方面有限制……特别是用于比较的时候。

下面我们来看看古往今来,一些关于点密度计算的方式。

最简单的一种,就是借用了一维统计分析中的技术,看看下面这个例子。

如果我们有5个事件,把他们画到直线上,正好是在7、8、9、12、13,因为总的数量是20,所以总体的密度就应该是应该是5/20 = 0.25个点每单位长度。

而如果我们就整个事件分成两段,每段10个长度,那么一部分的密度就变成了0.33个点每单位,而第二段就变成了0.2个点每单位了……

再继续分成4段——第一段和最后一段,密度就变成了0,而第二段的密度是0.6,第三段的密度变成了0.4。

这种细分总体段的方法,在空间分析里面,是空间尺度的一种,不同的空间尺度下,可能得出不同的结果。所以如果将所有的点分配到线的整个长度上,是没有唯一答案的。

比如对中国人口密度的描述,总分一段肯定就是:14亿人/960万平方公里,但是如果按东西部分两段,得出的密度又不一样了……按省、按市就变化得更厉害了。

从这里可以看出一些个重要概念:

最计算的时候,采用的线段的长度(空间尺度),对密度值有着重要的影响(在物理上也是一样,用是立方厘米为标准来作为基准),而因为这个尺度可以是任意的,所以我们要想办法来去除对于这种空间尺度的依赖性。这种关于空间尺度的内容,大家可以参阅相关论文(当然,你们也可以等挖坑小能手虾神以后讲……)

那么去除尺度依赖性的方法有哪些呢?最简单的就是去细分尺度,把研究区域分割成若干段。但是切开始之后,我们会发现在分割处,我们的密度值会突然发现间断——这种情况在很多时候我们并不希望。回到最上面那张百度热力地图,它的可视化效果在内行人的眼中,观察到的最大的一个优点,就是非常平滑的过度;而如果出现了断崖式的变化的话,效果就差很远了,比如下面这种:

这样效果无疑就差很远了。

而且因为点数据的分布,还有可能出现密度为0的区域,如果密度为0,那么计算出来的密度可能有部分出现了空缺的情况,像这样:当然,这种情况是肯定有出现。

最后,我们可能会尽可能的细化——以至于进行了太多的细分,就有可能变成了二值化的区域:每个部分仅包含1或者0……这样又回到了我们最初始的状态,如下:且分成若干网格之后,每个网格要么是1(红色),要么没值是0(灰色)……

所以,挑选合适的空间尺度,在密度计算里面是最最重要的事情之一,如果没有合适的尺度,密度计算的结果会让你抓狂,而至于如何来处理,我们下次继续说。

那么如何把点变成密度图呢?在GIS里面,有很多方法来实现。比如你可以直接用ArcGIS提供的密度分析工具:

也可以直接自己做网格聚合,比如下面是地震点的数据:

我们可以预先定义和划分成100平方公里一个的网格:

然后做空间关联,把每一个点,关联到相应的空间网格上:

聚合计算(最简单的聚合就是做sum,不过既然叫做聚合,你可以去做max\min\mean\SD……为什么会有这些,我们后面在讲交通分析的时候再说。):

与ArcGIS提供的工具,做出来的结果是栅格数据不同,通过自定义格网做出来的,可以是矢量数据的密度网格,这种方式还有助于下一步进行继续分析。

待续未完。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/943204.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Tableau可视化进阶实践-1

各类地图 符号地图特点 填充地图特点 多维地图特点 混合地图特点 符号地图 特点 符号化:符号地图以符号的形式表示信息,使用不同的符号来代表不同的地理要素或特定的地理信息。这种符号化的方式可以简化地理信息的表达,使人们更容易理解和识…

基于ssm+vue斗车车辆交易系统源码和论文

基于ssmvue斗车交易系统源码和论文082 开发工具:idea 数据库mysql5.7 数据库链接工具:navcat,小海豚等 技术:ssm 摘 要 21世纪的今天,随着社会的不断发展与进步,人们对于信息科学化的认识,已由低层次…

一个程序员眼中的API调用(淘宝/天猫/1688/拼多多API)

在程序员眼中,API调用是一种重要的编程概念,它允许开发人员通过预先定义好的接口和规范,调用其他应用程序或服务的功能。API调用是现代软件开发中不可或缺的一部分,它使得开发人员能够快速构建出复杂的应用程序,同时避…

电子电路原理题目整理(1)

电子电路原理题目整理(1) 最近在学习《电子电路原理》,记录一下书后面试题目,答案为个人总结,欢迎讨论。 1.电压源和电流源的区别? 电压源在不同的负载电阻下可提供恒定的负载电压,而电流源对于…

升讯威在线客服系统的并发高性能数据处理技术:具体化视图

我在业余时间开发维护了一款免费开源的升讯威在线客服系统,也收获了许多用户。对我来说,只要能获得用户的认可,就是我最大的动力。 最近客服系统成功经受住了客户现场组织的压力测试,获得了客户的认可。 客户组织多名客服上线后&a…

MySQL之事务与引擎

目录 一、事物 1、事务的概念 2、事务的ACID特点 3、事务之间的相互影响 4、Mysql及事务隔离级别(四种) 5、演示 1、查询会话事务隔离级别 2、查询会话事务隔离级别 3、设置全局事务隔离级别 4、设置会话事务隔离级别 6、事务控制语句 7、演示 1、测试提交事务 2、测试事…

Linux项目自动化构建工具-Makefile

Makefile Makefile介绍Makefile的使用依赖关系/依赖方法伪目标文件make 工作方式make [命令] 使用方式 Makefile介绍 Makefile是一个自动化编译工具,写好后,我们只需一个make命令,程序即可完成编译命令,并且可以根据项目需要&…

深圳前海公司的优惠政策

1.金融服务业政策优势 1.1支持前海构建跨境人民币业务创新试验区; 1.2探索试点跨境贷款; 1.3支持前海企业赴港发行人民币债券; 1.4支持设立前海股权投资母基金; 1.5支持外资股权投资基金在前海创新发展; 1.6支持…

android studio git没有显示Local Changes界面

设置android studio git没有显示Local Changes界面 Setting -> Version Control-> commit -> 把use non-modal commit interface 的勾勾去掉,如下图所示 然后点击apply,回到git界面就看到了,亲测有效

Qt应用开发(基础篇)——颜色选择器 QColorDialog

一、前言 QColorDialog类继承于QDialog,是一个设计用来选择颜色的对话框部件。 对话框窗口 QDialog QColorDialog颜色选择器一般用来让用户选择颜色,比如画图工具中选择画笔的颜色、刷子的颜色等。你可以使用静态函数QColorDialog::getColor()直接显示对…

深入解析CMS垃圾回收器

本文已收录至GitHub,推荐阅读 👉 Java随想录 微信公众号:Java随想录 原创不易,注重版权。转载请注明原作者和原文链接 文章目录 CMS简介运作过程初始标记并发标记并发预处理可取消的并发预处理重新标记并发清除 CMS的缺陷处理器资…

day2 牛客TOP100:BM 11-20 链表 二分法 流输入 小美加法

文章目录 链表BM11 链表相加(二)BM12 单链表的排序归并排序分割 超时辅助数组快排 BM13 判断一个链表是否为回文结构BM14 链表的奇偶重排BM15 删除有序链表中重复的元素-IBM16 删除有序链表中重复的元素-IIJZ35 复杂链表的复制 二分法BM17 二分查找-IBM18 二维数组中的查找BM19…

高忆管理:科创板代码多少开头?

科创板在上海证券买卖所正式开市,这是我国股票商场上的一次重磅改革。科创板旨在推进我国科技立异式企业的发展,招引更多高科技企业到A股上市。那么,科创板的代码多少最初呢?这个问题也让许多投资者和重视者非常重视。接下来&…

水论文的三种套路

目录 1、换模型不换领域(同领域换基准模型)2、换领域不换模型(同基准模型换领域)3、改进的模型 1、换模型不换领域(同领域换基准模型) 有一个,对Transformer做了一个改进A,做视频描…

激光三角测距原理

激光三角测距原理 1. 简介2. 直射式激光三角测距法3. 斜射式激光三角测距法 1. 简介 激光三角测量法是利用光线空间传播过程中的光学反射规律和相似三角形原理,在接收透镜的物空间与像空间构成相似三角形关系,同时利用边角关系计算出待测位移。根据入射…

数学建模:主成分分析法

🔆 文章首发于我的个人博客:欢迎大佬们来逛逛 主成分分析法 算法流程 构建原始数据矩阵 X X X ,其中矩阵的形状为 x ∗ n x * n x∗n ,有 m m m 个对象, n n n 个评价指标。然后进行矩阵的归一化处理。首先计算矩…

Python学习 -- 枚举类

当谈到在Python中管理一组常量或者枚举类型的时候,Enum(枚举)类是一个非常有用的工具。Python的Enum类允许你创建具有有意义的、可读性高的常量集合,而不必使用硬编码的数字或字符串。在本篇博客中,我们将深入探讨Pyth…

【LeetCode75】第四十题 最大层内元素和

目录 题目: 示例: 分析: 代码: 题目: 示例: 分析: 这道题和LeetCode75的上一题大同小异,都是要我们对二叉树进行层序遍历。 那具体如何层序遍历我再上一题也详细介绍过了&#…

System.Environment在Unity和常规.NET应用程序中的应用与兼容性

什么是 System.Environment? System.Environment 是 .NET Framework 的一个类,它提供了关于当前环境和平台的信息,以及与它们进行交互的方法。这些环境可以是操作系统、版本、机器配置等。该类为应用程序提供了访问特定于操作系统的功能的方…

常用命令之docker生命周期管理和镜像管理命令

一、docker简介 Docker是一个开源的容器化平台,用于构建、部署和管理应用程序。它使用容器技术来将应用程序及其依赖项打包为一个独立的可移植容器,可以在不同的环境中运行,而不需要依赖特定的操作系统或硬件。   Docker的主要特点包括&…