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))]我一直在工作几个小时,这将大大有助于我的工作。
答案 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