ArcGIS Engine 10.5下構建Java程序—輕鬆入門

雖然接觸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:

1

彈出界面中選擇Local,然後選擇該文件夾:

2

接着會彈出下面界面(由於我本機已經裝好了,沒有這個界面,所以我找了個10.2的虛擬機截圖):

3

這裏有一點需要注意:開始安裝完成時,會提示Esri ArcObjects Palette無法安裝,缺少相應的文件,這時需要把ve文件夾中的內容拷貝到Eclipse軟件路徑的Features文件夾下(比如D: \Java\eclipse-java-mars-2-win32\eclipse\features),然後再次安裝就可以成功了。

二、創建Engine Java模版工程

在File->New->Project,就會彈出下面界面:

4

如果進行Engine開發的話,可以直接選擇ArcObjects Project,如果進行Add-in擴展的話則選擇下面的模版。

下一步可以選擇是進行Map、Scene還是Globe顯示,此外還可以直接添加工具和mxd:

5

Next,彈出初始化許可界面,可以勾選要用的主許可和擴展許可:

6

點擊Finish,然後運行該BasicViewer.java即可彈出下面界面:

7

這樣一個模版工程就搭建好了,有沒有注意到,一句代碼都木有寫!!!但還是有用戶說,雖然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所在文件即可:

8

安裝完成後,新建一個JFrame,打開Design界面:

9

也可以選中Open With->WindowBuilder Editor,打開設計界面:

10

在Palette 處點擊會彈出一個上下文菜單,選擇Add category,新建一個名爲ArcObjects的空category:

11

點擊剛剛新建的ArcObjects,選擇Import Jar:

12

打開arcobjects.jar(C:\Program Files (x86)\ArcGIS\Engine10.5\java\lib)所在路徑,會彈出所包含的控件,在可能用到的控件前打鉤即可:

13

點擊OK之後,返回Design界面,就可以看到ArcObjects的這些控件了,可以直接使用:

14

雙擊控件,然後在窗體中選擇相應的佈局即可:

15

界面設計好後可以添加工具,選中ToolbarControl->Custom,添加Item:

16

界面設計好後回到代碼界面,可以進行許可的初始化,在代碼處點擊,選擇ArcGIS->Insert License Code:

17

彈出許可界面,選擇所需的許可:

18

點擊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();即可運行成功:

19

文章的最後強調一點:如果沒有安裝ArcGIS PlugIn或者使用模版的話,需要在Project->Properties->Java Build Path,右側Libraries,添加arcobjects.jar和jre,如圖:

20

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章