文章目录前言一、检查要素类/要素数据集是否存在二、检查工作空间/文件数据库三、 检查栅格数据四、工作空间环境的影响五、路径说明总结前言arcpy.Exists() 函数用于检查地理数据元素要素类、表、数据集、shapefile、工作空间、图层和其他文件是否存在。基本语法python arcpy.Exists(dataset)返回值如果数据存在返回 True如果数据不存在返回 False一、检查要素类/要素数据集是否存在Python# -*- coding: utf-8 -*-importarcpy# 检查要素类是否存在fcrD:\Achievement\GZH\Cities.shpifarcpy.Exists(fc):print({} 存在.format(fc))# 执行相关操作else:print({} 不存在.format(fc))二、检查工作空间/文件数据库# -*- coding: utf-8 -*-importarcpy# 检查文件文件数据库gdbrD:\Achievement\GZH\Test.gdbifarcpy.Exists(gdb):print(地理数据库存在)#地理数据库存在三、 检查栅格数据Python# -*- coding: utf-8 -*-importarcpy rasterr D:\Achievement\GZH \DOM.tififarcpy.Exists(raster):print(栅格数据存在)路径格式 python# 正确使用原始字符串或转义反斜杠arcpy.Exists(rC:\Data\test.shp)arcpy.Exists(C:\\Data\\test.shp)# 不正确单反斜杠arcpy.Exists(C:\Data\test.shp)# 可能出错四、工作空间环境的影响python# 设置工作空间后可以使用相对路径arcpy.env.workspacerC:\Data\Test.gdbifarcpy.Exists(Cities):# 相对于C:\Data\Test.gdb\ Citiesprint(要素类存在)五、路径说明由于 Exists 函数能够识别目录路径所以在检查地理数据是否存在时必须使用该函数。目录路径是仅 ArcGIS 可识别的路径名称。例如C:\Data\Test.gdb\ Cities, 是指在文件地理数据库 Test.gdb的Cities要素类。就 Windows 操作系统而言这不是有效的系统路径因为 Test.gdb文件夹并不包含名为Cities的文件。简言之Windows 不了解要素类因此用户不能使用像 os.path.exists 这样的 Python 存在函数。总结arcpy.Exists() 是在GIS数据管理中非常重要的函数常用于避免工具执行错误和数据重复创建的问题。