在工作中,需要经常跟midmif文件打交道,并且经常都是批量处理,虽然mapinfo工具也可以做到,但是公司没有购买版权,只有寻求它法。
作为一个产品PM,对技术不怎么精通,对python也不熟悉,但是产品语言和技术语言都是相通的,于是工作之余学习研究了一段时间,现在的水平基本可以处理一些基本的业务和产品逻辑需求。把自己的学习小成果总结下,方便入门gdal的同学,更多的是梳理下知识。
读取midmif文件
读取midmif文件步骤:
1、创建驱动;
2、创建datasource;
3、遍历datasource中的layer;
4、获取layer的属性;
5、获取feature的值。
实现代码:
driver = ogr.GetDriverByName("MapInfo File")
#datapath是mif文件所在的目录
ds = driver.Open(datapath)
#遍历datasource中的内容
for layer in ds:
#获取每一个layer的名称
layer_name = in_layer.GetName()
print(layer_name)
#获取layer的属性定义
layer_defn = layer.GetLayerDefn()
#遍历layer下的feature
for field_index in range(0, layer_defn.GetFieldCount()):
#获取每一个layer中的field定义
oField =layer_defn.GetFieldDefn(fie