首页
学习
活动
专区
圈层
工具
发布

python与地理空间分析(3)shp文件操作

GDAL库由OGR和GDAL项目合并而来,GDAL主要用于空间栅格数据的读写,OGR主要用于空间要素矢量矢量数据的解析。此外,空间参考及其投影转换使用开源库 PROJ.4进行。...GDAL的安装: window: step1: 在http://www.gisinternals.com/release.php根据编译器和操作系统位数,选择相应的gdal下载链接,下载GDAL Core...和GDAL Bindings两个文件, step2:系统变量-->Path变量,添加GDAL安装路径 linux(ubuntu): step1:sudo add-apt-repository ppa:ubuntugis...kml文件 Conclusion 本期主要介绍了python GDAL/OGR对shp文件的读写和格式转换,下一部分将对shp文件的空间分析算法和常用操作进行介绍,例如判断两个shp的交并差补以及点插值为面等算法内容...历史文章: 正则表达式 捍卫祖国领土从每一张地图开始 最易写出bug?Python命名空间和作用域介绍 中国地图的正确打开方式

16.2K81

【Python3-Gdal】手把手教你给Anaconda的Python安装Gdal

GDAL库由OGR和GDAL项目合并而来,OGR主要用于空间要素矢量矢量数据的解析,GDAL主要用于空间栅格数据的读写。...该库在C/C++/python/ruby/VB/java/C#(这个暂时不完全支持)下都能用。 电脑环境准备 Anaconda版本: ? Python版本: ?...检测一下,是否安装成功: ? 从上面的运行结果来看我们已经成功在Python3中安装GDAL库。...选择你想下载的Gdal版本 可能你会问怎么找对应的版本? cp37表明对应python3.7版本,win32表明对应32位,win_amd64表明对应64位。...由于我的电脑是64位,python版本是python3.6 所以我选择下载这个文件 ? 下载大小为32.6M: ? 5.打开Anaconda Prompt切换到whl文件所在的相应文件目录。

