加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

python实现CAD批量转shp

(2015-12-08 12:20:38)
过程是先利用quickimport将cad批量导入gdb里,然后gdb转为shp;(arcgis需安装Data Interoperability)
# Import system modules
import arcpy
import os
from arcpy import env
from arcpy import interop

# Set local variables
input_cad_folder = "C:\Users\LL\Desktop\CAD"
output_gdb_folder = "C:\data"
output_folder="C:\output"

for found_file in os.listdir(input_cad_folder):
    # Searches for .dwg files
    if found_file.endswith(".dwg"):

        print "Converting: "+found_file
        input_cad_dataset = os.path.join(input_cad_folder, found_file)
        print "Converting: "+input_cad_dataset
        output_gdb = found_file.split(".")[0] +".gdb"
        output_gdb_path = os.path.join(output_gdb_folder, output_gdb)
        print "Converting: "+output_gdb_path
        try:
            interop.QuickImport(input_cad_dataset, output_gdb_path)
            env.workspace = output_gdb_path
            fcs = arcpy.ListFeatureClasses("*")
            output_shp_path=output_folder+output_gdb.split(".")[0]
            print "Create: "+output_shp_path
            os.makedirs(output_shp_path)
            for fc in fcs: 
                outfc = arcpy.ValidateTableName(fc)
                print "Create: "+outfc
                arcpy.FeatureClassToShapefile_conversion([outfc], output_shp_path) 
        except:
            print arcpy.GetMessage()

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有