当前位置: 首页 > news >正文

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中最常用的函数之一,可以帮助你在处理地理数据前了解数据的属性和特征。


http://www.jsqmd.com/news/313662/

相关文章:

  • 探秘Silane-PEG8-DBCO,硅烷-聚乙二醇8-二苯并环辛炔:三功能连接分子的设计与应用
  • 2026毕设ssm+vue旅游管理系统论文+程序
  • 向量数据库到底香不香?这篇选型指南帮你不再踩坑
  • 全网热议!2026年知名全自动砖机公司排名推荐,发现高品质固废与液压砖机厂家
  • 铁轨表面缺陷检测这事儿听起来挺硬核,但用MATLAB玩起来其实有点意思。咱们直接撸代码说人话,先搞张铁轨灰度图读进来
  • 【RAG】99-AI大模型应用RAG工程培训总体介绍
  • Linux环境编程第四天笔记
  • 零基础Git版本 安装教程
  • HTML--超链接
  • 基于Thinkphp和Laravel的智慧社区物业缴费管理系统的设计与实现_2p760_
  • 【游戏推荐】未见之界 (The Axis Unseen)免安装中文版
  • 基于Thinkphp和Laravel的校园招聘求职推荐系统的设计与实现-173lo-
  • 基于Thinkphp和Laravel的社区访客来访管理系统的设计与实现
  • 10个技巧:提升生成式AI的鲁棒性测试
  • 基于Thinkphp和Laravel的网上购物商城网购平台管理系统_0q1i3
  • 基于Thinkphp和Laravel语言的考试信息报名系统_5n9zn
  • 2026年最火的AI模型测试平台:专业测试从业者的实战指南
  • 救命神器 8个AI论文平台测评:本科生毕业论文痛点全解决
  • 学霸同款2026 AI论文软件TOP9:本科生毕业论文必备测评
  • Vision Transformer(ViT)保姆级教程:从原理到CIFAR-10实战(PyTorch)! - 教程
  • 基于Thinkphp和Laravel的飞机场免税店网上商城航司互售系统的设计与实现_t7i6n
  • Thinkphp和Laravel智能美食菜谱推荐评分系统_ct3p7
  • 基于Thinkphp和Laravel的个性化商城图书购物推荐系统_1k4p4_
  • ue 微笑 audio2emotion 学习配置
  • CI/CD中的测试环境清理:实现跑完自动销毁
  • 我把测试报告生成为“可分享链接”,一键发给客户
  • 为什么你的测试总在“网络延迟”上失败?
  • 计算机毕业设计springboot物品捎带平台的设计与实现 基于Spring Boot的物品代送服务平台开发与实现 Spring Boot框架下的物品托运系统设计与构建
  • TestOps实战:如何让测试成为“持续交付的基石”
  • 大模型伦理测试:2026年开发者新必修课