根据excel表格坐标信息批量生成奥维地图标签

根据excel表格坐标信息批量生成奥维地图标签####

'''

效果如下:

'''

  • 功能用途介绍:

    • 如何根据xy坐标在奥维图上标记点位,作为野外调查定位辅助方法,还可以作为质量检查
    • 优点:可以在奥维地图上标记指定的编号信息;可以修改标签的大小、颜色。
    • 用途:可以根据野外调查的实际点位,与设计点位进行比较,进行质量检查。
  • 模块使用方法:

    • 运行环境:采用python编程语言,在PyCharm开发平台运行。

    • 前期准备:

      • Windows系统安装xlrd库:cmd.exe-->pip3 install xlrd

      • excel表格原始数据格式:

        name xyh color scale
        BSLCTK-γ-01_01 113.823035001277,25.1556843733412,0 ff00ff80 1.2

    • 模块运行:

      • 点击“运行”
      • 输入:输入Excel表格数据存储路径
      • 结果保存到模块目录下,文件名为:“ 坐标转奥维结果.kml”
      • 将“ 坐标转奥维结果.kml”导入到奥维地图软件,即完成点位标记
        '''

'''

import xlrd

行 Row 列 Column 这是Excel里面的规范表述!

def placemark(name, color, scale, xyh):
msg3 = '''
%s%s ''' % (name, color, scale, xyh)
return msg3
# print(msg3)
# with open("坐标转奥维结果.kmz", "w+", encoding="utf-8") as f:
# f.write(msg3)

if name == 'main': #主函数入库类似c的main函数
# read_xlrd(excelFile=excelFile) #执行函数
with open("坐标转奥维结果.kml","w+",encoding="utf-8") as f:
msg1 = '''OvitalMap_20200629_213234仁化项目奥维点'''
f.write(msg1.strip('\n'))

    # excelFile = 'RHZB.xls'  # excle文件路径名称
    excelFile = str(input("请输入Excel表格数据存储路径,例如:E:/2020仁化矿山调查项目2020年/RHZB.xls,输入完路径按回车键,路径为:"))

    data = xlrd.open_workbook(excelFile)
    # 默认读取第1张sheet表
    table = data.sheet_by_index(0)  #或者table = data.sheet_by_name('工作表1')

    rowNum=0
    colNum=0
    Name=""
    Xyh=""
    Color =""
    Scale =""

    for rowNum in range(table.nrows):  # 每行地址循环

        # for colNum in range(table.ncols):
        for colNum in range(table.ncols):
            nameValue = table.row_values(rowNum)[colNum]
            if rowNum > 0 and colNum==0:
                Name= nameValue      #标签名字

            elif rowNum > 0 and colNum==1:
                Xyh = nameValue        #标签坐标
            elif rowNum > 0 and colNum==2:
                Color = nameValue     #标签颜色
            elif rowNum > 0 and colNum == 3:
                Scale = nameValue     #标签大小
            else:
                pass        

        f.write(placemark(Name, Color,Scale, Xyh).strip('\n'))

    msg2 = '''</Folder></Document></kml>'''
    f.write(msg2.strip('\n'))

with open("坐标转奥维结果.kml","r",encoding="utf-8") as f1:
print(f1.read())
print("程序运行成功!结果保存到:坐标转奥维结果.kml")
############################end############################

posted @ 2020-07-01 09:55  bison2020  阅读(2446)  评论(2编辑  收藏  举报