物联网数据可视化与地理空间分析
立即解锁
发布时间: 2025-08-30 01:02:42 阅读量: 12 订阅数: 15 AIGC 

# 物联网数据可视化与地理空间分析
## 1. 物联网数据可视化要点
在创建物联网数据可视化时,存在一些常见的错误。为避免这些错误,我们可以采取一些实用的技巧。同时,有一种开发仪表板和可视化的方法,其目标是使可视化与与之交互的人的思维过程相契合。
### 1.1 仪表板位置的运用
在仪表板上,位置可以用来传达信息的重要性。对于从左到右阅读的文化习惯来说,最重要的信息应放置在左上角。
### 1.2 颜色的有效使用
颜色也是一种有效的工具,可以用来向观众突出关键信息。
### 1.3 利用 Tableau 创建交互式仪表板
Tableau 可用于快速创建交互式仪表板来展示分析结果。我们以物联网天气数据为例进行了演示。此外,还回顾了一些警报原则,并给出了使用 Tableau 的示例。
除了 Tableau,R 和 Python 中也有一些优秀的可视化包。对于 R,推荐使用 ggplot;对于 Python,推荐使用 Seaborn。
## 2. 地理空间分析在物联网中的应用场景
假设你所在的公司销售一种测量空气中污染物的设备。该设备具备互联网连接功能,通过 MQTT 定期将数据报告回公司。产品的目标市场是关注环境的消费者,他们既希望测量自家附近的污染物,又想为集体环境监测做出贡献。公司计划汇总和打包高质量的空气污染数据分析结果,出售给政府和私人组织。
### 2.1 面临的挑战
由于设备是通过各种零售渠道间接销售给消费者的,公司最初并不了解设备的位置。消费者购买设备后将其连接到互联网,并输入地址,此时才能确定位置。公司希望构建并销售一个数据包,总结二氧化氮(NO₂)水平与州际公路的距离关系,并按美国的 115 个国会选区汇总结果。但公司只知道客户注册的设备地址,若手动在地图上查看每个设备位置并根据其与最近州际公路的距离进行分类,对于 500000 个设备来说,这将是一项劳动密集且成本高昂的任务。
### 2.2 地理空间分析的作用
幸运的是,地理空间分析可以高效地完成这类分析。接下来将介绍一些关键概念和技术,以解决这个问题。
## 3. 地理空间分析基础
### 3.1 Null Island
如果设备报告 GPS 位置数据,你会发现很多设备似乎在访问非洲西海岸的一个区域,这个地方被称为 Null Island,其纬度和经度恰好为 0。实际上,它并不存在,这是地理空间社区的一个玩笑。缺失的坐标值或空值通常存储为 0 和 0(纬度和经度)。Null Island 有助于引入地理空间分析的一个关键概念:所有位置都是相对于某个起始点来确定的。
### 3.2 坐标参考系统(CRS)
坐标参考系统,也称为空间参考系统(SRS)或地图投影,用于确定将三维球形地球转换为平面 X,Y 坐标表面的方法。有数千种定义的方法,每种都有其优缺点。最常见的是 1984 年世界大地测量系统(WGS 84),它被全球定位系统(GPS)使用。
为了正确识别位置并准确计算两点之间的表面距离,必须知道一组空间数据的 CRS。它通常作为文件或地理空间数据库的一部分被识别和存储。只要知道两个 CRS,就可以将一个 CRS 转换为另一个 CRS。
地球并非完美的球体,而是一个椭球体,中间会有隆起。因此,在地理空间数据上使用简单的球体几何计算并不完全准确。例如,使用计算球体距离的方法(如用于计算大圆距离的 haversine 公式),随着两点之间距离的增加,误差会越来越大。虽然在计算短距离时,haversine 方法的精度损失不大,但对于长距离应避免使用。
以下是使用 R 代码计算地球上两点之间 haversine 距离的示例:
```R
#code adapted from RosettaCode.
#Coordinates for the two points
#Chicago, USA O'Hare airport (ORD)
Point1Lat = 41.978194
Point1Long = -87.907739
#Coordinates for Chhatrapati Shivaji International Airport near Mumbai, India airport (BOM)
Point2Lat = 19.0895595
Point2Long = 72.8656144
#convert decimal degrees to radians
degrees_to_rad <- function(deg) (deg * pi / 180)
# Volumetric mean radius is 6371 km for the Earth, see
# http://nssdc.gsfc.nasa.gov/planetary/factsheet/earthfact.html
# The diameter is thus 12742 km
#function to calculate great circle distance using haversine method
great_circle_distance <- function(lat1, long1, lat2, long2) {
a <- sin(0.5 * (lat2 - lat1))
b <- sin(0.5 * (long2 - long1))
12742 * asin(sqrt(a * a + cos(lat1) * cos(lat2) * b * b))
}
#calculate distance for the two points
haversine_distance <- great_circle_distance(
degrees_to_rad(Point1Lat), degrees_to_rad(Point1Long), # Nashville International Airport (BNA)
degrees_to_rad(Point2Lat), degrees_to_rad(Point2Long)) # Los Angeles International Airport (LAX)
#result shown in kilometers
haversine_distance
# 12,942.77km
```
WGS 84 CRS 使用了一些参数来提高投影的准确性,如下表所示:
| 参数 | 说明 |
| --- | --- |
| 相关参数 | 具体参数值及含义(此处文档未详细给出具体参数内容) |
虽然 WGS 84 CRS 大多以二维坐标形式出现,但它实际上是地球的三维表示,起始点基于地球的质心。
### 3.3 Python 在地理空间分析中的应用
Python 有许多用于地理空间分析的优秀库。与 R 相比,Python 有更多的选择,并且由于其在地理空间社区的长期使用,这些库往往更加成熟。此外,Python 的扩展性更好,适合大规模、计算密集型的处理。地理空间计算可能会很复杂,而物联网数据在短时间内就会变得规模庞大,因此 Python 非常适合地理空间分析。
可以通过从 `https://www.continuum.io/downloads` 下载
0
0
复制全文
相关推荐









