ArcGIS Python零基础脚本开发教程---10.3 Exists函数


文章目录


前言

arcpy.Exists() 函数用于检查地理数据元素(要素类、表、数据集、shapefile、工作空间、图层和其他文件)是否存在。


基本语法

python 复制代码
python
arcpy.Exists(dataset)

返回值

如果数据存在:返回 True

如果数据不存在:返回 False

一、检查要素类/要素数据集是否存在

python 复制代码
Python
# -*- coding: utf-8 -*-
import arcpy
# 检查要素类是否存在
fc = r"D:\Achievement\GZH\Cities.shp"
if arcpy.Exists(fc):
    print("{} 存在".format(fc))
    # 执行相关操作
else:
print("{} 不存在".format(fc))

二、检查工作空间/文件数据库

python 复制代码
# -*- coding: utf-8 -*-
import arcpy
# 检查文件文件数据库
gdb = r"D:\Achievement\GZH\Test.gdb"
if arcpy.Exists(gdb):
print("地理数据库存在")   #地理数据库存在

三、 检查栅格数据

python 复制代码
Python
# -*- coding: utf-8 -*-
import arcpy
raster = r" D:\Achievement\GZH \DOM.tif"
if arcpy.Exists(raster):
    print("栅格数据存在")
路径格式:
python
# 正确:使用原始字符串或转义反斜杠
arcpy.Exists(r"C:\Data\test.shp")
arcpy.Exists("C:\\Data\\test.shp")
# 不正确:单反斜杠
arcpy.Exists("C:\Data\test.shp")  # 可能出错

四、工作空间环境的影响

python 复制代码
python
# 设置工作空间后,可以使用相对路径
arcpy.env.workspace = r"C:\Data\Test.gdb"
if arcpy.Exists("Cities"):  # 相对于C:\Data\Test.gdb\ Cities
print("要素类存在")

五、路径说明

由于 Exists 函数能够识别目录路径,所以在检查地理数据是否存在时,必须使用该函数。目录路径是仅 ArcGIS 可识别的路径名称。例如:C:\Data\Test.gdb\ Cities, 是指在文件地理数据库 Test.gdb的Cities要素类。就 Windows 操作系统而言,这不是有效的系统路径,因为 Test.gdb(文件夹)并不包含名为Cities的文件。简言之,Windows 不了解要素类,因此用户不能使用像 os.path.exists 这样的 Python 存在函数。


总结

arcpy.Exists() 是在GIS数据管理中非常重要的函数,常用于避免工具执行错误和数据重复创建的问题。

相关推荐
jinyishu_7 分钟前
C++ 继承全解:从基础到高级特性
开发语言·c++
KaMeidebaby41 分钟前
卡梅德生物技术快报|如何制备单克隆抗体:小众禽类靶点单抗制备实操流程:双载体抗原交叉筛选完整工艺记录
人工智能·python·深度学习·算法·机器学习
乱写代码1 小时前
Pydantic学习--BaseModel
python
fu15935745681 小时前
【边缘计算实战】P1:从零搭建边云任务卸载仿真实验台(Python 可复现)
数据库·python·边缘计算
蜡台2 小时前
通过Gradle脚本声明更改Java变量
android·java·开发语言·python·kotlin·gradle·groovy
小喻同学i2 小时前
std::thread函数参数传递
开发语言·c++
智能体与具身智能3 小时前
TVA 本质内涵与核心特征(系列)
人工智能·python·智能体视觉
云雾J视界3 小时前
SST:高频变压器设计实战:铁氧体 vs 纳米晶 vs 非晶,磁性材料怎么选
python·acdc·dab·sst
第一程序员3 小时前
Rust trait 入门:把 AI 客户端抽象成可替换接口
python·rust·github
Ulyanov3 小时前
Python实现6-DOF刚体仿真器(下)——环境扰动与控制闭环
开发语言·python·算法·系统仿真·雷达电子对抗·导引头