当前位置: 首页>>代码示例>>Python>>正文


Python arcpy.Describe方法代码示例

本文整理汇总了Python中arcpy.Describe方法的典型用法代码示例。如果您正苦于以下问题:Python arcpy.Describe方法的具体用法?Python arcpy.Describe怎么用?Python arcpy.Describe使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在arcpy的用法示例。


在下文中一共展示了arcpy.Describe方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: updateParameters

# 需要导入模块: import arcpy [as 别名]
# 或者: from arcpy import Describe [as 别名]
def updateParameters(self, parameters):
        params=parameters
        
#        if parameters[0].altered and not parameters[1].altered:
#            parameters[1].value=arcpy.Describe(parameters[0].valueAsText).OIDFieldName
                
        if params[4].value=='CUT_OFF':
            params[5].enabled=1
            params[6].enabled=0
        else:
            params[5].enabled=0
            params[6].enabled=1
        
        if params[7].value=='CPU':
            params[8].enabled=1
        else:
            params[8].enabled=0
        
        if parameters[0].altered and not parameters[3].altered:
            in_fe=parameters[0].valueAsText   
            parameters[3].value=in_fe[:len(in_fe)-4]+'_dens'+in_fe[-4:] if in_fe[-3:]=='shp' else in_fe+'_dens'
        
        return 
开发者ID:lopp2005,项目名称:HiSpatialCluster,代码行数:25,代码来源:tool_calculatedensity.py

示例2: generate_cls_boundary

# 需要导入模块: import arcpy [as 别名]
# 或者: from arcpy import Describe [as 别名]
def generate_cls_boundary(cls_input,cntr_id_field,boundary_output,cpu_core):
    arcpy.env.parallelProcessingFactor=cpu_core
    arcpy.SetProgressorLabel('Generating Delaunay Triangle...')
    arrays=arcpy.da.FeatureClassToNumPyArray(cls_input,['SHAPE@XY',cntr_id_field])
   
    cid_field_type=[f.type for f in arcpy.Describe(cls_input).fields if f.name==cntr_id_field][0]
    delaunay=Delaunay(arrays['SHAPE@XY']).simplices.copy()
    arcpy.CreateFeatureclass_management('in_memory','boundary_temp','POLYGON',spatial_reference=arcpy.Describe(cls_input).spatialReference)
    fc=r'in_memory\boundary_temp'
    arcpy.AddField_management(fc,cntr_id_field,cid_field_type)
    cursor = arcpy.da.InsertCursor(fc, [cntr_id_field,"SHAPE@"])
    arcpy.SetProgressor("step", "Copying Delaunay Triangle to Temp Layer...",0, delaunay.shape[0], 1)
    for tri in delaunay:
        arcpy.SetProgressorPosition()
        cid=arrays[cntr_id_field][tri[0]]
        if cid == arrays[cntr_id_field][tri[1]] and cid == arrays[cntr_id_field][tri[2]]:
            cursor.insertRow([cid,arcpy.Polygon(arcpy.Array([arcpy.Point(*arrays['SHAPE@XY'][i]) for i in tri]))])
    arcpy.SetProgressor('default','Merging Delaunay Triangle...')
    if '64 bit' in sys.version:
        arcpy.PairwiseDissolve_analysis(fc,boundary_output,cntr_id_field)
    else:
        arcpy.Dissolve_management(fc,boundary_output,cntr_id_field)
    arcpy.Delete_management(fc)
    
    return 
开发者ID:lopp2005,项目名称:HiSpatialCluster,代码行数:27,代码来源:section_cpu.py

示例3: HandleOIDUniqueID

# 需要导入模块: import arcpy [as 别名]
# 或者: from arcpy import Describe [as 别名]
def HandleOIDUniqueID(inPointsLayer, inLocUniqueID):
    '''If ObjectID was selected as the unique ID, copy the values to a new field
    so they don't get messed up when copying the table.'''
    pointsOID = arcpy.Describe(inPointsLayer).OIDFieldName
    if inLocUniqueID.lower() == pointsOID.lower():
        try:
            inLocUniqueID = "BBBUID"
            arcpy.AddMessage("You have selected your input features' ObjectID field as the unique ID to use for this analysis. \
In order to use this field, we have to transfer the ObjectID values to a new field in your input data called '%s' because ObjectID values \
may change when the input data is copied to the output. Adding the '%s' field now, and calculating the values to be the same as the current \
ObjectID values..." % (inLocUniqueID, inLocUniqueID))
            arcpy.management.AddField(inPointsLayer, inLocUniqueID, "LONG")
            arcpy.management.CalculateField(inPointsLayer, inLocUniqueID, "!" + pointsOID + "!", "PYTHON_9.3")
        except:
            arcpy.AddError("Unable to add or calculate new unique ID field. Please fix your data or choose a different unique ID field.")
            raise CustomError
    return inLocUniqueID 
