1. 程式人生 > >arcgis arcpy 克里金插值 掩膜 配置符號系統 自動生成圖片

arcgis arcpy 克里金插值 掩膜 配置符號系統 自動生成圖片

整體思路,最後要載入到mxd檔案中,然後匯出圖片

首先載入mxd檔案

mxd = mapping.MapDocument(r"./11.mxd")

然後讀取資料 並載入到圖層中

sr = arcpy.SpatialReference(4326)
    # 讀取csv資料 建立 XY 事件圖層
    input_path = './res.csv'
    arcpy.MakeXYEventLayer_management(input_path, "Lng", "Lat", "points_lyr", sr, "pm10")
    df = mapping.ListDataFrames(mxd, "圖層")[0]
    # 新增點的圖層
    points_lyr = mapping.Layer("points_lyr")
    mapping.AddLayer(df, points_lyr)

設定掩膜 並生成克里金柵格資料

env.mask = "../邊介面/邊介面.shp"
    arcpy.CheckOutExtension("Spatial")
    # 生成克里金柵格資料
    outKring2 = Kriging("points_lyr", "pm10", KrigingModelOrdinary("SPHERICAL", 0.001, 0.89, 189.76, 42.95), 0.001)

建立柵格資料圖層並載入到mxd中

# 建立柵格圖層
    arcpy.MakeRasterLayer_management(outKring2, "outKring2")
    # mxd 新增克里金柵格的圖層
    outKring2_layer = mapping.Layer("outKring2")
    mapping.AddLayer(df, outKring2_layer)

替換符號系統

# 從外部獲取設定好的圖層
    outKring2_layer = mapping.ListLayers(mxd, "outKring2")[0]
    # 從mxd內部部獲取設定好的圖層
    # Kriging_std = mapping.ListLayers(mxd, "Kriging_std")[0]
    # 讀取設定好的符號系統圖層
    Kriging_std = mapping.Layer(r"./Kriging_std.lyr")
    # 替換圖層的符號系統
    mapping.UpdateLayer(df, outKring2_layer, Kriging_std)

匯出圖片

# 縮放至可展示的比例
    df.extent = outKring2_layer.getSelectedExtent()
    mapping.ExportToJPEG(mxd, r"./Project.jpg",
                           data_frame=df,
                           df_export_width=1600,
                           df_export_height=1200,
                           world_file=True)