news 2026/3/3 0:24:06

ArcGIS Python零基础脚本开发教程---1.1 Describe 函数

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
ArcGIS Python零基础脚本开发教程---1.1 Describe 函数

文章目录

  • 前言
  • 一、 基础属性示例
  • 二、要素类相关属性
  • 三、字段信息
  • 四、 栅格数据属性
  • 五、工作空间和数据集
  • 六、注意事项

前言

arcpy.Describe函数用于获取地理数据(要素类、栅格、图层等)的属性信息,返回一个包含数据属性(如数据类型、空间参考、字段等)的对象。
基本语法

pythonimportarcpy# 基本用法desc=arcpy.Describe(input_data)

参数说明
input_data 输入的地理数据(路径字符串或图层对象)


一、 基础属性示例

python# -*- coding: utf-8 -*-importarcpy# 描述一个要素类fc=r" E:\data\cities.shp"desc=arcpy.Describe(fc)# 基本信息print("数据类型: {}".format(desc.dataType))# 数据类型: ShapeFileprint("名称: {}".format(desc.name))# 名称: cities.shpprint("基础名: {}".format(desc.baseName))# 基础名: citiesprint("目录: {}".format(desc.path))# 目录: E:\dataprint("完整路径: {}".format(desc.catalogPath))# 完整路径: E:\data\cities.shpprint("扩展名: {}".format(desc.extension))# 扩展名: shp

二、要素类相关属性

python# -*- coding: utf-8 -*-importarcpy# 仅适用于要素类fc=r" E:\data\temp.mdb\DLTB"desc=arcpy.Describe(fc)ifdesc.dataType=="FeatureClass":print("要素类型: {}".format(desc.shapeType))# 要素类型: Polygon# 空间参考信息spatial_ref=desc.spatialReferenceprint("坐标系名称: {}".format(spatial_ref.name))#坐标系名称: CGCS2000_3_Degree_GK_CM_126Eprint("投影类型: {}".format(spatial_ref.type))#投影类型: Projected# 范围信息extent=desc.extentprint("X最小值: {}".format(extent.XMin))#X最小值: 379606.02316print("X最大值: {}".format(extent.XMin))#X最大值: 379606.02316print("Y最小值: {}".format(extent.YMin))#Y最小值: 4870197.481print("Y最大值: {}".format(extent.YMax))#Y最大值: 4874916.48099

三、字段信息

python# -*- coding: utf-8 -*-importarcpy fc=r" E:\data\temp.mdb\DLTB"desc=arcpy.Describe(fc)# 获取字段信息fields=desc.fieldsforfieldinfields:print("字段名: {}".format(field.name))print("字段类型: {}".format(field.type))print("字段长度: {}".format(field.length))print("是否可为空: {}".format(field.isNullable))

四、 栅格数据属性

python# -*- coding: utf-8 -*-importarcpy# 描述栅格数据raster=r"E:\data\a2.img"desc=arcpy.Describe(raster)ifdesc.dataType=="RasterDataset":print("栅格格式: {}".format(desc.format))#栅格格式: IMAGINE Imageprint("波段数: {}".format(desc.bandCount))#波段数: 1print("压缩类型: {}".format(desc.compressionType))#压缩类型: RLE# 栅格范围extent=desc.extentprint("栅格范围: {}".format(extent))#栅格范围: 128.980865478516 42.7794821090849 129.728913685288 43.4220062741493 NaN NaN NaN NaN

五、工作空间和数据集

python# -*- coding: utf-8 -*-importarcpy# 描述工作空间gdb=r"E:\data\geodatabase.gdb"desc=arcpy.Describe(gdb)ifdesc.dataType=="Workspace":print("工作空间类型: {}".format(desc.workspaceType))# 工作空间类型: LocalDatabase# 描述数据集dataset=r"E:\data\geodatabase.gdb\Transportation"desc=arcpy.Describe(dataset)ifdesc.dataType=="FeatureDataset":print("数据集名称: {}".format(desc.name))#工作空间类型: LocalDatabase

六、注意事项

不是所有属性都适用于所有数据类型,使用前用hasattr()检查

pythonifhasattr(desc,'shapeType'):print(desc.shapeType)

Describe函数是ArcPy中最常用的函数之一,可以帮助你在处理地理数据前了解数据的属性和特征。


版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/25 14:21:37

基于Thinkphp和Laravel的小区物业管理系统设计与实现

目录 小区物业管理系统设计与实现摘要技术架构功能模块系统特点实现效果 项目开发技术介绍PHP核心代码部分展示系统结论源码获取/同行可拿货,招校园代理 小区物业管理系统设计与实现摘要 该系统基于ThinkPHP和Laravel框架开发,旨在提升小区物业管理效率和服务质量。…

作者头像 李华
网站建设 2026/3/2 1:19:48

为什么你的测试总在“网络延迟”上失败?

网络延迟测试是软件性能测试的关键环节,尤其在云计算、物联网和实时应用场景中,它直接影响用户体验和系统可靠性。然而,许多测试团队反复遭遇延迟测试失败,导致误报、数据失真和项目延期。 一、硬件因素:设备老化与配…

作者头像 李华
网站建设 2026/3/2 15:46:45

计算机毕业设计springboot物品捎带平台的设计与实现 基于Spring Boot的物品代送服务平台开发与实现 Spring Boot框架下的物品托运系统设计与构建

计算机毕业设计springboot物品捎带平台的设计与实现_xrt3a (配套有源码 程序 mysql数据库 论文) 本套源码可以在文本联xi,先看具体系统功能演示视频领取,可分享源码参考。 随着互联网的飞速发展,传统的物品捎带方式逐渐无法满足人…

作者头像 李华
网站建设 2026/2/18 9:21:57

服务器运维操作命令速查手册

服务器运维操作命令手册适用对象:Linux 服务器运维工程师 / 网络工程师 / IT 运维人员 适用环境:CentOS / Rocky / AlmaLinux / Ubuntu / Debian(命令通用,个别差异已说明)一、系统基础信息查看1. 系统与内核uname -a …

作者头像 李华
网站建设 2026/2/27 3:19:52

DeepSeek写的论文AI率太高?5分钟降到知网合格线以下

DeepSeek写的论文AI率太高?5分钟降到知网合格线以下 用DeepSeek写完论文,自信满满拿去检测,结果知网AIGC显示92%。 先说结论:用比话降AI(www.bihuapass.com)处理后,5分钟从92%降到了8%。如果你…

作者头像 李华
网站建设 2026/2/27 8:28:48

CI/CD中测试结果对比的价值与挑战

在快速迭代的开发环境中,新旧版本测试结果的精准对比不仅是质量守门员,更是效率加速器。传统手动对比方式在动态场景下面临时效性差、误判率高的问题,而自动化对比体系能通过量化指标(如通过率、缺陷密度、性能衰减率)…

作者头像 李华