ArcGIS Engine 10.5下构建Java程序—轻松入门

0
分享 2017-11-17
虽然接触Engine Java的时间比较长,也接触过用户的一些问题,但是一般都是直接从ArcObjects SDK for Java的示例工程中找一个,然后测试用户代码,并没有自己动手搭建过Engine Java工程,尤其是带控件的,今天正好有用户问起,就动手搭建工程测试一下。现把详细的流程写下来,希望对刚刚开始进行Engine Java开发的用户有所帮助。
一、 环境的准备
1,Engine Java 的环境配置:
安装Java JDK,ArcObjects SDK 10.5的系统需求:支持Java JDK 8 Update 65以及之后的版本,注意必须是32位。
安装Java开发所需要的IDE,我用的是Mars.2 Release (4.5.2) Eclipse。
安装ArcObjects SDK for Java 10.5(当然之前需要先安装好ArcGIS Engine 10.5),在ArcGIS Engine和ArcObjects SDK for Java的安装过程中会自动向操作系统的环境变量中添加环境变量,通常我都没有再手动设置过环境变量,运行示例程序也能成功,假如运行不成功,有可能需要进行环境变量的配置,参考技术文章
2,安装ArcGIS PlugIn
ArcGIS PlugIn位于C:\Program Files (x86)\ArcGIS\DeveloperKit10.5\java\tools\eclipse_plugin\arcgis_update_site\arcobjects (您机子上AO SDK的安装路径)文件夹。Eclipse里安装plugin插件流程如下:
点击Help->Install New Software:

弹出界面中选择Local,然后选择该文件夹:

接着会弹出下面界面(由于我本机已经装好了,没有这个界面,所以我找了个10.2的虚拟机截图):

这里有一点需要注意:开始安装完成时,会提示Esri ArcObjects Palette无法安装,缺少相应的文件,这时需要把ve文件夹中的内容拷贝到Eclipse软件路径的Features文件夹下(比如D: \Java\eclipse-java-mars-2-win32\eclipse\features),然后再次安装就可以成功了。
二、创建Engine Java模版工程
在File->New->Project,就会弹出下面界面:

如果进行Engine开发的话,可以直接选择ArcObjects Project,如果进行Add-in扩展的话则选择下面的模版。
下一步可以选择是进行Map、Scene还是Globe显示,此外还可以直接添加工具和mxd:

Next,弹出初始化许可界面,可以勾选要用的主许可和扩展许可:

点击Finish,然后运行该BasicViewer.java即可弹出下面界面:

这样一个模版工程就搭建好了,有没有注意到,一句代码都木有写!!!但还是有用户说,虽然Esri提供的模版既方便又快捷,但是我不想用怎么办?比如我就想自己手动搭建一个这样的界面,好吧,接着往下看。
三、创建自定义界面
如果想直接拖动MapBean、TOCBean、ToolbarBean等控件进行设计界面的话,还需要安装WindowBuilder,以Mars.2 Release (4.5.2) Eclipse为例,我用的WB_v1.8.0_UpdateSite_for_Eclipse4.5.zip,可以点击下载
下载成功后,继续用上面安装ArcGIS PlugIn的方法安装,点击Archive,选择本地的WB所在文件即可:

安装完成后,新建一个JFrame,打开Design界面:

也可以选中Open With->WindowBuilder Editor,打开设计界面:

在Palette 处点击会弹出一个上下文菜单,选择Add category,新建一个名为ArcObjects的空category:

点击刚刚新建的ArcObjects,选择Import Jar:

打开arcobjects.jar(C:\Program Files (x86)\ArcGIS\Engine10.5\java\lib)所在路径,会弹出所包含的控件,在可能用到的控件前打钩即可:

点击OK之后,返回Design界面,就可以看到ArcObjects的这些控件了,可以直接使用:

双击控件,然后在窗体中选择相应的布局即可:

界面设计好后可以添加工具,选中ToolbarControl->Custom,添加Item:

界面设计好后回到代码界面,可以进行许可的初始化,在代码处点击,选择ArcGIS->Insert License Code:

弹出许可界面,选择所需的许可:

点击OK,会在代码中添加下面初始化许可的函数:
void initializeArcGISLicenses() {
try {
com.esri.arcgis.system.AoInitialize ao = new com.esri.arcgis.system.AoInitialize();
if (ao.isProductCodeAvailable(com.esri.arcgis.system.esriLicenseProductCode.esriLicenseProductCodeEngine) == com.esri.arcgis.system.esriLicenseStatus.esriLicenseAvailable)
ao.initialize(com.esri.arcgis.system.esriLicenseProductCode.esriLicenseProductCodeEngine);
} catch (Exception e) {
e.printStackTrace();
}
}



最后再在程序入口处添加EngineInitializer.initializeVisualBeans();即可运行成功:

文章的最后强调一点:如果没有安装ArcGIS PlugIn或者使用模版的话,需要在Project->Properties->Java Build Path,右侧Libraries,添加arcobjects.jar和jre,如图:

文章来源:http://blog.csdn.net/xinying180/article/details/78563400

0 个评论

要回复文章请先登录注册