news 2026/6/20 2:21:16

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/6/17 22:17:59

SCI论文降AI实测:知网AIGC检测AI率<15%的解决方案

SCI论文降AI实测&#xff1a;知网AIGC检测AI率<15%的解决方案 投SCI的稿子被退回来了&#xff0c;编辑说AI检测没过。Turnitin显示AI率83%。 先说结论&#xff1a;用AIGCleaner处理英文部分&#xff0c;从83%降到了0%。中文部分用比话降AI&#xff08;www.bihuapass.com&am…

作者头像 李华
网站建设 2026/6/12 23:14:02

救命神器 8个AI论文平台测评:本科生毕业论文痛点全解决

救命神器 8个AI论文平台测评&#xff1a;本科生毕业论文痛点全解决 2026年AI论文平台测评&#xff1a;精准解决本科生写作难题 随着AI技术的不断进步&#xff0c;越来越多的学术写作工具进入高校市场&#xff0c;为本科生毕业论文写作提供了新的解决方案。然而&#xff0c;面对…

作者头像 李华
网站建设 2026/6/18 4:21:38

TestOps实战:如何让测试成为“持续交付的基石”

测试在持续交付中的转型使命 在DevOps时代&#xff0c;持续交付已成为软件开发的黄金标准&#xff0c;但测试环节常被视为瓶颈而非推动力。TestOps&#xff08;测试运维&#xff09;应运而生&#xff0c;它通过文化变革和技术整合&#xff0c;将测试从“速度阻碍”转化为“交付…

作者头像 李华
网站建设 2026/6/17 9:24:55

高性能计算异构编程

1、非修改序列算法 这些算法不会改变它们所操作的容器中的元素。 1.1 find 和 find_if find(begin, end, value)&#xff1a;查找第一个等于 value 的元素&#xff0c;返回迭代器&#xff08;未找到返回 end&#xff09;。find_if(begin, end, predicate)&#xff1a;查找第…

作者头像 李华
网站建设 2026/6/19 9:18:05

自定义内存检测工具

1、非修改序列算法 这些算法不会改变它们所操作的容器中的元素。 1.1 find 和 find_if find(begin, end, value)&#xff1a;查找第一个等于 value 的元素&#xff0c;返回迭代器&#xff08;未找到返回 end&#xff09;。find_if(begin, end, predicate)&#xff1a;查找第…

作者头像 李华
网站建设 2026/6/17 9:25:54

Python性能优化技巧:让你的代码飞起来

SQLAlchemy是Python中最流行的ORM&#xff08;对象关系映射&#xff09;框架之一&#xff0c;它提供了高效且灵活的数据库操作方式。本文将介绍如何使用SQLAlchemy ORM进行数据库操作。目录安装SQLAlchemy核心概念连接数据库定义数据模型创建数据库表基本CRUD操作查询数据关系操…

作者头像 李华