Arcpy 运行脚本时出错,错误 000358:无效表达式

问题描述 投票:0回答:1
import arcpy

arcpy.env.workspace = r"E:\Reserach\Dengu\Python"
arcpy.env.overwriteOutput = True

input_thana_shapefile = r"E:\Reserach\Dengu\New GIS Data\Dhaka_Thana.shp"
input_dcc_shapefile = r"E:\GIS\RAJUK\RAJUK_Updated\RAJUK_Updated\Dhaka_Combined database\Str_New_DCC.shp"


Thana = ['Adabor', 'Badda', 'Bangshal', 'Biman_Bandar', 'Cantonment', 'Chak_Bazar', 'Dakshinkhan', 'Darus_Salam', 'Demra', 'Dhanmondi', 'Gendaria', 'Gulshan', 'Hazaribagh', 'Jatrabari', 'Kadamtali', 'Kafrul', 'Kalabagan', 'Kamrangir_Char', 'Khilgaon', 'Khilkhet', 'Kotwali', 'Lalbagh', 'Mirpur', 'Mohammadpur', 'Motijheel', 'New_Market', 'Pallabi', 'Paltan', 'Ramna', 'Rampura', 'Sabujbagh', 'Shah_Ali', 'Shahbagh', 'Sher_e_bangla_Nagar', 'Shyampur', 'Sutrapur', 'Tejgaon', 'Tejgaon_Ind_Area', 'Turag', 'Uttar_Khan', 'Uttara']


arcpy.management.CreateFolder(r"E:\Reserach\Dengu\Python", "output_folder_2")

arcpy.MakeFeatureLayer_management(input_dcc_shapefile, 'input_dcc_shapefile_layer')

for x in Thana:
    print(x)
    arcpy.MakeFeatureLayer_management(input_thana_shapefile, 'input_thana_shapefile_layer', """ "NAME" = '{}' """.format(x))
    output_feature_class = f"{output_folder_2}\\{x}_clipped.shp"
    arcpy.analysis.Clip('input_dcc_shapefile_layer', 'input_thana_shapefile_layer', output_feature_class)

这段代码有什么问题?

这是错误消息:

Traceback (most recent call last):
  File "C:/Users/abhij/OneDrive/Desktop/Yoyo2.py", line 19, in <module>
    arcpy.MakeFeatureLayer_management(input_thana_shapefile, 'input_thana_shapefile_layer', """ "NAME" = '{}' """.format(x))
  File "C:\Program Files\ArcGIS\Pro\Resources\ArcPy\arcpy\management.py", line 8826, in MakeFeatureLayer
    raise e
  File "C:\Program Files\ArcGIS\Pro\Resources\ArcPy\arcpy\management.py", line 8823, in MakeFeatureLayer
    retval = convertArcObjectToPythonObject(gp.MakeFeatureLayer_management(*gp_fixargs((in_features, out_layer, where_clause, workspace, field_info), True)))
  File "C:\Program Files\ArcGIS\Pro\Resources\ArcPy\arcpy\geoprocessing\_base.py", line 512, in <lambda>
    return lambda *args: val(*gp_fixargs(args, True))
arcgisscripting.ExecuteError: ERROR 000358: Invalid expression
Failed to execute (MakeFeatureLayer).
gis arcgis arcpy
1个回答
0
投票

错误消息中所述的错误出现在第 19 行,您尝试在其中创建要素图层:

arcpy.MakeFeatureLayer_management(input_thana_shapefile, 'input_thana_shapefile_layer', """ "NAME" = '{}' """.format(x))

where 子句中似乎有一个拼写错误。确保 input_thana_shape 文件有一个字段“NAME”。 阅读本文,了解如何在 ArcGIS 中构建有效的 SQL 查询表达式。

© www.soinside.com 2019 - 2024. All rights reserved.