ArcGIS model builder 输出文件名处理

在ArcGIS中使用model builder批处理文件时,由于原文件为.tif格式的栅格文件,这样输出文件以“%NAME%”引用命名时,就会变成**.tif.**,请问如何去掉中间的“.tif”这部分呢?自己试了写成“%NAME%[:-4]”这样无效。
已邀请:

慕晓燕 - 长期ArcGIS爱好者

赞同来自: changkx 江宝骅 盎髯~immortals

看你的问题描述,批处理应该是用到了 Iterate Rasters 的迭代器。如果要处理 %Name% 这个行内变量,就需要额外加个 Calculate Value 的工具来执行处理文件名的部分,并且将值给新变量传给下个工具 ,例如这个示例是 name2。为了确保有了新的变量值才执行后面的工具,最好加个 Precondition。
 
如下如中设置, Calculate Value 工具中的表达式为 "%Name%".replace(".tif","")

修改.png

 

不二痞子 - GIS思维创始人,https://gisthink.ke.qq.com/

赞同来自: changkx

    本身迭代器  输出的值,其实都应该只是个名称,而迭代栅格比较奇葩输出的是文件(带有格式)。
C:\Data\GIS.tif
文件是这样:GIS.tif
名称是这样:GIS
    可以认为这是一个bug,也可以认为官方有意为之,因为栅格数据的格式多,但是你看迭代栅格,他输出默认是NAME(也就是名称),文档里面也没有特殊说明,所以可以认为这是他们的一个疏忽。
    这个时候你可以加个  解析路径,
1.jpg

 
关于解析路径看下图:如果一个文件  C:\Data\InputFC.shp
2.jpg

要回复问题请先登录注册