开发者ID:Esri,项目名称:public-transit-tools,代码行数:19,代码来源:BBB_SharedFunctions.py

示例4: add_TimeOfDay_field_to_sublayer

# 需要导入模块: import arcpy [as 别名]
# 或者: from arcpy import Describe [as 别名]
def add_TimeOfDay_field_to_sublayer(nalayer, sublayer_object, sublayer_name):
    '''Add a field called TimeOfDay of type DATE to an NA sublayer'''
    time_field = "TimeOfDay"

    # Clean up any pre-existing fields with this name (unlikely case)
    poly_fields = [f for f in arcpy.Describe(sublayer_object).fields if f.name == time_field]
    if poly_fields:
        for f in poly_fields:
            if f.name == time_field and f.type != "Date":
                msg = "Your network analysis layer's %s sublayer already contained a field called %s of a type " + \
                      "other than Date.  This field will be deleted and replaced with a field of type Date used " + \
                      "for the output of this tool."
                arcpy.AddWarning(msg % (sublayer_name, time_field))
                arcpy.management.DeleteField(sublayer_object, time_field)

    # Add the TimeOfDay field to the sublayer.  If it already exists, this will do nothing.
    arcpy.na.AddFieldToAnalysisLayer(nalayer, sublayer_name, time_field, "DATE")

    return time_field 
开发者ID:Esri,项目名称:public-transit-tools,代码行数:21,代码来源:AnalysisHelpers.py

示例5: featuresToGPX

# 需要导入模块: import arcpy [as 别名]
# 或者: from arcpy import Describe [as 别名]
def featuresToGPX(inputFC, outGPX, zerodate, pretty):
    ''' This is called by the __main__ if run from a tool or at the command line
    '''

    descInput = arcpy.Describe(inputFC)
    if descInput.spatialReference.factoryCode != 4326:
        arcpy.AddWarning("Input data is not projected in WGS84,"
                         " features were reprojected on the fly to create the GPX.")

    generatePointsFromFeatures(inputFC , descInput, zerodate)

    # Write the output GPX file
    try:
        if pretty:
            gpxFile = open(outGPX, "w")
            gpxFile.write(prettify(gpx))
        else:
            gpxFile = open(outGPX, "wb")
            ET.ElementTree(gpx).write(gpxFile, encoding="UTF-8", xml_declaration=True)
    except TypeError as e:
        arcpy.AddError("Error serializing GPX into the file.")
    finally:
        gpxFile.close() 
开发者ID:arcpy,项目名称:sample-gp-tools,代码行数:25,代码来源:FeaturesToGPX.py

示例6: check_prop_list

# 需要导入模块: import arcpy [as 别名]
# 或者: from arcpy import Describe [as 别名]
def check_prop_list(user_types):
    """ Verify that the user has entered valid Describe Object types/classes and
        print a warning message for any invalid choices. If no arguments are 
        provided, the report will print all Describe properties.Returns a list 
        of Describe properties whose attributes will be included in the report.
    """
    if not user_types:
        queried_types = [p for p in properties]
    else:
        invalid_types = list()
        queried_types = list()
        [queried_types.append(k) if k in properties else invalid_types.append(k) for k in user_types]
        if invalid_types:
            print("WARNING! Describe Types will not be included in report:")
            for t in invalid_types:
                print(t)
    return queried_types 
开发者ID:arcpy,项目名称:sample-gp-tools,代码行数:19,代码来源:describe_reporter.py

示例7: make_poly_from_extent