13.4K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    GDAL简介

    GDAL库由OGR和GDAL项目合并而来,OGR主要用于空间要素矢量矢量数据的解析,GDAL主要用于空间栅格数据的读写。此外,空间参考及其投影转换使用开源库 PROJ.4进行。...GDAL提供了C/C++借口,并且通过SWIG提供了Python,Java,C#等的调用借口。当我们在Python中调用GDAL的API函数时,其实底层执行的是C/C++编译的二进制文件。...GDAL 1.x版本以前,对于栅格和矢量数据的读写API借口设计是相对分离的,从2.x版本开始,栅格和矢量数据的API进行了集成,对开发者更加友好。我们这里的示例都是以2.x版本为例。...参考资料:GDAL Data Model 矢量数据组织 GDAL的矢量数据模型是建立在OGC Simple Features规范的基础之上的,OGC Simple Features规范规定了常用的点线面几何体类型...OGR矢量数据模型中比较重要的几个概念: Geometry(OGRGeometry类表示了一个空间几何体,包含几何体定义,空间参考,以及作用在几何体之上的空间操作,几何体和OGC WKB,WKT格式直接的导入导出

    2.7K40

    linux如何查看已安装的php版本信息

    这篇文章主要讲解了“linux如何查看已安装的php版本信息”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“linux如何查看已安装的php版本信息”吧!...使用 php -v 命令 在 Linux 终端或控制台中,可以使用以下命令查看当前系统安装的 PHP 版本: php -v 使用该命令将会在屏幕上输出类似于以下的结果: PHP 7.3.9-1~deb10u1...此外,还可以看到 PHP 的版权声明,以及所使用的引擎和缓存组件的版本信息。 查看 PHP 配置文件 除了使用命令行命令以外,还可以直接查看 PHP 的配置文件。...PHP 版本的文件夹。...感谢各位的阅读,以上就是“linux如何查看已安装的php版本信息”的内容了,经过本文的学习后,相信大家对linux如何查看已安装的php版本信息这一问题有了更深刻的体会,具体使用情况还需要大家实践验证

    5.8K10

    Shapefile属性操作之增

    作者:阿振 写作时间:2020-06-13 又是一个周末 ---- 开篇 《Python空间数据处理实战》系列的博文好久都没有更新了,今天乘周末有点时间,补了个觉,然后写几篇博文。...关于Python空间数据处理,如果大家有什么想看到的内容,欢迎评论区留言,我会增加一些大家需要的内容! 今天我打算用四篇博客简要介绍一下如何对空间矢量数据的属性数据进行操作。...而对于关系数据库的操作,常用的就是增删改查(CRUD,即Create,Retrieve,Update,Delete)操作。 这篇博文单讲Create增加操作,使用的工具还是我们的GDAL库。..., '宁夏': '宁', '新疆': '新', '西藏': '藏', '中国香港': '港', '中国澳门': '澳' } # 打开一个Shapefile文件获取属性定义...: 首先,我们使用ogr.Open()函数打开Shapefile数据,注意我们要设置update参数为True,即允许GDAL更新我们的原始数据。

    77420

    利用python把shp文件写入PostgresSQL数据库

    不管怎么样,你需要安装好Python和PostresSQL数据库~这里不加展开了,然后你需要安装~~~~~~PostGIS~~~~~~由PostGIS官网下载: http://www.postgis.org.../ 选择对应的的pg数据库版本(我的pg数据库是pg11): https://winnie.postgis.net/download/windows/pg11/buildbot/ windows一般选择...exe版下载(我的操作系统是windows): 安装PostGIS软件的时候需要选择pg数据库的安装根目录进行对应安装(我的pg数据库路径是:C:\Program Files\postgresql)。...geometry'代表具体字段,相当于'geometry'字段为地理信息 终于,顺利写入(鬼知道我在报错的过程中经历了什么): 更多的,利用GDAL写入shp也可以正常运行了: import os os.system...password=password"+'"'+' '+'"'+"D:/Thesis/fjsouthwest/grid/mxn/mxn.shp"+'"') 往期 Python-gdal离线文档下载

    2.8K41

    如何在Ubuntu 14.04上安装和配置PostGIS

    虽然此存储库中的PostGIS软件包可能并不总是最新版本,但它维护得很好,并且无需从源代码编译PostGIS。...第3步 - 为GIS数据库对象优化PostgreSQL PostgreSQL旨在运行从集成系统到大型企业数据库的任何东西,但是开箱即用它的配置非常保守。...cultural/ne_110m_admin_0_countries.zip 您刚下载的文件已压缩,因此您需要可以通过软件包管理器安装的命令unzip。...我们可以将它加载到我们的test1数据库中。 为此,我们将安装地理空间数据抽象库GDAL。当我们安装GDAL时,我们还将获得OGR(OpenGIS简单功能参考实现)和命令ogr2ogr。...使用包管理器安装GDAL: sudo apt-get install gdal-bin 现在再次切换到用户postgres: sudo -i -u postgres 现在将使用ogr2ogr把Natural

    2K00

    python与地理空间分析(一)

    文件格式,例如OGR库,python中解析Shapefile文件的模块大都是基于OGR库的。...栅格数据另外一种常见的应用是科学计算,例如HDF数据以及气象中常用的NetCDF,GRIB数据等,这些格式更像是文件系统中的字典,并且包含多个数据集或者相同数据集的多个版本。...•点云数据:点云数据根据物体表面的反射能量获取相应的三位坐标信息。一般通过激光器,雷达波,声学探测仪以及其他波形设备获取。...) geojs=geojson.dump(p) OGR库 OGR库是python处理矢量数据的通用库,也是许多处理矢量数据包的依赖项。...;计算5个单位的缓冲区分析,并计算缓冲区的面积 Fiona Fiona模块为OGR哭的数据访问功能提供了一套简洁的python api,大大提高了OGR库在python中的易用性。

    8.8K52

    GDAL的java环境配置以及将shp转换为json

    同时,我想他请教了如何实现的转换,他告诉我说是GDAL实现的,并给了我关键代码,因为代码是C#的,所以,经过周末的折腾,在JAVA上实现了,在此分享给大家。...实现: 想要在java上用GDAL比较费劲,中间的尝试过程在此略过,直接说结果。...首先是jdk,下载的GDAL的位数一定要与JDK的位数相符,我的JDK的位数是32位的,所以下载了32位的GDAL,为方便大家使用,并将此上传到了百度网盘,下载地址为:链接:http://pan.baidu.com...将GDAL下载完成后,将所有的dll文件复制到jdk的安装路径“C:\Program Files (x86)\Java\jdk1.7.0_17\jre\bin”下即可。...实现的关键代码如下: package com.lzugis.gdal; import org.gdal.ogr.*; import org.gdal.ogr.Driver; import org.gdal.gdal

    2.8K30

    Python | GDAL处理矢量数据

    from osgeo import ogr GDAL/OGR两者捆绑安装,是最流行的地理数据开源库,直接pip install gdal 或者conda install gdal就可以啦!...、删除或更新之后进行获取 如果先获取图层信息,后插入,基于过时信息插入的要素,会与事实不符,导致python崩溃 # 将一个shp文件中的要素写入另一个文件 import sys from osgeo...在GDAL/OGR中,不恰当的使用几何对象会导致python崩溃!...处理几何对象 使用python语言,批量输出几何对象,可代替在GIS软件中的要素创建和编辑操作,极大提高数据处理效率 下面介绍如何: 从零开始创建点、线、面几何对象 编辑已经存在的几何要素 GDAL支持的几何要素...# 获取多线对象内部的线对象,然后逐一编辑 # 例如,获取多线内部的0号对象(0号线),然后更改索引为1的点的坐标(从0开始数) paths2 = paths.Clone() paths2.GetGeometryRef

    10.5K20

    如何在Ubuntu 14.04上安装和配置PostGIS

    具有sudo权限的非root用户。 一个PostgreSQL数据库。按照我们的如何在Ubuntu 16.04上安装PostgreSQL的教程进行安装。...虽然此存储库中的PostGIS软件包可能并不总是最新版本,但它维护得很好,并且无需从源代码编译PostGIS。...cultural/ne_110m_admin_0_countries.zip 您刚下载的文件已压缩,因此您需要通过软件包管理器安装的unzip命令。...我们可以将它加载到我们的test1数据库中 为此,我们将安装地理空间数据抽象库GDAL。当我们安装GDAL时,我们还将获得OGR(OpenGIS简单功能参考实现)和命令ogr2ogr。...使用包管理器安装GDAL: sudo apt-get install gdal-bin 现在再次切换到postgres用户: sudo -i -u postgres 现在将使用Natural Earth

    2.9K00

    Shapefile属性操作之查

    下面以两个案例进行介绍: 从给定数据中查询中学数量(HighSchool字段)大于1万所的省份 从给定数据中查询中学数量最多的省份 下面简单说一下使用GDAL进行属性数据查询的两种思路: 因为矢量数据的属性一般都是以关系表进行保存的...GDAL支持部分SQL查询功能。 我们可以遍历图层Layer中包含的所有Feature要素,然后读取要素的属性数据进行筛选过滤得到我们想要的结果。...()函数读取数据,使用GetLayer()方法获取图层 然后构造SQL查询语句,图层名称对应的是SQL语句中的表名。...True) print(selected[0].GetField('NAME')) print(selected[0].GetField('HighSchool')) 方法总结 使用遍历Feature要素的方法进行查询是我们在获取了图层包含的所有...Feature要素集合以后,使用Python内置的函数对该集合进行过滤,排序等操作得到我们想要的查询结果。

    1.1K20

    2.1 为gdal添加FileGDB插件

    Python中处理分析GIS数据。...实际上geopandas是具有写出矢量数据到gdb文件的能力的,只是需要额外配置一些软件库,今天的文章中,我就来带大家学习如何简单快捷地给geopandas补充gdb文件写出功能。...2 为geopandas补充gdb文件写出功能 2.1 为gdal添加FileGDB插件   在geopandas0.11版本之后,针对矢量文件的读写有默认的'fiona'和可选的'pyogrio'两种引擎...上有关gdal使用FileGDB插件的额外说明,我选择下载FileGDB的版本为https://github.com/Esri/file-geodatabase-api/blob/master/FileGDB_API...这个目录找起来很简单,因为所有用conda建立的虚拟环境,默认都位于你的conda安装根目录的envs目录下,我的conda安装根目录在C:\Conda,因此我需要粘贴前面文件的目标目录为C:\Conda

    3.1K10

    基于8211lib库对s57电子海图的解析和存储

    OGR是对GDAL的扩展,功能与GDAL类似,主要提供对矢量数据格式的读写,支持S-57电子海图格式,其中S57reader类是对ISO 8211lib库的封装,该类中包含读取S-57电子海图数据文件所用到的基本函数...OGR中关于S-57读取的官方文档在http://www.gdal.org/drv_s57.html可以看到,其中需要注意OGR的S-57驱动模块将处理S-57文件里所有的feature要素,其中S-57...在OGR中,从S-57文件读取的所有要素根据物标类型(OBJL)归属于相应的图层,可以类比于GIS里的shape格式,对应的图层下有要素(feature),要素下面有字段(field)和几何对象(geometry...),要素的几何形状可以从几何形状中获取,要素属性可以从字段中获取。   ...S57 Control Options和读取和导出的深层次知识请移http://www.gdal.org/drv_s57.html。

    4.3K40

    GIS空间分析之Buffer

    从这篇博文开始,我们会简单介绍几种GIS系统中最常见最简单的空间分析功能,并使用Python的GDAL API进行实现。...首先,我们来看一下开源GIS软件QGIS中提供的几种简单的空间分析工具,我们接下来的几篇博文会介绍如何使用Python脚本实现这些功能。 ?...中国地图边界的晕线就是我们经常看到的国界外面的突出色浅色部分。 那么我们如何制作晕线呢?一个解决方案是我们给国界做一个缓冲区,然后将缓冲区图层放置在边界图层的上面就可以形成这样的效果。...代码展示 下面的代码展示了如何制作面状地物的缓冲区。...这里我们的空间投影直接从原始的Shapefile中进行读取,输入的空间几何体类型设置为ogr.wkbPolygon。

    3.8K40

    GDAL 2.X升级3.X需要注意的问题总结

    1 引言 最近终于将使用的GDAL 2.X升级到成了3.X版本,总结一下遇到的各种问题。...+ string("/proj"); CPLSetConfigOption("PROJ_DATA", projDir.c_str()); 这些数据一般在构建的时候会安装到指定的目录的share文件夹内...如果你安装过QGIS或者PostGIS等环境就知道,这些程序也会在操作系统中设置GDAL_DATA、PROJ_DATA环境变量,那么就只能像笔者这样在程序中配置。...在PROJ 9.1版本以前,PROJ数据的环境变量名为PROJ_LIB;在后续版本中优先使用PROJ_DATA,PROJ_LIB还会使用一段时间,但是最好替换成PROJ_DATA,避免后续的版本废弃。...想这样一个一个坐标参考修改很麻烦,另一个更加合适的办法是设置全局的坐标轴策略为传统顺序[2]: // 设置全局坐标顺序为传统GIS顺序(经度,纬度) CPLSetConfigOption("OGR_CT_FORCE_TRADITIONAL_GIS_ORDER

    18400

    Shapefile属性操作之删

    作者:阿振 写作时间:2020-06-13 又是一个周末 ---- 开篇 延续上篇的《Shapfile属性操作之增》,这篇我们来聊聊如何进行属性删除。使用的工具依旧是我们的GDAL库。...Show me the code. from osgeo import ogr ogr.UseExceptions() # 从给定图层中读取字段的定义,根据给定字段名称找到该字段的索引编号 def...= ogr.Open('.....(layer, 'Abbr_1') layer.DeleteField(index) ds = None 方法总结 GDAL的图层ogr.Layer类提供了DeleteField()方法用于删除字段,但是该方法传入的参数必须是要删除字段的索引编号...我们一般的业务需求是根据字段名称去进行删除操作,所以我自定义了一个get_field_index_by_name()函数用于从给定图层中查找给定字段名称对应的索引编号。

    89310
    领券