免费视频|新人指南|投诉删帖|广告合作|地信网APP下载

查看: 3342|回复: 4
收起左侧

[二次开发] 求助:ArcGIS Engine MosaicToNewRaster的参数

[复制链接]

2

主题

235

铜板

1

好友

技术员

Rank: 3Rank: 3

积分
18
发表于 2018-2-23 17:17 | 显示全部楼层 |阅读模式
123.jpg
如图,mosaic.input_rasters的参数应该是什么?这儿执行的时候一直有问题,请各位指教一下!
如果不用这个gp方法的话,还有什么方法可以实现MosaicToNewRaster的效果?

2

主题

235

铜板

1

好友

技术员

Rank: 3Rank: 3

积分
18
 楼主| 发表于 2018-2-23 17:18 | 显示全部楼层
//GP工具进行Mosaic操作
Geoprocessor gp = new Geoprocessor();
gp.OverwriteOutput = true;
MosaicToNewRaster mosaic = new MosaicToNewRaster();
mosaic.input_rasters = selectedRasterLayers; //TODO 参数是不是有问题啊?
mosaic.number_of_bands = 1;
mosaic.output_location = savePath;
mosaic.raster_dataset_name_with_extension = saveName + saveFormat;
mosaic.pixel_type = "8_BIT_UNSIGNED";
mosaic.cellsize = 20;
gp.Execute(mosaic, null);
————————————————————
如果看不到图的话,代码附上,谢谢!
回复 支持 反对

使用道具 举报

141

主题

982万

铜板

3万

好友

管理员

Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20

积分
621915
发表于 2018-2-24 14:02 | 显示全部楼层
请论坛各位高手回答下楼主的提问,会奖励相应的铜板和威望的哦!
回复 支持 反对

使用道具 举报

2

主题

235

铜板

1

好友

技术员

Rank: 3Rank: 3

积分
18
 楼主| 发表于 2018-2-24 14:26 | 显示全部楼层
已解决,将入参改为字符串后解决。代码如下:
  1. string selectedFiles = string.Empty;
  2.             for (int i = 0; i < map.LayerCount; i++)
  3.             {
  4.                 ILayer layer = map.get_Layer(i);
  5.                 if (layer.Visible)
  6.                 {
  7.                     IRasterLayer rasterLayer = layer as IRasterLayer;
  8.                     selectedFiles += rasterLayer.FilePath + ";";
  9.                 }
  10.             }
  11. ...
  12. mosaic.input_rasters = selectedFiles;
复制代码

之后看到知乎上也有同样的解释帖子,链接:http://zhihu.esrichina.com.cn/question/12458
回复 支持 反对

使用道具 举报

2

主题

235

铜板

1

好友

技术员

Rank: 3Rank: 3

积分
18
 楼主| 发表于 2018-2-24 14:28 | 显示全部楼层
已解决,将入参改为字符串后解决。
代码如下:

  1. string selectedFiles = string.Empty;
  2. for (int i = 0; i < map.LayerCount; i++)
  3. {
  4.       ILayer layer = map.get_Layer(i);
  5.       if (layer.Visible)
  6.       {
  7.             IRasterLayer rasterLayer = layer as IRasterLayer;
  8.             selectedFiles += rasterLayer.FilePath + ";";
  9.         }
  10. }
  11. ...
  12. mosaic.input_rasters = selectedFiles;
复制代码

之后看到知乎上也有同样的解释帖子,链接:http://zhihu.esrichina.com.cn/question/12458
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

在线客服
快速回复 返回顶部 返回列表