Arcgis ModelBuilder给插值工具设置范围和颜色

第一次做ModelBuilder各种生疏,我的目的是插值得到合适大小的图层,然后按照一个特定边界进行裁剪

1、直接用工具操作


直接使用时,双击Spline,选择数据,此时可以点击environment进行范围设置



点击OK可以得到合适大小,然后点击Extract byMask进行裁剪,得到黑乎乎的,然后进行换色。


最终得到


2、用ModelBuilder进行操作。

把那两个工具和数据图层拖进去就行,分别双击两个工具,选择相应数据即可。

可是这次设置范围时双击“Spline”却是“Apply”而不是“environment”。


这个有两种解决方法:

1、右键Spline工具



点击“Values”后设置相应范围就可以了,然后就会出现上图中的虚线箭头

2、更改Model的属性



但是ModelBuilder中设置颜色有被困惑了,在师兄提醒下终于会了,提前弄好一个保存成模板

比如将之前做好颜色的保存成lry图层


然后右键要输出图层的属性,选中提前保存的模板,这样就弄好颜色了

或者用工具也可以设置颜色样式的,只不过步骤稍微多一点


应用Apply Symbology From Layer的图层也必须先转换成layer,所以在这之前得用一个Make Raster Layer工具。

3、在ArcEngine中条用GP但是输出出来的还是没有样式,这个得用代码来写了

            Geoprocessor gp = new Geoprocessor();
            gp.OverwriteOutput = true;
            gp.AddToolbox(@"E:\testRainData\MyToolBox.tbx");
            IVariantArray parameters = new VarArrayClass();
            parameters.Add(@"E:\testRainData\layer\雨量监测器.shp");
            parameters.Add(@"E:\testRainData\layer\边界.shp");
            parameters.Add(@"E:\testRainData\output\result");
            try
            {
                gp.Execute("Model2", parameters, null);

//执行gp后用代码设置样式并输出到axMapControl;
                IRasterLayer rasterLayer = new RasterLayerClass();
                rasterLayer.CreateFromFilePath(@"E:\testRainData\output\result"); 
                ESRI.ArcGIS.DataManagementTools.ApplySymbologyFromLayer appSymbol = new ApplySymbologyFromLayer();
                appSymbol.in_layer = rasterLayer;
                appSymbol.in_symbology_layer = @"E:\testRainData\color2.lyr";
                gp.Execute(appSymbol, null);
                axMapControl1.AddLayer(rasterLayer, 0);
            }

### 如何在 ArcGIS 中创建插值等高线 #### 创建 TIN 表面 为了生成插值等高线,在 ArcGIS 中通常先要创建一个不规则三角网 (TIN) 表面。这可以通过使用包含高程信息的要素(如点、线面)来完成[^4]。 对于点数据,这些通常是离散的高度测量值的位置;而带高度信息的线则用于强调地形特征,比如湖泊、河流、山脊以及山谷等地貌结构。至于面,则主要用于限定 TIN 的边界范围以便更好地适应特定的研究区域需求。 ```python import arcpy # 设置工作空间环境 arcpy.env.workspace = "C:/data" # 定义输入要素类路径及字段名 in_point_features = "elevation_points.shp" z_field = "ELEVATION" # 输出 TIN 文件路径 out_tin = "tin_surface.tin" # 使用 CreateTin 函数创建 TIN 数据集 arcpy.CreateTin_3d(out_tin, "", f"{in_point_features} Mass_Points {z_field}") ``` #### 插值得到栅格表面 一旦有了 TIN 或其他类型的三维表面模型之后,下一步就是将其转换成能够支持更广泛分析操作的形式——即栅格图像。这里推荐的方法之一是反距离加权(IDW),它属于一种常见的空间插值技术,适用于从已知样本点预测未知位置处属性值的情况[^3]。 ```python from arcpy.sa import * # 输入 TIN 输出 IDW 栅格文件路径 idw_raster_output = "idw_elevations.tif" # 应用 IDW 工具执行插值运算并保存结果至指定位置 idw_result = Idw(in_point_features, z_field) idw_result.save(idw_raster_output) ``` #### 提取等高线 当拥有了经过平滑处理后的连续型地表模型后,就可以从中提取出代表不同海拔级别的闭合曲线集合—也就是所谓的“等高线”。这项任务可通过 Contour 地理处理工具轻松实现: ```python # 设定等距间隔参数 contour_interval = 10 # 指定输出等高线 shapefile 路径 output_contours = "contours.shp" # 运行 Contour 工具获取最终产品 arcpyContoursFromRaster_3d(idw_raster_output, output_contours, contour_interval) ``` 上述过程展示了如何利用 Python 脚本自动化的方式,在 ArcGIS 平台上高效地完成了从原始观测站点坐标到可视化表达之间的一系列关键步骤变换。当然除了编程接口外,ArcGIS Desktop 用户也可以借助图形化界面下的 ModelBuilder 来设计相似的工作流逻辑。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值