arcgis java调用AE多波段合成实现
2013-07-10 12:48
316 查看
一般条件下运营商提供的影像都是分波段文件提供的,无法展现影像的颜色效果,通过arcgis提供的波段合成功能达到影像彩色。
通过java调用AE运行,具体代码实现如下:
初始化运行条件
效果图:
通过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");
效果图:
相关文章推荐
- JAVA基于AE调用GP实现泰森多边形
- Java采用Jacob调用SAPI实现合成语音
- Java调用AE实现创建泰森多边形(voronoi图)
- JAVA基于AE调用GP实现泰森多边形
- 将c++静态库实现二次封装供java调用
- java学习笔记之webservice(五)--实现手机号归属地的WebService调用
- Java 调用webservice 实现天气预报.doc
- 二、Cocos2dx中Android部分的c++和java实现相互调用(高级篇)
- java实现C语言编译器:实现有参数的函数调用
- Java调用微信客服消息实现发货通知的方法详解
- Java调用DOS命令实现定时关机功能
- java调用R语言实现神经网络
- java调用NLPIR(ICTCLAS2016)实现分词功能
- JNI简单实现Java调用C++/C的HelloWorld
- 用java的jni调用C语言的API,实现带图形界面的一元稀疏多项式计算器
- java实现输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。
- 用java实现Hadoop中HDFS的函数调用
- java实现调用打印机代码详解
- JAVA调用Oracle存储过程的实现方法
- java调用sqlldr导入csv文件数据到临时表(代码实现)