矢量数据的读写与更新
1. 数据转换问题
在处理数据时,将数字转换为字符串通常不会有问题,但将字符串转换为数字就可能会出现状况。例如,字符串 “3578” 可以顺利转换为数字 3578,但像 “Russia” 这样的字符串就无法转换。在 Python 交互窗口中输入 int('Russia') 会报错,不过 OGR 不会崩溃,而是会在 “Population” 字段中插入一个零。这种行为有时是有好处的,因为在向要素插入数据之前无需进行转换,但如果不小心将错误类型的数据插入字段,也会引发问题。
2. 创建新的数据源
有时候需要创建新的数据源,关键在于使用正确的驱动,因为每个驱动只能处理一种矢量数据格式。例如,GeoJSON 驱动无法创建 Shapefile,即便要求创建带有 .shp 扩展名的文件,实际上创建的仍是 GeoJSON 文件。
获取所需驱动有两种方法:
- 从已打开的数据集获取 :可以使用已打开数据集的驱动来创建新的数据源,使其与现有数据源使用相同的矢量数据格式。示例代码如下:
import ogr
ds = ogr.Open(r'D:\osgeopy-data\global\ne_50m_admin_0_countries.shp')
driver = ds.GetDriver()
- 使用
GetDriverByName函数 :通过该函数
超级会员免费看
订阅专栏 解锁全文
5277

被折叠的 条评论
为什么被折叠?



