ここで他の回答を確認しましたが、どれもうまくいきませんでした...
これは、マップ内の名前でレイヤーを検索し、そのデータソースを変更するという「単純な」問題です。
これが私のスクリプトです:
#-- New Source
newSource = os.path.join(currDir, lyrZones + "_Dep" + dirNum + ".shp")
#-- Validation
if arcpy.Exists(newSource):
print "The new source exists!"
else:
print "Not found!"
#-- Find the layer and change its source
for lyr in arcpy.mapping.ListLayers(mxd):
if lyr.name == lyrZones:
print "Layer found!"
print layers.dataSource
print " Replacing source..."
lyr.replaceDataSource(currDir, "SHAPEFILE_WORKSPACE", newSource)
print lyr.dataSource
ArcGISの外部のPythonスクリプトから実行します。
ソースが存在し、レイヤーが見つかり、印刷することでそのデータソースにアクセスできることがわかりますが、lyr.replaceDataSourceがエラーを引き起こします(予期しないエラー...あまり役に立ちません...)
私は現在4〜5時間作業しており、試すためのソリューションが不足しています。何がクラッシュの原因になるのでしょうか?
D:\test
機能するかどうかを確認します。