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 图

地理数据机器学习数学

参阅一:亚图跨际
参阅二:亚图跨际
相关推荐
算法小白(真小白)2 小时前
低代码软件搭建自学第二天——构建拖拽功能
python·低代码·pyqt
唐小旭2 小时前
服务器建立-错误:pyenv环境建立后python版本不对
运维·服务器·python
007php0072 小时前
Go语言zero项目部署后启动失败问题分析与解决
java·服务器·网络·python·golang·php·ai编程
Chinese Red Guest3 小时前
python
开发语言·python·pygame
骑个小蜗牛3 小时前
Python 标准库:string——字符串操作
python
黄公子学安全5 小时前
Java的基础概念(一)
java·开发语言·python
程序员一诺6 小时前
【Python使用】嘿马python高级进阶全体系教程第10篇:静态Web服务器-返回固定页面数据,1. 开发自己的静态Web服务器【附代码文档】
后端·python
小木_.6 小时前
【Python 图片下载器】一款专门为爬虫制作的图片下载器,多线程下载,速度快,支持续传/图片缩放/图片压缩/图片转换
爬虫·python·学习·分享·批量下载·图片下载器
Jiude7 小时前
算法题题解记录——双变量问题的 “枚举右,维护左”
python·算法·面试