GeoPandas初体验:它是什么,我用它展示一下shp矢量数据

GeoPandas 是一个开源的 Python 库,用于处理地理空间数据。它扩展了 Pandas 这个流行的 Python 数据操作库,增加了对地理数据类型和操作的支持。GeoPandas 结合了 Pandas、Matplotlib 和 Shapely 的功能,提供了一个易于使用且高效的工具,用于处理地理空间数据。

GeoPandas 是一个开源项目,用于处理地理空间 Python 中的数据更容易。GeoPandas 扩展了 pandas 使用的数据类型,以允许对几何类型进行空间运算。几何 操作由 Shapely 执行。Geopandas 进一步依赖 fiona 进行文件访问,并依赖 matplotlib 进行绘图。

  1. 官网地址:GeoPandas 0.dev+untagged — GeoPandas 0+untagged.50.g9a9f097.dirty 文档

  2. 在这里插入图片描述

  3. 成熟社区

  • GIS Stack Exchange

GIS Stack Exchange 是专注于地理信息系统的问答社区。您可以在这里找到与 GeoPandas 相关的问题和答案,涉及地理空间数据处理、地图绘制、坐标转换等方面。

网址为:https://gis.stackexchange.com/

  • GitHubStack Overflow

GeoPandas 的 GitHub 仓库是这个:https://github.com/geopandas/geopandas

这个仓库是 GeoPandas 项目的官方代码托管地点,您可以在这里找到 GeoPandas 的源代码、问题追踪、合并请求以及开发者讨论。如果您对贡献代码、报告问题或者了解 GeoPandas 的最新开发进展感兴趣,这个仓库将会是一个重要的参考资源。

在这个仓库中,您可以找到 GeoPandas 的代码库、开发文档、贡献指南等信息。同时,您也可以在 Issues 页面中报告 bug、提出功能请求,或者在 Pull Requests 页面中参与代码的贡献和讨论。

通过 GitHub 仓库,您可以与 GeoPandas 社区中的开发者和其他用户进行交流、分享想法,并参与到 GeoPandas 的持续发展和改进中。
在这里插入图片描述

1. GeoPandas的核心概念

GeoPandas 是一个用于处理地理空间数据的 Python 库,它构建在许多其他库的基础之上,主要是 Pandas、Shapely 和 Fiona。以下是 GeoPandas 中的一些核心概念:

  1. GeoSeries 和 GeoDataFrame: 这两个数据结构是 GeoPandas 的核心。它们分别是基于 Pandas 的 Series 和 DataFrame,但增加了对地理空间数据的支持。GeoSeries 是一维的数据结构,类似于 Pandas 的 Series,但其元素是几何对象。GeoDataFrame 类似于 Pandas 的 DataFrame,但至少包含一个列是 GeoSeries,表示几何数据。

  2. 几何对象: GeoPandas 支持几何对象,比如点(Point)、线(LineString)、多边形(Polygon)等。这些几何对象可以储存在 GeoSeries 中,并允许执行各种空间分析和操作。

  3. 地理空间数据的操作: GeoPandas 提供了各种地理空间数据操作,例如缓冲区分析、空间查询、几何对象的交集、并集等。

  4. 读取和写入地理空间数据: GeoPandas 支持读取和写入多种地理空间数据格式,如 ESRI Shapefile、GeoJSON、GeoPackage 等,以及与其他 GIS 软件兼容的格式。

  5. 地理空间操作函数: GeoPandas 结合了 Shapely 库的功能,可以进行一系列的空间操作,包括距离计算、几何对象的交叉判断、几何对象的缓冲区生成等。

  6. 地图绘制和可视化: GeoPandas 结合了 Matplotlib 的功能,可以直接从 GeoDataFrame 中绘制地图,显示地理空间数据的可视化结果。

这些概念构成了 GeoPandas 的基本构架和核心功能。借助这些特性,GeoPandas 提供了一个便捷而强大的工具,用于处理和分析地理空间数据,并能够与其他 Python 数据科学和地理信息系统 (GIS) 工具很好地整合。

2. 安装使用GeoPandas

在 Windows 上安装 GeoPandas 并在 Jupyter Notebook 中使用,您可以按照以下步骤操作:

步骤一:安装 Python

如果您尚未安装 Python,请从 Python 官网 下载并安装最新版本的 Python。在安装过程中,请确保勾选“Add Python to PATH”选项,以便在命令行中访问 Python。

步骤二:安装依赖工具

1. 安装 Visual C++ Build Tools

GeoPandas 和其依赖项中的部分库可能需要编译 C/C++ 扩展。在 Windows 上,您可能需要安装 Visual C++ Build Tools。您可以从 Visual Studio Build Tools 下载并安装适用于您系统的 Visual C++ Build Tools。

2. 安装 GDAL、Fiona、Rtree 和 Pyproj

打开命令提示符(Command Prompt)或 PowerShell,并执行以下命令来安装 GeoPandas 的一些依赖项:

