python使用pyshp读写shp文件的实现

  • Post category:Python

下面就来详细讲解一下Python使用PyShp读写SHP文件的实现攻略。

1. 安装PyShp库

使用PyShp需要先安装该库,可以通过以下命令进行安装:

pip install pyshp

2. 读取SHP文件

读取SHP文件需要使用PyShp中的shapefile.Reader类。具体的读取方法如下:

import shapefile

# 打开SHP文件
reader = shapefile.Reader('path/to/file.shp')

# 读取记录
for record in reader.records():
    print(record)

# 读取几何信息
for shape in reader.shapes():
    print(shape)

其中records()方法用于读取SHP文件的属性信息,返回一个生成器;shapes()方法用于读取SHP文件的几何信息,返回一个生成器。

3. 写入SHP文件

写入SHP文件需要使用PyShp中的shapefile.Writer类。具体的写入方法如下:

import shapefile

# 创建Writer对象
writer = shapefile.Writer('path/to/new_file.shp', shapeType=shapefile.POINT)

# 添加属性字段
writer.field('field1', 'C')
writer.field('field2', 'N')

# 添加记录
writer.record('value1', 1.0)

# 添加几何信息
writer.point(1.0, 2.0)

# 保存
writer.save()

其中Writer()方法用于创建一个写入SHP文件的对象,需要指定新文件的路径以及几何类型;field()方法用于添加属性字段,需要指定字段名以及数据类型;record()方法用于添加SHP文件中的属性记录;point()方法用于添加点几何信息,需要指定横纵坐标。最后使用save()方法保存到指定的路径。

示例说明

下面给出两个示例来说明如何使用PyShp读写SHP文件。

示例1:读取SHP文件的属性信息和几何信息

import shapefile

# 打开SHP文件
reader = shapefile.Reader('path/to/file.shp')

# 读取记录和几何信息
for record, shape in zip(reader.records(), reader.shapes()):
    print('属性信息:', record)
    print('几何信息:', shape.points)

示例2:创建新的SHP文件并写入属性信息和几何信息

import shapefile

# 创建Writer对象
writer = shapefile.Writer('path/to/new_file.shp', shapeType=shapefile.POINT)

# 添加属性字段
writer.field('field1', 'C')
writer.field('field2', 'N')

# 添加记录
writer.record('value1', 1.0)

# 添加几何信息
writer.point(1.0, 2.0)

# 保存
writer.save()

# 打开新创建的SHP文件并读取
reader = shapefile.Reader('path/to/new_file.shp')
for record, shape in zip(reader.records(), reader.shapes()):
    print('属性信息:', record)
    print('几何信息:', shape.points)

以上就是使用PyShp库读写SHP文件的完整攻略的详细解释,希望能够对您有所帮助。