【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’

seeling_GIS

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章