pip install wheel
pip install GDAL Fiona Rtree Pyproj

步骤三:安装 GeoPandas 和 Jupyter Notebook

  1. 打开命令提示符(Command Prompt)或 PowerShell。

  2. 执行以下命令安装 GeoPandas 和 Jupyter Notebook:

pip install geopandas
pip install jupyterlab

步骤四:启动 Jupyter Notebook

  1. 在命令提示符(Command Prompt)或 PowerShell 中,导航到您想要工作的目录。

  2. 启动 Jupyter Notebook,输入以下命令并按 Enter:

jupyter notebook

这将在默认浏览器中打开 Jupyter Notebook,并允许您创建新的 Python Notebook。在 Notebook 中,您可以导入 GeoPandas 并开始使用它进行地理空间数据分析和操作。例如:

import geopandas as gpd# 如果没有报错,表示成功导入 GeoPandas

这些步骤将在 Windows 系统上帮助您安装 GeoPandas 并在 Jupyter Notebook 中使用它。如果遇到任何问题,请随时在这里咨询。

此处有坑

会出现本机电脑安装了python,而Jupyter Notebook中会自带一个Python,所以需要在Jupyter的Kernel中创建并切换

在这里插入图片描述

首先需要找到需要使用python主环境

C:\Python39\python.exe -m pip install ipykernelC:\Python39\python.exe -m ipykernel install --user --name myenv --display-name "Python 3.9 (myenv)"

3. 使用GeoPandas展示一下shp文件

3.1 简单展示一下

import geopandas as gpd# 替换为您的 Shapefile 文件路径
shapefile_path = r'D:\BaiduNetdiskDownload\北京市行政区划\北京市t.shp'
gdf = gpd.read_file(shapefile_path)# 显示加载的地理数据
gdf.plot()

在这里插入图片描述

3.2 展示稍大数据量的矢量shp数据

import geopandas as gpd
import timedef plotShapefile(shapefile_path):# 记录开始时间start_time = time.time()  gdf = gpd.read_file(shapefile_path)end_time = time.time()  # 记录结束时间# 计算执行时间(以秒为单位)execution_time = end_time - start_timeprint("read_file time: {:.4f} seconds".format(execution_time))start_time=end_timegdf.plot()end_time = time.time()  # 记录结束时间# 计算执行时间(以秒为单位)execution_time = end_time - start_timeprint("gdf.plot time: {:.4f} seconds".format(execution_time))plotShapefile(r'D:\BaiduNetdiskDownload\北京市行政区划\北京市t.shp')
plotShapefile(r'D:\BaiduNetdiskDownload\湖北省数据\矢量数据\第二种路网\湖北省_road.shp')

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/207930.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

c语言实例:计算并输出一个整数数组的平均值

大家好,今天给大家介绍一个c语言实例:计算并输出一个整数数组的平均值,文章末尾附有分享大家一个资料包,差不多150多G。里面学习内容、面经、项目都比较新也比较全!可进群免费领取。 以下是一个使用C语言实现的实例&am…

怎么将用户引流到你的私域中?

微信私域运营是一种利用微信平台建立与用户深度联系的营销方式,可在私域中触达并服务用户。 那么如何将在将用户引流至你的私域中呢? 可以从以下几个小方法入手。 ①打造一个吸引人的个人品牌形象非常重要。在社交媒体上展示真实、独特、专业的一面&a…

喜讯!云起无垠上榜《成长型初创企业推荐10强》

近期,由中国计算机学会抗恶劣环境计算机专业委员会、信息产业信息安全测评中心和安全牛联合发起的第十一版《中国网络安全企业100强》榜单正式发布。在这份备受关注的榜单中,云起无垠凭借其创新的技术能力,荣登《成长型初创企业推荐10强》榜单…

网络知识学习(笔记三)(传输层的TCP)

前面已经介绍了传输层的UDP协议的报文以及一下相关的知识点,本次主要是传输层的TCP协议,包括TCP报文的详细介绍;可靠传输、流量控制、拥塞控制等;建立连接、释放连接。 一、TCP基本知识点介绍 1.1、TCP协议的几个重要的知识点 …

网安领域含金量最高的证书有哪些?看这1篇就足够了!

文章目录 一、前言二、CISP三、CISAW四、NISP五、为什么很多人考不下来 一、前言 现在想找网络安全之类的工作,光有技术是不够的,还得有东西证明自己,网安三大敲门砖:CTF、漏洞证明和专业证书。 对于CTF的话只是少数人能参加的&…

uc_14_IP地址_套接字_字节序转换

1 计算机网络 计算机网络,是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统、网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。 网络协议是一种特…

AtCoder ABC周赛2023 11/4 (Sat) E题题解

目录 原题截图: 原题翻译 题目大意: 主要思路: 代码: 原题截图: 原题翻译 题目大意: 给你一个数组,给你一个公式,让你选k个元素,用公式算出最终得分。 主要思路&am…

X86汇编语言:从实模式到保护模式(代码+注释)--c6

