【Python@SuperMap】shapefile 导入到超图文件数据集(udb)

关注公众号"seeling_GIS",回复『前端视频』,领取前端学习视频资料

开发环境

conda:4.8.2 #通过 anaconda 安装 后自带
python:3.6  
平台:winsows 10

依赖环境配置

  1. 直接下载超图发布的,配置好的环境

    miniconda 链接:https://pan.baidu.com/s/1T9dZjG_J3NXu45Sf6y-NHw 密码:nfei
    java环境 链接:https://pan.baidu.com/s/1lJkvo3yLNMbu3Zdy-YcggQ 提取码:l3ob

  2. 环境配置

    • 解压miniconda
    • 解压java环境包,然后配置 Bin文件夹路径到 path环境变量下
  3. 代码如下

    # -*- coding: utf-8 -*-
     # @Time    : 2020/3/17 23:59
     # @Author  : seelingzheng
     # @公众号  : seeling_gis
     # @File    : importshp.py
     # @Software: PyCharm
     
     
     from  iobjectspy.conversion import  import_shape 
     import os,sys
     from os import path 
    
     shp_dir = r'F:\gisdata\实验数据\丰台gdb\output\样例'
    
     udb_dir = r'F:\gisdata\实验数据\丰台gdb\test.UDB' 
    
     def loop_file(file):
         files = os.listdir(file)
         for f in files:
             new_file =  file + os.sep + f
             print (new_file)
             if path.isdir(new_file):
                 loop_file(new_file)
             elif  path.split(new_file)[1][-3:] == 'shp':
                 print(new_file+'*'*4)
                 shp_udb(new_file)
    
    
     def shp_udb(f): 
         result = import_shape(f,udb_dir)
         print_info(result)
    
     def print_info(result):
         if result is not None:
             for item in result:
                 name = item
                 if not isinstance(item, str):
                     name = item.name
                 sys.stdout.write('导入数据成功,导入到数据集 %s\n'% name)
    
     if __name__ == '__main__':
         loop_file(shp_dir) 
    

环境配置中可能出现的问题

  1. 报 numpy 版本问题,可以卸载原来的重新安装如下版本,这个版本号是超图技术客服给的
    # 卸载 numpy 
    pip uninstall numpy  imgaug
    # 重新安装
    pip install numpy == 1.15.0
    pip install opencv-python==3.1.0.5 
    pip install imgaug==0.2.6
    pip install opencv-python-headless 
    
    
  2. pip 镜像环境配置
    #windows 下
    %HOMEPATH%\pip\pip.ini  #如果没有可以手动创建
    #在pip.ini文件中添加
     [global] 
     index-url = http://mirrors.aliyun.com/pypi/simple/ 
     [install] 
     trusted-host=mirrors.aliyun.com
    
     # 也可以直接在 使用pip的时候在后面加入 镜像参数
     pip install packagename  -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com  
    

更多精彩 扫描二维码或者搜索公众号 ‘seeling_GIS’

【Python@SuperMap】shapefile 导入到超图文件数据集(udb)_第1张图片

你可能感兴趣的:(python,iobjectspy)