(二十七)arcpy开发&关于arcpy.Describe
今天在学习关于工作空间相关知识,用于了下面的函数来实现判断当前输入的要素参数在哪个工作空间。其中主要运用到了arcpy.Describe函数。
def get_workspace(featureClass):
catalogPath = os.path.dirname(featureClass.catalogPath)
if arcpy.Describe(catalogPath).dataType == 'FeatureDataset':
arcpy.env.workspace = arcpy.Describe(catalogPath).path
else:
arcpy.env.workspace = featureClass.path
return arcpy.env.workspace
研究罢了,调试时查阅了Describe相关的参数,于是来看一下esri官方的参考文档,如下所说关于describe的种种:
Describe 函数返回的 Describe 对象包含多个属性,如数据类型、字段、索引以及许多其他属性。该对象的属性是动态的,这意味着根据所描述的数据类型,会有不同的描述属性可供使用。
Describe 属性被组织成一系列属性组。任何特定数据集都将至少获取其中一个组的属性。例如,如果要描述一个地理数据库要素类,您可访问 GDB 要素类、要素类、表和数据集属性组中的属性。所有数据,不管是哪种数据类型,总会获取通用 Describe 对象属性。
好了,说了这么多。我其实想说的是,可以使用describe查看数据的相关信息。比如shapeType、dataType、catalogPath、spatialReference等等相关信息。我们来看一下下面这一段代码。
input_fc = 'D:/Data/中国国界和省界的SHP格式数据/省界/bou2_4p.shp'
desc = arcpy.Describe(input_fc)
catalogPath = os.path.dirname(desc.catalogPath)
dataType=arcpy.Describe(catalogPath).dataType
dataType2=desc.dataType
现在我们把pycharm断点打开,一一窥探该函数会给我们带来什么样的信息。具体如下图所示。
好了,关于describe的学习就到处为此了。
更多内容,请微信扫二维码关注公众号,或者加入arcpy开发qq学习群:487352121
转载自:https://blog.csdn.net/u010608964/article/details/88404177