• arcpy 根据属性分类出图


    给一个伙计写的,实现ArcMap主窗口屏幕伪截图效果。

    代码实现的出图是出的数据视图的数据框,实现截图的效果,这得需要明白,布局视图咋搞自己搞,

    提供一个思路,不会搞的可以联系博主定制。

    import arcpy
    import os
    
    def GetFieldUniqueValue(inTable,inField):
        rows=arcpy.da.SearchCursor(inTable,inField)
        value_lst=[row[0] for row in rows]
        return set(value_lst)
    
    def main():
        layer=arcpy.GetParameter(0)
        field=arcpy.GetParameterAsText(1)
        outJpegDir=arcpy.GetParameterAsText(2)
        width=arcpy.GetParameter(3)
        height=arcpy.GetParameter(4)
        res=arcpy.GetParameter(5)
    
        mxd = arcpy.mapping.MapDocument("CURRENT")
        df = arcpy.mapping.ListDataFrames(mxd)[0]
    
        uniqueValues=GetFieldUniqueValue(layer,field)
    
        try:
            recordCount=len(uniqueValues)
            arcpy.SetProgressor("step","{} unique-values in this table.".format(recordCount),0,recordCount,1)
            for val in uniqueValues:
                arcpy.SetProgressorLabel("{} is exporting...".format(val))
                arcpy.SetProgressorPosition()
                arcpy.SelectLayerByAttribute_management(layer,"NEW_SELECTION","{0}='{1}'".format(field,val))
                df.zoomToSelectedFeatures()
                arcpy.SelectLayerByAttribute_management(layer,"CLEAR_SELECTION")#reset selected features as none.
                outJpegPath=os.path.join(outJpegDir,val+'.jpg')
                arcpy.AddMessage(outJpegPath)
                arcpy.mapping.ExportToJPEG (mxd, 
                    out_jpeg=outJpegPath,
                    data_frame=df, 
                    df_export_width=width,
                    df_export_height=height,
                    resolution=res, 
                    world_file=True, 
                    color_mode='24-BIT_TRUE_COLOR', 
                    jpeg_quality=100,
                    progressive=False
                    )
        except  Exception as e:
            arcpy.AddError(e.message)
    
    if __name__ == '__main__':
        main()
  • 相关阅读:
    halcon算子翻译——append_channel
    halcon算子翻译——access_channel
    halcon算子翻译——set_framegrabber_param
    halcon算子翻译——set_framegrabber_lut
    halcon算子翻译——set_framegrabber_callback
    halcon算子翻译——open_framegrabber大恒相机
    在循环中使用break案例
    for、while、do while 3种循环异同点
    do while循环
    while循环案例
  • 原文地址:https://www.cnblogs.com/yzhyingcool/p/13708700.html
Copyright © 2020-2023  润新知