zoukankan      html  css  js  c++  java
  • 根据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(' '))

        # 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('
    '))
    
        msg2 = '''</Folder></Document></kml>'''
        f.write(msg2.strip('
    '))
    

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

    因为不懂,所以要学; 因为平凡,所以努力。 因为有为,所以有位。 因为执着,所以精彩。
  • 相关阅读:
    iphone 低版本渲染不出来内容的一种解决办法
    win10 安装flutter记录
    ElasticSearch操作实例大全---文档结构操作(2)
    .net 实现word、excel、ppt、pdf预览功能
    layer插件弹出显示圆角
    ElasticSearch操作实例大全---文档结构操作(1)
    uploadify实战操作(一)
    mcDropdown使用方法
    用datatable 读写xml 及追加数据到xml
    百度分享
  • 原文地址:https://www.cnblogs.com/quezesheng/p/13217626.html
Copyright © 2011-2022 走看看