ArcGIS Pro高级地图可视化—双变量符号地图
ArcGIS Pro高级地图可视化
——双变量符号地图
1
背景
“我不是双变量,但我很好奇。”出自2013 年南卡罗来纳州格林维尔举行的 NACIS 会议上,双变量地图随着这句俏皮的话便跳跃在人们的视角下,在讨论二元映射之后,它不仅恰逢其时,而且还包含了很多事实:很多人并没有创建二元映射,但他们想尝试一下。虽然这只是一个笑话,制作它的人可以轻松创建二元地图,但大多数人发现它们太困难或神秘。
在维基百科中对这类双变量地图有这样的解释:双变量地图或多变量地图是一种专题地图,通过组合不同的符号集在单个地图上显示两个或多个变量。每个变量都使用标准专题地图技术来表示,例如分区统计图、地图或比例符号。它们可以是相同类型或不同类型,并且它们可以位于地图的不同图层上,或者它们可以组合成单个多元符号。
2
示例
为了帮助介绍这种映射样式,展示了关系映射的构建块。例如,这是经典的主题分区统计图,显示了美国患有糖尿病的成年人口的百分比(根据疾病控制和预防中心的数据)。此数据来自 Behavioral Risk Factor Surveillance System,该系统是 ArcGIS Living Atlas of the World 中的图层。

上图是比较美国黑人(蓝色)和西班牙裔(红色)人口的双变量等值线地图,紫色阴影显示两组的显着比例。左侧地图颜色偏红,代表西班牙裔人多,黑人少,右侧蓝色多,代表着黑人多,西班牙裔少。这类双变量地区显示着两类变量在哪里趋于一致或趋于不一致。

下面,我们看到另一个主题分区统计图,显示了 CDC 调查的肥胖成年人口的百分比:

乍一看,这些模式看起来很相似,但我想看看这些模式在哪里既高,又低,或者单独强烈出现。关系映射允许我将这两种映射模式结合起来,以探索模式重叠或发散的地方。因此,如果我们将这两个色带组合在一起以显示图案的组合,我们将得到如下所示的网格和地图:


从这张地图中,我们看到图例的角落告诉我们很多信息。紫色值表示肥胖和糖尿病的高发病率。最深的粉红色值表示糖尿病人群较多,但肥胖人群较少。最深的蓝色值表示人们最有可能肥胖的地方,但患糖尿病的可能性较小。
3
原理
首先为变量创建一个 3 类顺序配色方案。


对另一个变量执行相同的操作。这一次,选择与第一个完全不同的色调。

通过垂直拉伸(或复制)每个矩形配色方案将其转换为正方形,如下所示:

现在采用第一个变量的配色方案,逆时针旋转 90°,使中性(低)颜色在底部,高在顶部:

在 Photoshop、Illustrator 或其他功能强大的图形程序中,将第一个配色方案的混合模式更改为变暗。然后定位第一个配色方案,使其完美地覆盖第二个配色方案。即出现了如下变量:

如果一直在关注不同的颜色选择,则必须进行与此处显示的略有不同的调整。但目标是相同的:配色方案应该阐明数据中沿三条路径的关系,每条路径都按顺序排列以增加饱和度和暗度:

下图是以ArcGIS Blog里下载的糖尿病和肥胖数据为基础,以点状要素作为展示对象,调整了对应的符号系统和分级尺寸大小。

