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 图

地理数据机器学习数学

参阅一:亚图跨际
参阅二:亚图跨际
相关推荐
databook7 小时前
Manim实现闪光轨迹特效
后端·python·动效
Juchecar8 小时前
解惑:NumPy 中 ndarray.ndim 到底是什么?
python
用户8356290780519 小时前
Python 删除 Excel 工作表中的空白行列
后端·python
Json_9 小时前
使用python-fastApi框架开发一个学校宿舍管理系统-前后端分离项目
后端·python·fastapi
数据智能老司机15 小时前
精通 Python 设计模式——分布式系统模式
python·设计模式·架构
数据智能老司机16 小时前
精通 Python 设计模式——并发与异步模式
python·设计模式·编程语言
数据智能老司机16 小时前
精通 Python 设计模式——测试模式
python·设计模式·架构
数据智能老司机16 小时前
精通 Python 设计模式——性能模式
python·设计模式·架构
c8i17 小时前
drf初步梳理
python·django
每日AI新事件17 小时前
python的异步函数
python