(二十七)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

You may also like...