news 2026/4/15 23:43: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/3/30 15:15:14

Linux环境编程第四天笔记

Linux环境编程第四天笔记 进程的语言 管道 管道是一种特殊的文件 管道是Linux中最基础的进程间通信机制,分为无名(匿名)管道和无名管道 管道默认是半双工通信方式(数据只能在一个方向上流动) 管道中的数据读取后会…

作者头像 李华
网站建设 2026/4/13 21:47:23

基于Thinkphp和Laravel的智慧社区物业缴费管理系统的设计与实现_2p760_

目录 智慧社区物业缴费管理系统的设计与实现系统架构设计核心功能模块技术实现特点应用效果评估 项目开发技术介绍PHP核心代码部分展示系统结论源码获取/同行可拿货,招校园代理 智慧社区物业缴费管理系统的设计与实现 该系统基于ThinkPHP和Laravel框架开发,旨在解决…

作者头像 李华
网站建设 2026/4/14 16:41:12

我把测试报告生成为“可分享链接”,一键发给客户

测试报告分享的痛点与变革机遇 在软件开发生命周期中,测试报告是沟通团队与客户的桥梁,它汇总了缺陷、通过率、风险等关键数据,直接影响项目决策和客户信任。然而,传统分享方式——如邮件附件、手动上传云盘——常导致版本混乱、…

作者头像 李华
网站建设 2026/4/15 3:43:25

基于Thinkphp和Laravel的健身房管理系统_bgnk6

目录 基于ThinkPHP和Laravel的健身房管理系统主要功能模块技术实现系统优势 项目开发技术介绍PHP核心代码部分展示系统结论源码获取/同行可拿货,招校园代理 基于ThinkPHP和Laravel的健身房管理系统 该系统是一个结合ThinkPHP和Laravel框架开发的健身房管理平台,旨在…

作者头像 李华
网站建设 2026/4/14 14:26:32

计算机毕设 java 基于 CSS 的罗技购物网站 基于 SpringBoot 的罗技产品电商平台 Java 罗技数码产品购物管理系统

计算机毕设 java 基于 CSS 的罗技购物网站 7763n9(配套有源码 程序 mysql 数据库 论文)本套源码可以先看具体功能演示视频领取,文末有联系 可分享在电商行业快速发展的背景下,罗技产品的线上销售面临商品展示不直观、订单管理繁琐…

作者头像 李华
网站建设 2026/3/30 4:10:19

用Python读取和处理NASA公开API数据

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

作者头像 李华