CAD到特征类

时间:2014-05-09 18:02:43

标签: python-2.7 esri cad

import arcpy
fc = r'H:\H-ONUS UTILITY DATA GIS\As_Builts\2014\RandolphPoint_Phase2\789-AS-BUILT 8-7-13.dwg\Polyline'
out_gdb = r'H:\H-ONUS UTILITY DATA GIS\As_Builts\2014\RandolphPoint_Phase2\RandolphPoint.gdb.gdb'
field = 'Layer'
values = [row[0] for row in arcpy.da.SearchCursor(fc, (field))]
uniqueValues = set(Values)

for value in uniqueValues:
    sql = """Layer" = '{0}'""".format(Value)
    name = arcpy.ValidateTableName(value,out_gdb)
    arcpy.FeatureClassToFeatureClass_conversion(fc, out_gdb, name, sql)

我正在尝试使用文件地理数据库作为工作区将CAD(dwg)转换为ArcGIS 10.2.2要素类。我刚刚在ESRI会议上教过这个代码,当然它对于这个机构来说非常有效 我得到的错误是“NameError:name'Values'未定义”但我确实将其定义为值= [row [0] for arcpy.da.SearchCursor(fc,(field))]我一直在工作几个小时,这将大大有助于我的工作。

2 个答案:

答案 0 :(得分:0)

Python变量区分大小写。

您已使用小写字母v声明values,但您在下一行使用大写字母V引用它。

(与value / Value相同。

答案 1 :(得分:0)

import arcpy
fc = r'H:\H-ONUS UTILITY DATA GIS\As_Builts\2014\RandolphPoint_Phase2\789ASBUILT.dwg\Polyline'
out_gdb = r'H:\H-ONUS UTILITY DATA GIS\As_Builts\2014\RandolphPoint_Phase2\RandolphPoint.gdb'
field = 'Layer'
value = [row[0] for row in arcpy.da.SearchCursor(fc, (field))]
uniquevalues = set(value)

for value in uniquevalues:
    sql = """"Layer" = '{0}'""".format(value)
    name = arcpy.ValidateTableName(value,out_gdb)
    arcpy.FeatureClassToFeatureClass_conversion(fc, out_gdb, name, sql)

这是解决方案,我在地理数据库路径中有一个额外的.gdb

我的单词值是值,所以不得不关闭s

并且在我的sql语句中我错过了“在Layer层之前”

如果有人正在阅读此内容,只需更改个别参数即可正常使用!

感谢Juffy的回应并试图帮助我

Cartogal