这类多元地图的典型目标是可视化变量之间的任何统计或地理关系。它有可能比相应单变量图的并排比较更有效地揭示变量之间的关系,但当符号和模式过于复杂而难以理解时,也存在认知超载的危险。
参考文献
https://www.joshuastevens.net/cartography/make-a-bivariate-choropleth-map/
https://www.esri.com/arcgis-blog/products/arcgis-online/mapping/what-is-a-relationship-map/
相关文章:
ArcGIS Pro高级地图可视化—双变量符号地图
ArcGIS Pro高级地图可视化 ——双变量符号地图 1 背景 “我不是双变量,但我很好奇。”出自2013 年南卡罗来纳州格林维尔举行的 NACIS 会议上,双变量地图随着这句俏皮的话便跳跃在人们的视角下,在讨论二元映射之后,它不仅恰逢其…...
rust属性宏
1. #[repr(xxx)] repr全称是 “representation”,即表示、展现的意思。在#[repr(u32)]中,u32表示无符号 32 位整数。这意味着被这个属性修饰的类型将以 32 位无符号整数的形式在内存中存储和布局。例如,如果有一个枚举类型被#[repr(u32)]修饰: #[repr(u32)] enum MyEnum {…...
《pyqt+open3d》open3d可视化界面集成到qt中
《pyqtopen3d》open3d可视化界面集成到qt中 一、效果显示二、代码三、资源下载 一、效果显示 二、代码 参考链接 main.py import sys import open3d as o3d from PyQt5.QtWidgets import QApplication, QMainWindow, QWidget from PyQt5.QtGui import QWindow from PyQt5.Qt…...
学习记录:js算法(四十七):相同的树
文章目录 相同的树我的思路网上思路队列序列化方法 总结 相同的树 给你两棵二叉树的根节点 p 和 q ,编写一个函数来检验这两棵树是否相同。 如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。 图一: 图二&…...
使用Hutool-poi封装Apache POI进行Excel的上传与下载
介绍 Hutool-poi是针对Apache POI的封装,因此需要用户自行引入POI库,Hutool默认不引入。到目前为止,Hutool-poi支持: Excel文件(xls, xlsx)的读取(ExcelReader)Excel文件(xls&…...
asp.net core grpc快速入门
环境 .net 8 vs2022 创建 gRPC 服务器 一定要勾选Https 安装Nuget包 <PackageReference Include"Google.Protobuf" Version"3.28.2" /> <PackageReference Include"Grpc.AspNetCore" Version"2.66.0" /> <PackageR…...
拿到一个新项目,如何开展测试
1. 拿到一个新的项目或者新的需求,首先需要搞清楚他的背景、目标和需求,这个过程需要和产品、开发、客户去沟通。 2. 清楚需求后,首先将业务流程走通,确保项目的基础功能是正常的 3. 根据项目需求明确测试的目标,如&…...
pre-commit 的配置文件
这个文件是 pre-commit 的配置文件,通常命名为 .pre-commit-config.yaml。pre-commit 是一个用于管理和维护多种预提交钩子的框架,旨在在代码提交(git commit)之前自动执行一系列检查和格式化任务,以确保代码质量和一致…...
5G-A和F5G-A,对于AI意味着什么?
2024年已经过去了一大半,风起云涌的AI浪潮,又发生了不小的变化。 一方面,AI大模型的复杂度不断提升,模型参数持续增加,智算集群的规模也随之增加。万卡级、十万卡级集群,已经逐渐成为训练标配。这对智算网络…...
vue-实现rtmp直播流
1、安装vue-video-player与videojs-flash npm install vue-video-player -S npm install videojs-flash --save 2、在main.js中引入 3、组件中使用 这样就能实现rtmp直播流在浏览器中播放,但有以下几点切记,不要入坑 1.安装vue-video-player插件一定…...
论文阅读【时间序列】ModerTCN (ICLR2024)
【时间序列】ModerTCN (ICLR2024) 原文链接:ModernTCN: A Modern Pure Convolution Structure for General Time Series Analysis 代码仓库:ModerTCN 简易版本实现代码可以参考:(2024 ICLR)ModernTCN:A Mod…...
Robot Operating System——二维平面中的位置和方向
大纲 应用场景1. 移动机器人导航场景描述具体应用 2. 自动驾驶车辆控制场景描述具体应用 3. 机器人运动规划场景描述具体应用 4. 室内导航场景描述具体应用 5. 仿真环境场景描述具体应用 定义字段解释 案例 geometry_msgs::msg::Pose2D 是 ROS 2 中的一个消息类型,用…...
一文带你读懂分库分表,分片,Sharding的许多概念
一文带你读懂分库分表,分片,Sharding的许多概念 分库是将一个库拆分为多个库,分表就是将一个表拆分为多个表。分库分表有垂直拆分和水平拆分。垂直拆分一般是按照业务将表分到不同的库中(此种不在本发的讨论范围)。水平拆分是将表的数据拆分…...
算法实战(五):如何用学过的数据结构和算法实现一个短网址系统?
算法实战(五):如何用学过的数据结构和算法实现一个短网址系统? 在互联网时代,我们经常会遇到一些很长的网址,不仅不便于记忆,而且在一些场合下可能会受到长度限制。短网址系统就是为了解决这个问题而产生的。本文将介绍如何用学过的数据结构和算法实现一个短网址系统,…...
Python 环境搭建
Python 环境搭建 本章节我们将向大家介绍如何在本地搭建Python开发环境。 Python可应用于多平台包括 Linux 和 Mac OS X。 你可以通过终端窗口输入 “python” 命令来查看本地是否已经安装Python以及Python的安装版本。 Python下载 Python最新源码,二进制文档&am…...
uniapp vue3 使用echarts绘制图表 柱状图等
部分内容AI总结 Uniapp 使用 Vue3 和 ECharts 组件的总结 在 Uniapp 中使用 Vue3 和 ECharts 进行数据可视化是一种常见需求。以下将详细介绍如何在 Uniapp 项目中安装 ECharts 插件、在 main.js 中挂载 ECharts 以及一个简单的示例 demo。 1. 下载 ECharts 插件 在 Uniapp 中…...
字符串处理的艺术:深入探索charAt(), indexOf(), nextLine(), 和 next() 的应用与组合
摘要 本文旨在深入探讨Java中字符串处理的核心方法——charAt(), indexOf(), nextLine(), 和 next(),通过实例展示这些方法如何协同工作以解决复杂的字符串处理任务。我们将从基础概念出发,逐步构建到高级应用,包括字符串的遍历、搜索、读取…...
C#八股总结
重载和重写的区别 方法重载:在同一个类中定义多个同名但参数不同的方法。 方法重写:通过使用 virtual 和 override 关键字,实现基类和派生类之间的方法重写。 重载发生在同类中,重写发生在父子类中 重载方法名相同参数不同&#…...
iOS 中的 sqlite-shm 和 sqlite-wal 文件丢失
iOS 中的 sqlite-shm 和 sqlite-wal 文件丢失或损坏可能会导致 NSManagedObjectContext 的 performAndWait 方法抛出 NSInternalInconsistencyException 异常。这是因为这些文件在 SQLite 的 Write-Ahead Logging (WAL) 模式下起着关键作用,Core Data 依赖它们来确保…...
ubuntu22上C/C++程序使用weston+wayland+OpenGLES渲染
一,安装依赖软件:sudo apt install zlib1g-dev libssl-dev libgles2-mesa-dev libsystemd-dev libpng-dev libglib2.0-dev libwayland-dev weston libweston-9-dev 二,启动: # 运行weston weston -Swayland-1# 运行程序 ./yourp…...
SkyWalking 10.2.0 SWCK 配置过程
SkyWalking 10.2.0 & SWCK 配置过程 skywalking oap-server & ui 使用Docker安装在K8S集群以外,K8S集群中的微服务使用initContainer按命名空间将skywalking-java-agent注入到业务容器中。 SWCK有整套的解决方案,全安装在K8S群集中。 具体可参…...
【Linux】shell脚本忽略错误继续执行
在 shell 脚本中,可以使用 set -e 命令来设置脚本在遇到错误时退出执行。如果你希望脚本忽略错误并继续执行,可以在脚本开头添加 set e 命令来取消该设置。 举例1 #!/bin/bash# 取消 set -e 的设置 set e# 执行命令,并忽略错误 rm somefile…...
在HarmonyOS ArkTS ArkUI-X 5.0及以上版本中,手势开发全攻略:
在 HarmonyOS 应用开发中,手势交互是连接用户与设备的核心纽带。ArkTS 框架提供了丰富的手势处理能力,既支持点击、长按、拖拽等基础单一手势的精细控制,也能通过多种绑定策略解决父子组件的手势竞争问题。本文将结合官方开发文档,…...
pam_env.so模块配置解析
在PAM(Pluggable Authentication Modules)配置中, /etc/pam.d/su 文件相关配置含义如下: 配置解析 auth required pam_env.so1. 字段分解 字段值说明模块类型auth认证类模块,负责验证用户身份&am…...
ESP32读取DHT11温湿度数据
芯片:ESP32 环境:Arduino 一、安装DHT11传感器库 红框的库,别安装错了 二、代码 注意,DATA口要连接在D15上 #include "DHT.h" // 包含DHT库#define DHTPIN 15 // 定义DHT11数据引脚连接到ESP32的GPIO15 #define D…...
高等数学(下)题型笔记(八)空间解析几何与向量代数
目录 0 前言 1 向量的点乘 1.1 基本公式 1.2 例题 2 向量的叉乘 2.1 基础知识 2.2 例题 3 空间平面方程 3.1 基础知识 3.2 例题 4 空间直线方程 4.1 基础知识 4.2 例题 5 旋转曲面及其方程 5.1 基础知识 5.2 例题 6 空间曲面的法线与切平面 6.1 基础知识 6.2…...
Spring AI 入门:Java 开发者的生成式 AI 实践之路
一、Spring AI 简介 在人工智能技术快速迭代的今天,Spring AI 作为 Spring 生态系统的新生力量,正在成为 Java 开发者拥抱生成式 AI 的最佳选择。该框架通过模块化设计实现了与主流 AI 服务(如 OpenAI、Anthropic)的无缝对接&…...
Python 包管理器 uv 介绍
Python 包管理器 uv 全面介绍 uv 是由 Astral(热门工具 Ruff 的开发者)推出的下一代高性能 Python 包管理器和构建工具,用 Rust 编写。它旨在解决传统工具(如 pip、virtualenv、pip-tools)的性能瓶颈,同时…...
论文笔记——相干体技术在裂缝预测中的应用研究
目录 相关地震知识补充地震数据的认识地震几何属性 相干体算法定义基本原理第一代相干体技术:基于互相关的相干体技术(Correlation)第二代相干体技术:基于相似的相干体技术(Semblance)基于多道相似的相干体…...
嵌入式学习笔记DAY33(网络编程——TCP)
一、网络架构 C/S (client/server 客户端/服务器):由客户端和服务器端两个部分组成。客户端通常是用户使用的应用程序,负责提供用户界面和交互逻辑 ,接收用户输入,向服务器发送请求,并展示服务…...
