arcgis java调用AE多波段合成实现

10 篇文章 0 订阅

一般条件下运营商提供的影像都是分波段文件提供的,无法展现影像的颜色效果,通过arcgis提供的波段合成功能达到影像彩色。

通过java调用AE运行,具体代码实现如下:

初始化运行条件

/**
	 * 初始化ArcgisEngine
	 */
	public static void initializeAE() {
		EngineInitializer.initializeVisualBeans();
		EngineInitializer.initializeEngine();
		try {
			com.esri.arcgis.system.AoInitialize ao = new com.esri.arcgis.system.AoInitialize();
			ao.initialize(com.esri.arcgis.system.esriLicenseProductCode.esriLicenseProductCodeArcInfo);
			if (ao.isProductCodeAvailable(com.esri.arcgis.system.esriLicenseProductCode.esriLicenseProductCodeArcInfo) == com.esri.arcgis.system.esriLicenseStatus.esriLicenseAvailable)
				ao.initialize(com.esri.arcgis.system.esriLicenseProductCode.esriLicenseProductCodeArcInfo);
			else
				System.out.println("license failed");
			ao.checkOutExtension(com.esri.arcgis.system.esriLicenseExtensionCode.esriLicenseExtensionCode3DAnalyst);
			ao.checkOutExtension(com.esri.arcgis.system.esriLicenseExtensionCode.esriLicenseExtensionCodeSpatialAnalyst);
			ao.checkOutExtension(com.esri.arcgis.system.esriLicenseExtensionCode.esriLicenseExtensionCodeSpatialAnalyst);
			ao.initialize(esriLicenseProductCode.esriLicenseProductCodeEngine);
			ao.initialize(esriLicenseProductCode.esriLicenseProductCodeEngineGeoDB);
			ao.initialize(esriLicenseProductCode.esriLicenseProductCodeArcEditor);
			ao.checkOutExtension(esriLicenseExtensionCode.esriLicenseExtensionCodeSpatialAnalyst);
			System.out.println("AE初始化成功");
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
代码多波段合成
public void compositeBands (String  inPath , String outPath ) {
	 	
		CompositeBands compositeBands = new CompositeBands();
		
		compositeBands.setInRasters(inPath);
		compositeBands.setOutRaster(outPath);
		
		GeoProcessor geoprocessor;
		GPTool pGPProcess = compositeBands;
		try {
			geoprocessor = new GeoProcessor();
			geoprocessor.setOverwriteOutput(true);
			geoprocessor.execute(pGPProcess, null);
		} catch (IOException e) {
			e.printStackTrace();
		}
	 }
代码执行调用
RastersToMosaicDataset.initializeAE();
		RastersToMosaicDataset add = new RastersToMosaicDataset();
		String arrys = "D:\\HJ1A-CCD1-7-116-20130707-L20001018860\\1018860\\HJ1A-CCD1-7-116-20130707-L20001018860-1.TIF;D:\\HJ1A-CCD1-7-116-20130707-L20001018860\\1018860\\HJ1A-CCD1-7-116-20130707-L20001018860-2.TIF;D:\\HJ1A-CCD1-7-116-20130707-L20001018860\\1018860\\HJ1A-CCD1-7-116-20130707-L20001018860-3.TIF;D:\\HJ1A-CCD1-7-116-20130707-L20001018860\\1018860\\HJ1A-CCD1-7-116-20130707-L20001018860-4.TIF";
		add.compositeBands(arrys, "D:\\HJ1A-CCD1-7-116-20130707-L20001018860\\1018860\\HJ1A-CCD1-7-116-20130707-L20001018860-all.TIF");

效果图:


评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值