AE+C#将E00数据导入到ArcSDE中去

2024-03-05 00:18

本文主要是介绍AE+C#将E00数据导入到ArcSDE中去,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

介绍两种AE+C#E00数据导入到ArcSDE中去的方法。

首先,需要将AE的互操作扩展的授权加上,我们在VS2010中新建一个WinFrom工程,引入一个License Control,设置如下图

 

然后,需要增加一个连接SDE数据库的方法

 

 

 

       publicstaticIPropertySet getPropertySet()

 

       {

 

           IPropertySet Propset = newPropertySetClass();

 

           try

 

           {

 

                Propset.SetProperty(“SERVER, “esri-2003);

 

                Propset.SetProperty(“INSTANCE, “port:5151);

 

                Propset.SetProperty(“USER, “sde);

 

                Propset.SetProperty(“PASSWORD, “sde);

 

                Propset.SetProperty(“DATABASE, “orcl);

 

                Propset.SetProperty(“VERSION, “SDE.DEFAULT);

 

 

 

                returnPropset;

 

           }

 

           catch (Exception ex)

 

           {

 

                stringmsg = ex.Message;

 

                returnPropset;

 

           }

 

       }

 

 

 

 

 

方法一:通过GP调用FeatureClassToGeodatabase组件实现E00数据导入到ArcSDE中。

 

       ///<summary>

 

       ///

 

       ///</summary>

 

       ///<param name=”e00path”></param>

 

       ///<param name=”sdePath”>不带图层名称</param>

 

       publicstaticvoid e00FeatureClassToGeodatabase(string e00path, string sdePath)

 

       {

 

           ESRI.ArcGIS.ConversionTools.FeatureClassToGeodatabase featureClassToGeodatabase= newFeatureClassToGeodatabase();

 

           featureClassToGeodatabase.Output_Geodatabase = sdePath;

 

           featureClassToGeodatabase.Input_Features = e00path;

 

           Geoprocessor geoprocessor = newGeoprocessor();

 

           geoprocessor.OverwriteOutput = true;

 

           try

 

           {

 

               geoprocessor.Execute(featureClassToGeodatabase, null);

 

                stringmess = null;

 

                for (int k = 0; k < geoprocessor.MessageCount; k++)

 

                {

 

                    mess +=geoprocessor.GetMessage(k) +
;

 

                }

 

                MessageBox.Show(mess);

 

           }

 

           catch (Exception ex)

 

           {

 

                stringmess = null;

 

                for (int k = 0; k < geoprocessor.MessageCount; k++)

 

                {

 

                    mess +=geoprocessor.GetMessage(k) +
;

 

                }

 

           }

 

       }

 

 

 

 

 

 

 

方法二:通过GP调用CopyFeatures组件实现E00数据导入到ArcSDE中。

 

 

 

       ///<summary>

 

       ///

 

       ///</summary>

 

       ///<param name=”e00Path”></param>

 

       ///<param name=”sdePath”>带图层名称</param>

 

       publicstaticvoid e00CopyFeaturesToSDE(string e00Path, stringsdePath)

 

       {

 

           IVariantArray parameters = newVarArrayClass();

 

           parameters.Add(e00Path);

 

           parameters.Add(sdePath);

 

           Geoprocessor geoprocessor = newGeoprocessor();

 

           geoprocessor.OverwriteOutput = true;

 

           try

 

           {

 

                geoprocessor.Execute(“CopyFeatures, parameters, null);

 

 

 

                stringmess = null;

 

                for (int k = 0; k < geoprocessor.MessageCount; k++)

 

                {

 

 

 

                    mess +=geoprocessor.GetMessage(k) +
;

 

 

 

                }

 

           }

 

           catch (Exception ex)

 

           {

 

                stringmess = null;

 

                for (int k = 0; k < geoprocessor.MessageCount; k++)

 

                {

 

                    mess +=geoprocessor.GetMessage(k) +
;

 

                }

 

           }

 

       }

 

 

 

 

 

然后在窗体上增加一个按钮Button1,增加Click事件

 

 

 

       privatevoid button1_Click(object sender, EventArgs e)

 

       {

 

           string path = @”C:est;

 

           string sdeName = @”test.sde;

 

           string sdePath = path + “\ + sdeName;

 

           if (File.Exists(sdePath))

 

           {

 

                File.Delete(sdePath);

 

           }

 

           IWorkspaceFactory workspaceFactory = newSdeWorkspaceFactoryClass();

 

           IWorkspaceName workspaceName =workspaceFactory.Create(path, sdeName, getPropertySet(), 0);

 

 

 

           //方法一通过FeatureClassToGeodatabase        

 

           e00FeatureClassToGeodatabase(@”C: estcontinent.e00CONTINENT_point, sdePath);

 

           //方法二通过 CopyFeatures          

 

           e00CopyFeaturesToSDE(@”C: estcontinent.e00CONTINENT_arc, sdePath + @”CONTINENT_arc);

 

       }

 

 

 