X86汇编语言:从实模式到保护模式(代码注释)–c6 标志寄存器FLAGS: 6th:ZF位(Zero Flag):零标志,执行算数或者逻辑运算之后,会将该位置位。10th:D…

Shell数组函数:数组——数组和循环(三)

数组统计性别 一、定义性别文件 [root192 ~]# vim sex.txt jack m alice f tom m 二、定义脚本统计性别 [root192 ~]# vim sex.sh #!/bin/bash declare -A sex while read line dotypeecho $line | awk {print $2}let sex[$type] done < sex.txtfor i in ${!sex[]} doecho…

Linux基础——进程初识(一)

1. 硬件 ①冯诺依曼体系 我们常见的计算机&#xff0c;如笔记本。我们不常见的计算机&#xff0c;如服务器&#xff0c;大部分都遵守冯诺依曼体系。其详细结构如下图所示 在这里有几点要说明 1. 这里的储存器实际上指的是内存 2. 输入设备与输出设备都属于外设 常见的输入设备…

实现SQL server数据库完整性

1.创建一个数据库名为“erp” 主数据文件&#xff1a;初始容量为5MB&#xff0c;最大容量为50MB&#xff0c;递增量为1MB&#xff0c;其余参数自设。事务日志文件&#xff1a;初始容量为3MB&#xff0c;最大容量为20MB&#xff0c;递增量为10%&#xff0c;其余参数自设。 创建…

SPECPOWER2008

一、前言# 1、软件说明# 官网&#xff1a;SERT套件用户指南2.0.5SPECpower介绍SPEC基准及工具SPECpower_ssj2008测试结果SPECpower_ssj2008-Design_ccs - SPEC# SPEC&#xff08;the Standard Performance Evaluation Corporation&#xff09;是一个由计算机硬件厂商、软件公…

[ 蓝桥杯Web真题 ]-Markdown 文档解析

目录 介绍 准备 目标 规定 思路 补充知识 解法参考 介绍 Markdown 因为其简洁的语法大受欢迎&#xff0c;已经成为大家写博客或文档时必备的技能点&#xff0c;众多博客平台都提倡用户使用 Markdown 语法进行文章书写&#xff0c;然后再发布后&#xff0c;实时的将其转化…

【Element-ui】Icon 图标与Button 按钮

文章目录 前言一、Icon 图标1.1 作用1.2 使用方法1.3 图标集合 二、Button 按钮2.1 基础用法2.2 禁用状态2.3 文字按钮2.4 图标按钮2.5 按钮组2.6 加载中2.7 不同尺寸 总结 前言 在前端开发中&#xff0c;界面的设计和交互是至关重要的一部分。一个直观、易用的界面往往离不开…

js写旋转的时钟动态

目录 1、css代码 2.html代码 3.js代码 1、css代码 .box {position: relative;width: 600px;height: 600px;background: url(./images/clock.jpg) no-repeat center;}.hour,.minute,.second {position: absolute;left: 0;top: 0;width: 100%;height: 100%;}.hour {background…

上个月暴涨34.6%后,SoundHound AI股票现在还能买入吗?

来源&#xff1a;猛兽财经 作者&#xff1a;猛兽财经 揭开SoundHound AI股价波动的原因 S&P Global Market Intelligence的数据显示&#xff0c;在摆脱了10月份的大幅下跌后&#xff0c;SoundHound AI的股价在11月份实现了34.6%的涨幅。 原因是该公司公布了稳健的第三季…

英文论文查重复率网址

大家好&#xff0c;今天来聊聊英文论文查重复率网址&#xff0c;希望能给大家提供一点参考。 以下是针对论文重复率高的情况&#xff0c;提供一些修改建议和技巧&#xff1a; 英文论文查重复率网址 在撰写英文论文时&#xff0c;查重是确保论文原创性和质量的重要环节快码论文…

国产化, 海量数据库 VastbaseG100 兼容适配

背景&#xff1a; 客户是国内某家电龙头企业&#xff0c;应国产化政策要求&#xff0c; 系统需要适配国产数据库&#xff0c; Vastbase G100 遇到问题&#xff1a; 1. 数据库连接&#xff1a; Vastbase 是基于 postgresql 进行封装&#xff0c; 所以理论上是兼容的&#…

Efficient physics-informed neural networks using hash encoding

论文阅读&#xff1a;Efficient physics-informed neural networks using hash encoding Efficient physics-informed neural networks using hash encoding简介方法PINN哈希编码具有哈希编码的 PINN 实验Burgers 方程Helmholtz 方程N-S 方程训练效率对比 总结 Efficient physi…

06 JQuery调用接口

文章目录 一、Qs.js库介绍1. Qs简介2. Qs.parse3. Qs.stringify 二、jQuery调用接口1. 增加&#xff08;Create&#xff09;2. 删除&#xff08;Delete&#xff09;3. 读取&#xff08;Read&#xff09;4. 更新&#xff08;Update&#xff09; 三、示例 一、Qs.js库介绍 1. Qs…