# 需要导入模块: import arcpy [as 别名]
# 或者: from arcpy import Describe [as 别名]
def make_poly_from_extent(ext, sr):
    """Make an arcpy polygon object from an input extent object.,Returns
    a polygon geometry object.

    Required:
    ext -- extent object
    sr -- spatial reference

    Example
    >>> ext = arcpy.Describe(fc).extent
    >>> sr = 4326  #WKID for WGS 84
    >>> poly = make_poly_from_extent(ext, sr)
    >>> arcpy.CopyFeatures_management(poly, r'C:\Temp\Project_boundary.shp')
    """
    array = arcpy.Array()
    array.add(ext.lowerLeft)
    array.add(ext.lowerRight)
    array.add(ext.upperRight)
    array.add(ext.upperLeft)
    array.add(ext.lowerLeft)
    return arcpy.Polygon(array, sr) 
开发者ID:NERC-CEH,项目名称:arcapi,代码行数:23,代码来源:arcapi.py

示例8: updateOverrides

# 需要导入模块: import arcpy [as 别名]
# 或者: from arcpy import Describe [as 别名]
def updateOverrides(fcs):
    """ loops through all feature classes and applies overrides to the geometry"""
    for fc in fcs:
        arcpy.env.overwriteOutput = True
        arcpy.env.addOutputsToMap = False
        desc = arcpy.Describe(fc)
        rep_name = ""
        if hasattr(desc, "representations"):
            reps = desc.representations
            for rep in reps:
                rep_name = rep.name
                arcpy.AddMessage("Applying Rep Overrides for " + str(fc))
                arcpy.UpdateOverride_cartography(fc, rep_name, "BOTH")
        arcpy.AddMessage("Repairing Geometry for " + str(fc))
        arcpy.RepairGeometry_management(fc)

    return fcs 
开发者ID:Esri,项目名称:CTM,代码行数:19,代码来源:WMX_Generalization.py

示例9: form_connection_string

# 需要导入模块: import arcpy [as 别名]
# 或者: from arcpy import Describe [as 别名]
def form_connection_string(ws):
            """Esri's describe workspace connection string does not work at 10.4, bug???"""
            desc = arcpy.Describe(ws)
            if 'SdeWorkspaceFactory' in desc.workspaceFactoryProgID:
                cp = desc.connectionProperties
                props =  ['server', 'instance', 'database', 'version', 'authentication_mode']
                db_client = cp.instance.split(':')[1]
                con_properties = cp.server
                parts = []
                for prop in props:
                    parts.append('{}={}'.format(prop.upper(), getattr(cp, prop)))
                parts.insert(2, 'DBCLIENT={}'.format(db_client))
                parts.insert(3, 'DB_CONNECTION_PROPERTIES={}'.format(cp.server))
                return ';'.join(parts)
            else:
                return 'DATABASE=' + ws 
开发者ID:Bolton-and-Menk-GIS,项目名称:restapi,代码行数:18,代码来源:utils.py

示例10: __init__

# 需要导入模块: import arcpy [as 别名]
# 或者: from arcpy import Describe [as 别名]
def __init__(self, path):
        """Initialize `arcpy.Describe` object with basic properties."""
        self.path = path
        self._desc = arcpy.Describe(self.path)
        self.catalogPath = self._desc.catalogPath
        self.name = self._desc.name
        self.root = os.path.dirname(self.catalogPath)

        if hasattr(arcpy.Describe(self.root),
                   'datasetType'):  # 'FeatureDataset':
            self.wkspc = os.path.dirname(self.root)
        else:  # FeatureClass
            self.wkspc = self.root

        if 'Remote' in arcpy.Describe(self.wkspc).workspaceType:
            self.name = '.'.join(self.name.split('.')[1:])


######################################################################## 
开发者ID:AlexArcPy,项目名称:registrant,代码行数:21,代码来源:_data_objects.py

示例11: get_attachments_count

# 需要导入模块: import arcpy [as 别名]
# 或者: from arcpy import Describe [as 别名]
def get_attachments_count(self):
        """Get number of attachments stored for a table/feature class."""
        rel_classes = [
            os.path.join(self.root, rc)
            for rc in getattr(self._desc, 'relationshipClassNames', [''])
        ]
        for rc in rel_classes:
            rc_desc = arcpy.Describe(rc)
            if rc_desc.isAttachmentRelationship:
                return int(
                    arcpy.GetCount_management(
                        os.path.join(
                            self.root,
                            rc_desc.destinationClassNames[0])).getOutput(0))

    # ---------------------------------------------------------------------- 
