`
lozpeng
  • 浏览: 39422 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

ArcSDE SDK获取SDE注册字段名

 
阅读更多
  /**获取本图层关联的字段名和字段别名
     * 
     * @return 字段名和字段别名
     */
    public java.util.Map<String, String> getFields()
    {
    	final Command<java.util.Map<String, String>> queryCmd = new Command<java.util.Map<String, String>>(){
            @Override
            public java.util.Map<String, String> execute(ISession session, SeConnection seConn) throws SeException,IOException {
            	java.util.Map<String, String> fieldNames = new HashMap<String,String>();
            	
            	//取得class的ID编号
            	SeSqlConstruct objIdSeSql = new SeSqlConstruct("SDE.GDB_OBJECTCLASSES");// 构建空间查询表达式
                String[] Qcols1= new String[1];
                Qcols1[0] ="ID";
                
                StringBuilder sqlSb = new StringBuilder();
                sqlSb.append("NAME='").append(lyrName).append("'");
                objIdSeSql.setWhere(sqlSb.toString());
                
                final SeQuery query1 = new SeQuery(seConn, Qcols1, objIdSeSql);
                query1.prepareQuery();
                query1.execute();
                SeRow row1 = query1.fetch();
                if(row1==null)return fieldNames;
                int objId =row1.getInteger(0);
                if(objId<=0)return fieldNames;
                query1.close();
                
                String[] Qcols= new String[2];
                Qcols[0]="FIELDNAME";
                Qcols[1]="ALIASNAME";
                
                StringBuilder sb = new StringBuilder();
                sb.append("CLASSID=").append(objId);
                
                SeSqlConstruct sqlCons = new SeSqlConstruct("SDE.GDB_FIELDINFO");// 构建空间查询表达式
                sqlCons.setWhere(sb.toString());
                final SeQuery query2 = new SeQuery(seConn, Qcols, sqlCons);
                query2.prepareQuery();
                query2.execute();
                SeRow row2 = query2.fetch();
                while(row2!=null)
                {
                	String name = row2.getString(0);
                	String alias = row2.getString(1);
                	fieldNames.put(name, alias);
                    row2 = query2.fetch();
                }
                query2.close();
                return fieldNames;
            }
        };
        try
        {
            return this.sdeSession.issue(queryCmd);
        }
        catch(Exception ex)
        {
            ex.printStackTrace();
            return Collections.emptyMap();
        }
    }

分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    ArcSDE sdk 开发Jar包及文档

    ArcSDE sdk 开发Jar包及文档,可以立即开始开发使用。

    ArcSde_SDK_9.3_C

    这个文件可能是ArcSDE C API SDK的安装程序,它将指导用户完成安装过程,包括注册库文件、设置环境变量、提供示例代码和开发文档等。 总的来说,ArcSde_SDK_9.3_C是一个针对ArcSDE 9.3版本的C和C++开发工具包,包含...

    ArcSDE SDK Java 快速实践.pdf

    ### ArcSDE SDK Java 快速实践概览 #### 一、几何对象 在ArcSDE SDK中,几何对象是GIS应用开发的核心组成部分之一。这些对象不仅被用于表示空间数据,还支持各种空间分析功能。根据给定文档的描述,ArcSDE SDK中的...

    arcsde_sdk_9.3_java

    《ArcSDE SDK 9.3 for Java:二次开发的核心工具》 ArcSDE SDK 9.3 for Java,作为一款专为Java平台设计的软件开发工具包,为GIS(地理信息系统)领域的开发者提供了强大的支持,使他们能够进行深度集成和定制化的...

    ArcSDE空间数据库中SDE用户使用探讨

    ### ArcSDE空间数据库中SDE用户使用探讨 #### ArcSDE的工作原理与角色 ArcSDE是由ESRI开发的一款空间数据库引擎,它主要作为中间件技术,为Oracle、SQL Server、PostgreSQL等传统关系型数据库提供空间数据的存储与...

    geoserver-2.16.4-arcsde-plugin.zip

    《Geoserver 2.16.4与ArcSDE插件详解》 在地理信息系统(GIS)领域,Geoserver作为一款开源的地理空间服务器,因其强大的功能和灵活的扩展性而广受青睐。而ArcSDE则是Esri公司提供的一个用于管理和访问大容量空间...

    ArcSde for java 的jar包

    2. **jsde_sdk.jar**:JavaScript for SDE (JSDE) SDK的Java版本,主要用于在Web应用程序中与ArcSDE进行交互。这个库提供了与jpe_sdk.jar类似的接口,但更偏向于Web环境下的使用,支持在JavaScript中调用,便于构建...

    Arcsde安装包

    1. **下载安装包**:首先,你需要获取ArcSDE的安装包,通常这是一个包含所有必要文件的压缩包,如本例中的"setup"文件。 2. **解压安装文件**:将压缩包解压到一个指定的文件夹,确保你有权限访问和修改其中的内容...

    《ArcSDE轻松入门》ESRI系列教材之3/17

    《ArcSDE轻松入门》是ESRI中国公司推出的一本针对ArcGIS软件的系列教材,主要聚焦于ArcSDE的学习与应用。ArcSDE,全称为ArcSpatial Data Engine,是ESRI开发的一个强大的地理空间数据库管理系统,用于在企业级环境中...

    ArcGIS中ArcSDE SDK程序包9.3版本合集lib.rar

    jsde_sdk.jar Contains the ArcSDE Client, and Geometry Java API class files. jpe_sdk.jar Contains the ArcSDE Projection Engine Java API class files. concurrent.jar Provides standardized, efficient ...

    arcsde9.3安装与配置

    - **创建 sde 用户**:在 SQL Server 中预先创建一个名为 `sde` 的用户账号,该账号将被用于 ArcSDE 的安装与配置过程中。 ##### 2. 完整安装 - **选择安装模式**:在 ArcSDE 安装向导中,选择“Complete”模式来...

    ArcSDE 10.2 FOR Oracle10g、11g安装包

    5. **数据存储**:ArcSDE在Oracle中创建特殊的数据表结构,如SDE版图(versioned tables)和多版本GIS数据,支持事务处理和并发编辑,确保数据的一致性和完整性。 6. **数据访问**:通过ArcGIS Desktop或ArcGIS ...

    arcgis_10_sde_arcsde_10_安装图文教程

    arcsde10 安装教程

    ArcSde UNIX 安装手册-SDE用户

    《ArcSDE UNIX 安装手册-SDE用户》是一份详细的指南,主要针对那些需要在UNIX环境下安装ArcSDE的SDE用户。该手册详细阐述了安装过程,并附带操作截图,确保步骤清晰易懂,确保用户能够按照指导顺利完成安装。 在...

    ArcSDE C API

    包含: ArcSDE C API参考手册 ArcSDE JAVA API参考手册 ArcSDE API Samples使用程序实例

    ArcSDE9.0~9.3_JAVA开发包

    //可以自己添加一些语句以支持ArcSDE列的所有数据类型。 // ( See Working with Layers Example ) switch( dataType ) { case SeColumnDefinition.TYPE_STRING: System.out.println(colDef.getName()+ row....

    arcsdeserver(esri_sde)启动报错问题处理.pdf

    但是,在 sde_esri_sde.log 文件中,我们看到错误信息“unable to initialize sockets for listening(-102)”,这表明 ArcSDE 服务器无法初始化监听。 解决方法 1. 首先,需要检查 giomgr.exe 进程是否存在于任务...

    ArcSDE C API示例

    3. **数据查询**:使用`sde_query`函数执行SQL查询,获取地理空间数据。可以根据需要定制查询条件,如空间过滤、属性过滤等。 4. **数据编辑**:ArcSDE C API支持数据的添加、修改和删除操作。`sde_insert`、`sde_...

Global site tag (gtag.js) - Google Analytics