# -*- coding: GB2312 -*-
# (4)编写脚本工具,对江苏2021年常住人口数据进行插值,插值方法任选;
import arcpy
# 定义添加文件到当前图层的函数add_currentMxd()
def add_currentMxd(fileDir):
mxd = arcpy.mapping.MapDocument("CURRENT")
df = arcpy.mapping.ListDataFrames(mxd)[0]
addLayer = arcpy.mapping.Layer(fileDir)
arcpy.mapping.AddLayer(df, addLayer, "AUTO_ARRANGE")
# 图层刷新
arcpy.RefreshActiveView()
arcpy.RefreshTOC()
del mxd
arcpy.env.overwriteOutput = True
# 文件路径设置
pointFile = arcpy.GetParameterAsText(0) # 插值点文件
outFolder = arcpy.GetParameterAsText(1) # 输出文件夹
outFile = outFolder + "/JS_County_Point3_"
# 环境设置
maskFile = arcpy.GetParameterAsText(2) # 掩膜文件
arcpy.env.workspace = "D:/Geo_Task/WorkSpace" # 设置工作空间
arcpy.env.mask = maskFile # 设置掩膜文件
arcpy.env.extent = maskFile # 设置处理范围
arcpy.CheckOutExtension("Spatial")
IDW_Flag = arcpy.GetParameterAsText(3)
Kriging_Flag = arcpy.GetParameterAsText(4)
Spline_Flag = arcpy.GetParameterAsText(5)
# 插值参数设置
zField = "Num" # 插值字段:Z值字段
# 输出文件名称设置
IDW_outFileName = "IDW_1.tif"
Kriging_outFileName = "Kriging_1.tif"
Spline_outFileName = "Spline_1.tif"
# 输出像元大小设置
cellSize = "1.74676370500002E-02"
# IDW插值-反距离权重法
if IDW_Flag == 'true':
arcpy.AddWarning("IDW插值中……")
arcpy.gp.Idw_sa(pointFile, # 输入点要素
zField, # Z值字段
# 输出栅格路径
outFile + IDW_outFileName,
cellSize, # 输出像元大小
"2",
"VARIABLE 12", # 搜索半径点数
"")
arcpy.AddMessage("IDW插值完成!")
add_currentMxd(outFile + IDW_outFileName)
# Kriging插值-克里金法
if Kriging_Flag == 'true':
arcpy.AddWarning("Kriging插值中……")
arcpy.gp.Kriging_sa(pointFile,
zField,
outFile + Kriging_outFileName,
# 半变异模型-球面函数,步长大小
"Spherical 0.015495",
cellSize,
"VARIABLE 12", # 搜索半径点数
"")
arcpy.AddMessage("Kriging插值完成!")
add_currentMxd(outFile + Kriging_outFileName)
# Spline插值-样条函数法
if Spline_Flag == 'true':
arcpy.AddWarning("Spline插值中……")
arcpy.gp.Spline_sa(pointFile,
zField,
outFile + Spline_outFileName,
cellSize,
"TENSION", # 样条函数类型
"0.1", # 权重
"12" # 点数
)
arcpy.AddMessage("Spline插值完成!")
add_currentMxd(outFile + Spline_outFileName)
arcpy.AddMessage("插值结束!")
arcpy.AddWarning("生成文件已添加至当前图层!")
Lucky_云佳
- 粉丝: 1545
- 资源: 4
最新资源
- 基于Html和Shell的“老罗投资/知行合一日拱一卒投资人生”主题设计源码
- 基于Java的OnlineMusic在线音乐播放器设计源码
- comsol多场耦合 水合物降压降压开采THMC,注气驱替甲烷THM,地质封存等多场耦合收敛技术,相关地质能源开采类多场耦合仿真案列分析,包括岩土类地质灾害防护,煤层气、页岩气开采,咸水封存co2,H
- 模糊逻辑控制(FLC)Matlab simulink仿真搭建模型: 提供以下帮助 波形纪录 参考文献 仿真文件 原理解释 电机参数说明 仿真原理结构和整体框图
- 基于ThinkPHP5+Vue3的RBAC权限控制前后端分离管理系统设计源码
- 基于.Net6架构的轻量级前后端分离微服务开发框架设计源码
- 主机厂基于Simulink MBD新能源电动汽车主驱电驱控制器算法模型及开发资料,量产模型,量产软件,量产代码,软件架构设计,输入输出定子,单元测试,MIL测试资料 Sumlink MCU电机控制策
- 基于微信小程序的JavaScript/TypeScript答题小程序设计源码
- 基于QT框架的语音图像识别与数据库操作综合练手小demo设计源码
- FDTD超材料吸收器吸收光谱
- 基于Vue框架的求职招聘系统移动端(Uniapp)设计源码
- 电压型同步发电机(VSG)离网仿真模型,包含电压电流双闭环,有功无功外环控制,阻抗 仅模型 MATLAB的2018以上版本都可以
- 基于MATLAB和Python的多种数据分析方法与图表生成设计源码
- 台式三轴自动螺丝机(sw16可编辑+工程图+bom)全套技术资料100%好用.zip
- 基于Vue框架的酒店管理小程序设计源码
- 基于TypeScript的鸿蒙移动应用程序个人日记本设计源码
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