第一次做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);
}