Python地理数据机器学习数学

地理数据

地理数据是存储在地理信息系统 (GIS) 中的位置信息。通过查看具有地理成分的数据,我们可以通过不同的视角来看待它。

用地理数据解决位置问题需要空间思维。让我们深入了解地理数据的类型、主题和来源。

类型

地理数据有不同类型,每种类型在使用方式上都有其独特的价值。

无论数据来自政府、私人来源还是开放数据,了解数据的类型、数据的来源、数据的收集方式以及数据的用途都很重要。

  • 矢量文件:矢量数据由顶点和路径组成。矢量数据的三种基本类型是点、线和多边形(面)。每个点、线和多边形都有一个空间参考系,例如纬度和经度。首先,向量点只是 XY 坐标。其次,矢量线以特定顺序将每个点或顶点与路径连接起来。最后,多边形连接一组顶点。但它包围了第一个和最后一个顶点,创建了一个多边形区域。
  • 光栅文件:栅格数据由像素或网格单元组成。通常,它们是方形的并且间隔规则。但光栅也可以是矩形的。栅格将值与每个像素相关联。连续栅格具有逐渐变化的值,例如海拔或温度。但离散栅格将每个像素设置为特定类别。例如,我们将土地覆盖类别表示为一组值。
  • 地理数据库:地理数据库的目的是存储矢量和栅格。数据库将地理数据存储为一组结构化的数据/信息。例如,Esri 地理数据库、地理包和 SpatiaLite 是最常见的地理数据库类型。我们使用地理数据库,因为这是一种将所有数据放入单个容器中的方法。在这个容器中,我们可以构建网络、创建马赛克、进行版本控制并管理复杂的空间关系,从而实现地理数据的全面分析和表示。
  • 网页文件:例如,GeoJSON、GeoRSS 和 Web 地图服务 (WMS) 专门用于通过互联网提供和显示地理特征。此外,Esri 的 ArcGIS Online 等在线平台允许组织在云中构建数据仓库。
  • 多时相:多时态数据将时间成分附加到信息上。但多时相地理数据不仅具有时间成分,还具有地理成分。例如,天气和气候数据跟踪温度和气象信息在地理背景下如何随时间变化。多时相地理数据的其他示例包括人口趋势、土地利用模式和雷击。

Python处理地理数据

读取形状文件

首先,我们将导入 geopandas 库,然后使用变量"world_data"读取我们的 shapefile。 Geopandas 可以使用以下命令读取几乎任何基于矢量的空间数据格式,包括 ESRI shapefile、GeoJSON 文件等:

python 复制代码
import geopandas as gpd 

# Reading the world shapefile 
world_data = gpd.read_file(r'world.shp') 

world_data
绘图

如果您想检查正在使用的数据类型,请转到控制台并输入"type(world_data)",它会告诉您这不是 pandas 数据,而是 geopandas 地理数据。接下来,我们将使用plot()方法绘制这些GeoDataFrame。

python 复制代码
import geopandas as gpd 

# Reading the world shapefile 
world_data = gpd.read_file(r'world.shp') 

world_data.plot() 
选择列

如果我们看到"world_data"GeoDataFrame 显示了许多列(Geoseries),您可以通过以下方式选择特定的 Geoseries:

python 复制代码
import geopandas as gpd 

# Reading the world shapefile 
world_data = gpd.read_file(r'world.shp') 

world_data = world_data[['NAME', 'geometry']]
计算面积

我们可以通过创建新列"area"并使用area属性,使用geopandas计算每个国家的面积。

python 复制代码
import geopandas as gpd 

# Reading the world shapefile 
world_data = gpd.read_file(r'world.shp') 

world_data = world_data[['NAME', 'geometry']] 

# Calculating the area of each country 
world_data['area'] = world_data.area 
移除大陆

我们可以从 Geoseries 中删除特定元素。在这里,我们将从"名称"地质系列中删除名为"南极洲"的大陆。

python 复制代码
import geopandas as gpd 

# Reading the world shapefile 
world_data = gpd.read_file(r'world.shp') 

world_data = world_data[['NAME', 'geometry']] 

# Calculating the area of each country 
world_data['area'] = world_data.area 

# Removing Antarctica from GeoPandas GeoDataframe 
world_data = world_data[world_data['NAME'] != 'Antarctica'] 
world_data.plot() 
可视化特定国家/地区
坐标参考系
使用颜色图 (cmap)
添加图例
调整图例大小
使用 Geoplot 库的 Polyplot 和 Pointplot
Geoplot 中的等值线
Geoplot 中的 KDE 图

地理数据机器学习数学

参阅一:亚图跨际
参阅二:亚图跨际
相关推荐
坤坤子吖11 分钟前
Python基础语法学习:条件、循环与程序控制
开发语言·笔记·python·学习
伞伞悦读20 分钟前
【第53期】有序插入把二叉搜索树变成链:别只看“树”的名字
python
硅谷秋水23 分钟前
EmbodiedSWE:面向长时程灵巧机器人的编程智能体
人工智能·机器学习·语言模型·机器人·软件工程
郝学胜_神的一滴24 分钟前
AI 编程智能体 04:一文看懂智能体的核心能力与概念辨析
人工智能·python
一缕82年的清风33 分钟前
实战指南:如何把现有 REST API 工业级封装为 MCP(Model Context Protocol)服务
python·mcp
狼与自由37 分钟前
python打包
开发语言·python
Είναι η κοπέλα43 分钟前
Python 虚拟环境:venv、conda 与 Python 版本选择全解
开发语言·python·conda
蒲公英eric43 分钟前
Python工具链与LaTeX排版:把兵器配齐
人工智能·python·算法·数学建模·数学建模工具
言乐61 小时前
JavaScript概括前端原理
开发语言·前端·javascript·python·ecmascript
用户019027581611 小时前
如何用 Python 回测肯特纳通道(Keltner Channel)突破策略?(EMA+ATR 通道)
python