将外业数据文件连成点供FME使用绘制成线

来源:互联网 发布:正在检测目标单片机 编辑:程序博客网 时间:2024/04/29 12:04

成果表为Excel格式,先转为CSV格式,用python读入,转为二维数组,为连接的点写编号,然出写回CSV文件,再转回Excel格式,即可供FME使用。

FME主采用2D点替换,然后为点连接,即可生成线,或为shp 格式,或为Mapinfo格式。

连线用Python轻松完成。参考代码如下:

f=open(r'd:\cy.csv')#先测试列表为400行,此处没有优化,可以从文件读一次行数进行计算lists = [[] for i in range(400)]i=0for line in f:    #split to list    words=line.split(',')    words.pop()    words.append(0)    lists[i]=words    #print(lists[i])    i+=1f.close()print("output line....",i)print(lists[10][4])n=ifor i in range(1,n):    if lists[i][11]==0:        t=lists[i][0]                      for j in range(1,n):            if lists[j][0]==t and lists[j][11]==0:                lists[j][11]=i                t=lists[j][10]                #print(lists[j][11])#输出到文件rows = len(lists)columns = len(lists[1])print('Output to files:rows',rows,'columns',columns)fo=open(r'd:\cyout.csv','w')for i in range(rows):    if len(lists[i]):           #段的标志转为字符串,否则无法进行下一步           lists[i][11]=str(lists[i][11])           #序列再转回字符串           wd=','.join(lists[i])           wd+='\n'           fo.write(wd)           print(wd)fo.close()    


 

原创粉丝点击