代码思路:
1、导入相关库包,切换到当前文件夹
2、注册驱动,打开点矢量文件,获取图层
3、打开待写入TXT文件
4、遍历要素:
(1)获取当前要素‘ID’和‘cover’字段属性
(2)获取当前点要素对应几何对象和其坐标值X,Y
(3)将ID、cover、X、Y写入TXT文件
(4)清除当前feature缓存并获取下一要素
5、清除DataSource并关闭TXT文件
关键点:遍历要素,对每一个要素进行读取同时写入TXT
代码:
#!/usr/bin/env python3
#-*- coding:utf-8 -*-
try:
from osgeo import ogr
except ImportError:
import ogr
import os,sys
#切换路径
os.chdir(r'F:\Python+gdal\7weeks数据\7weeks数据\ospy_data1\ospy_data1')
#注册驱动,打开文件和图层
driver = ogr.GetDriverByName("ESRI Shapefile")
ds = ogr.Open('sites.shp',0)#以只读方式打开矢量文件
if ds ==None:
print("打开文件失败!")
sys.exit(1)
layer = ds.GetLayer()
#为避免不能提前知道shp属性字段,这里读取属性表所有字段
featuredefn = layer.GetLayerDefn()#获取图层属性表定义
fieldcount = featuredefn.GetFieldCount()#获取属性表中字段数
for attr in range(fieldcount):
fielddefn = featuredefn.GetFieldDefn(attr)
print("%s: %s"%(\
fielddefn.GetNameRef(),\
fie