首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Shapefile属性操作之增

作者:阿振 写作时间:2020-06-13 又是一个周末 ---- 开篇 《Python空间数据处理实战》系列的博文好久都没有更新了,今天乘周末有点时间,补了个觉,然后写几篇博文。...关于Python空间数据处理,如果大家有什么想看到的内容,欢迎评论区留言,我会增加一些大家需要的内容! 今天我打算用四篇博客简要介绍一下如何对空间矢量数据的属性数据进行操作。...Show me the code. from osgeo import ogr ogr.UseExceptions() # 首先定义每个省全称到简称的映射字典 names = { '北京':...defn.GetName()} -> {defn.GetType()} -> {defn.GetWidth()}') # 添加一个省简称的字段 field: ogr.FieldDefn = ogr.FieldDefn...注意我们这里新建的字段的类型是字符串类型ogr.OFTString,当然我们还可以新建其他类型的字段,例如整形ogr.OFTInteger,实数形ogr.OFTReal,日期型ogr.OFTDate等。

67320

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

引言 在python与地理空间分析(1)与(2)中我们介绍了GIS中常用的数据类型、python在处理地理空间数据时用到的包以及给定经纬度计算空间距离的算法,本期我们主要介绍对地理空间分析中常用到的矢量数据...的字典和列表等数据类型一模一样,可以通过python自带的json库直接解析。...python中提供了多种处理Shapefile文件的第三方包,例如PyShp,Shapely,Fiona,GeoPandas以及basemap和cartopy包对shp文件的可视化,但大多都是基于OGR...kml文件 Conclusion 本期主要介绍了python GDAL/OGR对shp文件的读写和格式转换,下一部分将对shp文件的空间分析算法和常用操作进行介绍,例如判断两个shp的交并差补以及点插值为面等算法内容...Python命名空间和作用域介绍 中国地图的正确打开方式

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

    Python | GDAL处理矢量数据

    丰富的科学计算库分析数据,得出科学结论 有时候也需要自己生产数据,生成shapefile供其他GIS系统读写 生产数据可以在有GUI的GIS系统中手工操作,也可以通过编程语言批量操作 用python的优点...、删除或更新之后进行获取 如果先获取图层信息,后插入,基于过时信息插入的要素,会与事实不符,导致python崩溃 # 将一个shp文件中的要素写入另一个文件 import sys from osgeo...在GDAL/OGR中,不恰当的使用几何对象会导致python崩溃!...处理几何对象 使用python语言,批量输出几何对象,可代替在GIS软件中的要素创建和编辑操作,极大提高数据处理效率 下面介绍如何: 从零开始创建点、线、面几何对象 编辑已经存在的几何要素 GDAL支持的几何要素...python处理矢量数据就到这里啦!

    10K20

    Shapefile属性操作之查

    首先,我们来看看使用SQL进行查询的代码。 from osgeo import ogr ogr.UseExceptions() ds: ogr.DataSource = ogr.Open('.....')) # 选择出中学数量最多的省份 # 我尝试使用MAX函数和嵌套的SELECT语句进行实现,但是执行报错,应该是OGR不支持嵌套的SQL查询 query: str = f'SELECT NAME,...然后使用ExecuteSQL()方法执行查询,得到的查询结果仍然是一个ogr.Layer图层类,但是图层中的要素属性只包含我们查询语句中指定的字段 对于第二个案例,我们本来可以使用一个嵌套的SELECT...from osgeo import ogr ogr.UseExceptions() ds: ogr.DataSource = ogr.Open('.....Feature要素集合以后,使用Python内置的函数对该集合进行过滤,排序等操作得到我们想要的查询结果。

    98920

    python与地理空间分析(一)

    可供选择的矢量格式数目很饿的,开源矢量库OGR支持超过86种矢量格式,FME支持超过188种矢量格式。...文件格式,例如OGR库,python中解析Shapefile文件的模块大都是基于OGR库的。...常用的python地理空间分析工具 python是一门非常强大的编程语言,对于地理空间分析方面的应用有多种包提供支持,常见的python python的标记、标签解析器 python的minidom模块是一个历史悠久...) geojs=geojson.dump(p) OGR库 OGR库是python处理矢量数据的通用库,也是许多处理矢量数据包的依赖项。...;计算5个单位的缓冲区分析,并计算缓冲区的面积 Fiona Fiona模块为OGR哭的数据访问功能提供了一套简洁的python api,大大提高了OGR库在python中的易用性。

    8.1K52

    矢量数据投影转换

    方法介绍 跟栅格数据投影转换一样,使用GDAL库,我们有两种方法进行矢量数据的重投影: 使用命令工具及其对应的命令行API接口进行转换(简单,准确,实践中一定要用这种方法) GDAL提供了ogr2ogr...命令行工具进行矢量数据投影转换,命令如下:ogr2ogr -t_srs "+proj=aea +lat_1=25 +lat_2=47 +lat_0=30 +lon_0=105 +x_0=0 +y_0=0...OK GDAL对该命令的封装的C/C++函数是GDALVectorTranslate(),Python中是gdal.VectorTranslate() 使用GDAL提供的基本API进行实现 如果要自己利用基本...API函数实现的话,基本思路如下: 利用osgeo.ogr.Driver.CreateDataSource()创建输出数据 根据源文件创建目标文件的属性字段定义 利用osgeo.osr.CoordinateTransformation...对象将源文件中的Geometry对象转为目标文件中的Geometry对象(其实质是进行不同投影系统下空间几何体的坐标转换) 遍历源文件,依次将所有几何体的Geometry及其属性写入目标文件 代码实现

    1.8K30

    GIS项目中的开源架构分析

    4 GDAL/OGR功能特点· 多格式支持:GDAL/OGR支持多种栅格和矢量地理空间数据格式,包括ESRI Shapefiles、S-57、SDTS、PostGIS、Oracle Spatial等。...· 多语言支持:GDAL/OGR提供了多种编程语言的绑定,如C、C++、Perl、Python、Java、C#等。· 高性能:GDAL/OGR使用面向对象的C++语言编写,具有很高的执行效率。...应用场景· 遥感数据处理:GDAL/OGR适用于遥感数据的处理和分析,支持多种卫星数据和地理信息系统数据格式。...· 地理空间数据转换:GDAL/OGR提供了强大的数据转换功能,适用于需要跨平台数据处理的场景。...QGIS、GeoServer、PostgreSQL with PostGIS、GDAL/OGR、MapServer和CesiumJS等开源项目在各自的应用领域中表现出色,广泛应用于政府、企业、科研等多个领域

    17910

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

    材料: PG数据库(postgreSQL),python,postgis(重点) 过程: Tip~首先,我想先说一下在python中运行出现的报错问题(如果你们遇到这个问题可以看一眼,如果你没遇到这个问题...不管怎么样,你需要安装好Python和PostresSQL数据库~这里不加展开了,然后你需要安装~~~~~~PostGIS~~~~~~由PostGIS官网下载: http://www.postgis.org...准备就绪后进入pg数据库的sql界面,输入: CREATE EXTENSION postgis; (这步可以忽略,如果python运行出错,回头运行也可以) 确认PosrGIS(如下图) 首先,你需要有一个...('ogr2ogr '+'-overwrite '+'-f '+'"'+"PostgreSQL"+'"'+' PG:'+'"'+"host=localhost user=user dbname=dbname...password=password"+'"'+' '+'"'+"D:/Thesis/fjsouthwest/grid/mxn/mxn.shp"+'"') 往期 Python-gdal离线文档下载

    2.5K41

    GDAL简介

    GDAL库由OGR和GDAL项目合并而来,OGR主要用于空间要素矢量矢量数据的解析,GDAL主要用于空间栅格数据的读写。此外,空间参考及其投影转换使用开源库 PROJ.4进行。...GDAL提供了C/C++借口,并且通过SWIG提供了Python,Java,C#等的调用借口。当我们在Python中调用GDAL的API函数时,其实底层执行的是C/C++编译的二进制文件。...对一个上北下南的图像,GT(2)和GT(4)等于0, GT(1)是像元的宽度, GT(5)是像元的高度。(GT(0),GT(3))坐标对表示左上角像元的左上角坐标。...OGR矢量数据模型中比较重要的几个概念: Geometry(OGRGeometry类表示了一个空间几何体,包含几何体定义,空间参考,以及作用在几何体之上的空间操作,几何体和OGC WKB,WKT格式直接的导入导出...总结一下:一个数据集(Dataset)可以包含多个图层(Layer),一个图层中可以包含多个空间要素(Feature),一个Feature由一个空间几何体(Geometry)及其属性构成 参考资料:OGR

    2.4K40
    领券