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

相关文章

SpringBoot分段处理List集合多线程批量插入数据方式

《SpringBoot分段处理List集合多线程批量插入数据方式》文章介绍如何处理大数据量List批量插入数据库的优化方案:通过拆分List并分配独立线程处理,结合Spring线程池与异步方法提升效率... 目录项目场景解决方案1.实体类2.Mapper3.spring容器注入线程池bejsan对象4.创建

PHP轻松处理千万行数据的方法详解

《PHP轻松处理千万行数据的方法详解》说到处理大数据集,PHP通常不是第一个想到的语言,但如果你曾经需要处理数百万行数据而不让服务器崩溃或内存耗尽,你就会知道PHP用对了工具有多强大,下面小编就... 目录问题的本质php 中的数据流处理:为什么必不可少生成器:内存高效的迭代方式流量控制:避免系统过载一次性

C#实现千万数据秒级导入的代码

《C#实现千万数据秒级导入的代码》在实际开发中excel导入很常见,现代社会中很容易遇到大数据处理业务,所以本文我就给大家分享一下千万数据秒级导入怎么实现,文中有详细的代码示例供大家参考,需要的朋友可... 目录前言一、数据存储二、处理逻辑优化前代码处理逻辑优化后的代码总结前言在实际开发中excel导入很

C#使用Spire.Doc for .NET实现HTML转Word的高效方案

《C#使用Spire.Docfor.NET实现HTML转Word的高效方案》在Web开发中,HTML内容的生成与处理是高频需求,然而,当用户需要将HTML页面或动态生成的HTML字符串转换为Wor... 目录引言一、html转Word的典型场景与挑战二、用 Spire.Doc 实现 HTML 转 Word1

C#实现一键批量合并PDF文档

《C#实现一键批量合并PDF文档》这篇文章主要为大家详细介绍了如何使用C#实现一键批量合并PDF文档功能,文中的示例代码简洁易懂,感兴趣的小伙伴可以跟随小编一起学习一下... 目录前言效果展示功能实现1、添加文件2、文件分组(书签)3、定义页码范围4、自定义显示5、定义页面尺寸6、PDF批量合并7、其他方法

MyBatis-plus处理存储json数据过程

《MyBatis-plus处理存储json数据过程》文章介绍MyBatis-Plus3.4.21处理对象与集合的差异:对象可用内置Handler配合autoResultMap,集合需自定义处理器继承F... 目录1、如果是对象2、如果需要转换的是List集合总结对象和集合分两种情况处理,目前我用的MP的版本

C#下Newtonsoft.Json的具体使用

《C#下Newtonsoft.Json的具体使用》Newtonsoft.Json是一个非常流行的C#JSON序列化和反序列化库,它可以方便地将C#对象转换为JSON格式,或者将JSON数据解析为C#对... 目录安装 Newtonsoft.json基本用法1. 序列化 C# 对象为 JSON2. 反序列化

GSON框架下将百度天气JSON数据转JavaBean

《GSON框架下将百度天气JSON数据转JavaBean》这篇文章主要为大家详细介绍了如何在GSON框架下实现将百度天气JSON数据转JavaBean,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录前言一、百度天气jsON1、请求参数2、返回参数3、属性映射二、GSON属性映射实战1、类对象映

C#文件复制异常:"未能找到文件"的解决方案与预防措施

《C#文件复制异常:未能找到文件的解决方案与预防措施》在C#开发中,文件操作是基础中的基础,但有时最基础的File.Copy()方法也会抛出令人困惑的异常,当targetFilePath设置为D:2... 目录一个看似简单的文件操作问题问题重现与错误分析错误代码示例错误信息根本原因分析全面解决方案1. 确保

基于C#实现PDF转图片的详细教程

《基于C#实现PDF转图片的详细教程》在数字化办公场景中,PDF文件的可视化处理需求日益增长,本文将围绕Spire.PDFfor.NET这一工具,详解如何通过C#将PDF转换为JPG、PNG等主流图片... 目录引言一、组件部署二、快速入门:PDF 转图片的核心 C# 代码三、分辨率设置 - 清晰度的决定因