java for arcgis 之——将shapefile导入SDE

本文介绍了如何在Java环境中将shapefile数据导入到SDE。首先,确保安装arcgis客户端和Oracle客户端,并在工程中添加arcobject.jar。关键步骤包括在VMOptions中设置java.library.path,初始化ArcEngine环境,然后通过代码实现shapefile到SDE的转换和导入。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

环境:1.安装arcgis客户端(百度有)

         2.在该路径下ArcGIS\Desktop10.2\java\lib 找到arcobject.jar  这是java对arcgis二次开发所需的jar包,添加到工程中(百度有)

          3.SDE本人采取的直连oracle的方式,也是查询资料后推荐的方式(需要本地安装oracle客户端,具体见百度)

以上环境准备好直接上代码

注意:!!!!!

            1.这里是很关键的地方,java在使用arcobject.jar时需要在VMOptions中添加一个java命令,目的是告诉jvm去寻找arcgis的dll组件,因为java不能像C#完美调用本地客户端服务

            -Djava.library.path="C:\Program Files (x86)\ArcGIS\Desktop10.2\bin"  -Dfile.encoding=UTF8 

            路径写自己的arcgis安装路径。

             2.java调用arcgis服务时必须先初始化ArcEngine环境,这会在代码中体现,个人猜测应该是调用组件的引擎

代码:

先讲下代码思路:shapefile-->shapefile的featureClass,SDE-->SDE的featureClass,shpFeatureClass插入到SDEFeatureClass中

初始化ArcEngine:

private static AoInitialize ao = null;

/**
 * 初始化ArcEngne
 * java操作arcgis必须先初始化ArcEngne环境  否则报错
 *
 */
public static void initializeArcGISLincenses(){
    /*所有AE10的与AE10.1以后版本的对应关系

    esriLicenseProductCodeArcInfo ==》esriLicenseProductCodeAdvanced
    esriLicenseProductCodeArcEditor==》esriLicenseProductCodeStandard
    esriLicenseProductCodeArcView ==》esriLicenseProductCodeBasic*/

    EngineInitializer.initializeVisualBeans();
    EngineInitializer.initializeEngine();
    try {
        ao = new AoInitialize();
        if (ao.isProductCodeAvailable(esriLicenseProductCode.esriLicenseProductCodeAdvanced) == esriLicenseStatus.esriLicenseAvailable){
            ao.initialize(esriLicenseProductCode.esriLicenseProductCodeAdvanced);
        }else {
            System.out.print("lincense f
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值