开发者ID:AlexArcPy,项目名称:registrant,代码行数:18,代码来源:_data_objects.py

示例12: CheckSpatialReference

# 需要导入模块: import arcpy [as 别名]
# 或者: from arcpy import Describe [as 别名]
def CheckSpatialReference(inputFC):
    # Make sure that the coordinate system is projected and units are meters
    try:
        desc = arcpy.Describe(inputFC)
        inputSR = desc.spatialReference

        if inputSR.type.upper() == "PROJECTED":
            if inputSR.linearUnitName.upper() == "METER":
                env.outputCoordinateSystem = inputSR
                return True

            else:
                raise MyError, os.path.basename(theGDB) + ": Input soil polygon layer does not have a valid coordinate system for gSSURGO"

        else:
            raise MyError, os.path.basename(theGDB) + ": Input soil polygon layer must have a projected coordinate system"

    except MyError, e:
        # Example: raise MyError, "This is an error message"
        PrintMsg(str(e), 2)
        return False 
开发者ID:ncss-tech,项目名称:geo-pit,代码行数:23,代码来源:SSURGO_ExportMuRaster.py

示例13: GetWorkspace

# 需要导入模块: import arcpy [as 别名]
# 或者: from arcpy import Describe [as 别名]
def GetWorkspace(ssurgoInput):
# Return the workspace of the input
    """ Maybe get rid of this or add it to the main body """

    try:
        desc = arcpy.Describe(ssurgoInput)
        thePath = os.path.dirname(desc.CatalogPath)

        desc = arcpy.Describe(thePath)

        # if path to ssurgoInput is a FD grab the GDB path
        if desc.dataType.upper() == "FEATUREDATASET":
            thePath = os.path.dirname(thePath)

        env.workspace = thePath
        return thePath

    except:
        errorMsg()

## =================================================================================== 
开发者ID:ncss-tech,项目名称:geo-pit,代码行数:23,代码来源:Select_Mapunits_by_Project.py

示例14: updateParameters

# 需要导入模块: import arcpy [as 别名]
# 或者: from arcpy import Describe [as 别名]
def updateParameters(self, parameters):
#        if parameters[0].altered and not parameters[2].altered:
#            parameters[2].value=arcpy.Describe(parameters[0].valueAsText).OIDFieldName
            
        if parameters[0].altered and not parameters[5].altered:
            in_fe=parameters[0].valueAsText   
            parameters[5].value=in_fe[:len(in_fe)-4]+'_filter'+in_fe[-4:] if in_fe[-3:]=='shp' else in_fe+'_filter'
                          
        return 
开发者ID:lopp2005,项目名称:HiSpatialCluster,代码行数:11,代码来源:tool_densfilter.py

示例15: updateParameters

# 需要导入模块: import arcpy [as 别名]
# 或者: from arcpy import Describe [as 别名]
def updateParameters(self, parameters):
#        if parameters[0].altered and not parameters[1].altered:
#            parameters[1].value=arcpy.Describe(parameters[0].valueAsText).OIDFieldName
            
        if (parameters[0].altered or parameters[4].altered) and not parameters[5].altered:#parameters[5].valueAsText==self.cntr_addr:
            in_fe=parameters[0].valueAsText            
            cntrnum=parameters[4].value
            self.cntr_addr=parameters[5].value=in_fe[:len(in_fe)-4]+'_%dcntr'%cntrnum+in_fe[-4:] if in_fe[-3:]=='shp' else in_fe+'_%dcntr'%cntrnum
            
        if (parameters[0].altered or parameters[4].altered) and not parameters[6].altered:#parameters[6].valueAsText==self.cls_addr:
            in_fe=parameters[0].valueAsText            
            cntrnum=parameters[4].value
            self.cls_addr=parameters[6].value=in_fe[:len(in_fe)-4]+'_%dcntr_cls'%cntrnum+in_fe[-4:] if in_fe[-3:]=='shp' else in_fe+'_%dcntr_cls'%cntrnum                
        return 
开发者ID:lopp2005,项目名称:HiSpatialCluster,代码行数:16,代码来源:tool_clswithcntr.py


注:本文中的arcpy.Describe方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。