news 2026/4/23 18:50:32

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/4/23 8:13:44

ArcGIS Python零基础脚本开发教程---1.2 os库

文章目录 前言一、文件和目录操作1.1 基础路径操作1.2 目录遍历和文件列表1.3 目录创建和删除1.4 文件操作 二、路径信息检查 前言 Python的 os 模块提供了丰富的操作系统交互功能。 一、文件和目录操作 1.1 基础路径操作 # -*- coding: UTF-8 -*- import os Input r"…

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

基于Thinkphp和Laravel的社区访客来访管理系统的设计与实现

目录 设计目标技术架构核心功能创新点实现效果 项目开发技术介绍PHP核心代码部分展示系统结论源码获取/同行可拿货,招校园代理 设计目标 开发基于ThinkPHP和Laravel框架的社区访客管理系统,实现访客信息登记、身份核验、访问记录追踪及数据分析功能,提升…

作者头像 李华
网站建设 2026/4/23 9:46:31

基于Thinkphp和Laravel的网上购物商城网购平台管理系统_0q1i3

目录 ThinkPHP与Laravel网上购物商城系统概述核心功能模块技术架构特点部署与扩展性适用场景 项目开发技术介绍PHP核心代码部分展示系统结论源码获取/同行可拿货,招校园代理 ThinkPHP与Laravel网上购物商城系统概述 该网购平台管理系统基于ThinkPHP或Laravel框架开发&#xff…

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

基于Thinkphp和Laravel的个性化商城图书购物推荐系统_1k4p4_

目录系统架构与技术栈个性化推荐功能性能优化方案安全与扩展性部署与维护项目开发技术介绍PHP核心代码部分展示系统结论源码获取/同行可拿货,招校园代理系统架构与技术栈 该系统基于ThinkPHP和Laravel双框架开发,结合MySQL数据库,实现高并发与模块化设计…

作者头像 李华
网站建设 2026/4/23 9:50:19

基于Thinkphp和Laravel的滑雪具销售商城 进货退货带销售员系统_x9zss

目录 系统架构设计滑雪具销售功能进货退货流程销售员系统技术实现细节 项目开发技术介绍PHP核心代码部分展示系统结论源码获取/同行可拿货,招校园代理 系统架构设计 采用ThinkPHP和Laravel双框架结合开发,后端模块化设计,支持高并发场景。ThinkPHP处理核…

作者头像 李华
网站建设 2026/4/23 9:51:04

计算机毕业设计springboot疫苗接种管理系统的设计与实现 基于Spring Boot的疫苗接种信息化管理系统的设计与开发 Spring Boot框架下疫苗接种管理系统的构建与实现

计算机毕业设计springboot疫苗接种管理系统的设计与实现buxy6 (配套有源码 程序 mysql数据库 论文) 本套源码可以在文本联xi,先看具体系统功能演示视频领取,可分享源码参考。 随着信息技术的飞速发展,传统疫苗接种管理方式面临着诸…

作者头像 李华