以上两种方式将E00数据导入到ArcSDE管理的数据库中去。

 

这篇关于AE+C#将E00数据导入到ArcSDE中去的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/774723

相关文章

C#中读取XML文件的四种常用方法

《C#中读取XML文件的四种常用方法》Xml是Internet环境中跨平台的,依赖于内容的技术,是当前处理结构化文档信息的有力工具,下面我们就来看看C#中读取XML文件的方法都有哪些吧... 目录XML简介格式C#读取XML文件方法使用XmlDocument使用XmlTextReader/XmlTextWr

Redis的数据过期策略和数据淘汰策略

《Redis的数据过期策略和数据淘汰策略》本文主要介绍了Redis的数据过期策略和数据淘汰策略,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录一、数据过期策略1、惰性删除2、定期删除二、数据淘汰策略1、数据淘汰策略概念2、8种数据淘汰策略

轻松上手MYSQL之JSON函数实现高效数据查询与操作

《轻松上手MYSQL之JSON函数实现高效数据查询与操作》:本文主要介绍轻松上手MYSQL之JSON函数实现高效数据查询与操作的相关资料,MySQL提供了多个JSON函数,用于处理和查询JSON数... 目录一、jsON_EXTRACT 提取指定数据二、JSON_UNQUOTE 取消双引号三、JSON_KE

Python给Excel写入数据的四种方法小结

《Python给Excel写入数据的四种方法小结》本文主要介绍了Python给Excel写入数据的四种方法小结,包含openpyxl库、xlsxwriter库、pandas库和win32com库,具有... 目录1. 使用 openpyxl 库2. 使用 xlsxwriter 库3. 使用 pandas 库

SpringBoot定制JSON响应数据的实现

《SpringBoot定制JSON响应数据的实现》本文主要介绍了SpringBoot定制JSON响应数据的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们... 目录前言一、如何使用@jsonView这个注解?二、应用场景三、实战案例注解方式编程方式总结 前言

使用Python在Excel中创建和取消数据分组

《使用Python在Excel中创建和取消数据分组》Excel中的分组是一种通过添加层级结构将相邻行或列组织在一起的功能,当分组完成后,用户可以通过折叠或展开数据组来简化数据视图,这篇博客将介绍如何使... 目录引言使用工具python在Excel中创建行和列分组Python在Excel中创建嵌套分组Pyt

C#比较两个List集合内容是否相同的几种方法

《C#比较两个List集合内容是否相同的几种方法》本文详细介绍了在C#中比较两个List集合内容是否相同的方法,包括非自定义类和自定义类的元素比较,对于非自定义类,可以使用SequenceEqual、... 目录 一、非自定义类的元素比较1. 使用 SequenceEqual 方法(顺序和内容都相等)2.

在Rust中要用Struct和Enum组织数据的原因解析

《在Rust中要用Struct和Enum组织数据的原因解析》在Rust中,Struct和Enum是组织数据的核心工具,Struct用于将相关字段封装为单一实体,便于管理和扩展,Enum用于明确定义所有... 目录为什么在Rust中要用Struct和Enum组织数据?一、使用struct组织数据:将相关字段绑

在Mysql环境下对数据进行增删改查的操作方法

《在Mysql环境下对数据进行增删改查的操作方法》本文介绍了在MySQL环境下对数据进行增删改查的基本操作,包括插入数据、修改数据、删除数据、数据查询(基本查询、连接查询、聚合函数查询、子查询)等,并... 目录一、插入数据:二、修改数据:三、删除数据:1、delete from 表名;2、truncate

C#使用DeepSeek API实现自然语言处理,文本分类和情感分析

《C#使用DeepSeekAPI实现自然语言处理,文本分类和情感分析》在C#中使用DeepSeekAPI可以实现多种功能,例如自然语言处理、文本分类、情感分析等,本文主要为大家介绍了具体实现步骤,... 目录准备工作文本生成文本分类问答系统代码生成翻译功能文本摘要文本校对图像描述生成总结在C#中使用Deep