ArcEngine连接sde并读取数据

第一步:创建空数据库

打开SQL Server 2012,新建一个空的数据库,我这里命名为TestGDB
在这里插入图片描述

第二步:建立SDE数据库

打开ArcMap,在ArcToolbox中选择数据管理工具下的地理数据库管理,点击创建企业级地理数据库。
在这里插入图片描述

第三步:配置SDE相关信息

在这里插入图片描述
1、数据库平台:选择SQL_Server。
2、实例:由于我是在自己电脑上连接,所以可以设置成自己的计算机名,如果是通过自己的电脑连接服务器上的 SDE,则需要设置为服务器的IP。
3、数据库:填写刚刚新建的空数据库的名称“TestGDB”。
4、数据库管理员密码:登录SQL Server时的密码。
5、地理数据库管理员密码:我设置成跟SQL Server登陆的密码一样。
6、授权文件:打开ArcGIS注册机,选择Server选项卡,Feature选择arcsdeserver,Version设置为102。(PS:我的是ArcMap10.2,所以是102)点击All按钮,将内容复制到txt文件里,另存为*.ecp文件。选择此*.ecp文件作为授权文件。
在这里插入图片描述
7、点击确定即可。
在这里插入图片描述

第四步:导入数据

选择数据库连接下的添加数据库连接:
在这里插入图片描述
弹出如下界面,我这里的实例名还是设置为计算机名,用户名sa,密码就是登陆SQL Server的密码,数据库选择TestGDB,点击确定即可。
在这里插入图片描述
上述步骤完成后,就可以FileGDB那样导入数据了,这里我导入一个shp文件。
在这里插入图片描述

第五步:利用C#代码读取SDE数据

新建一个WinForm工程,在Program.cs文件中加入如下代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;
using ESRI.ArcGIS.Carto;
using ESRI.ArcGIS.Controls;
using ESRI.ArcGIS.DataSourcesFile;
using ESRI.ArcGIS.DataSourcesGDB;
using ESRI.ArcGIS.Display;
using ESRI.ArcGIS.esriSystem;
using ESRI.ArcGIS.Geodatabase;
using ESRI.ArcGIS.Geometry;
using ESRI.ArcGIS.Output;
using ESRI.ArcGIS.SystemUI;namespace WindowsFormsApplication2
{static class Program{/// <summary>/// 应用程序的主入口点。/// </summary>[STAThread]static void Main(){ESRI.ArcGIS.RuntimeManager.Bind(ESRI.ArcGIS.ProductCode.EngineOrDesktop);IAoInitialize m_AoInitialize = new AoInitialize();m_AoInitialize.Initialize(esriLicenseProductCode.esriLicenseProductCodeAdvanced);Application.EnableVisualStyles();Application.SetCompatibleTextRenderingDefault(false);Application.Run(new Form1());}}
}

主窗体代码如下;

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using ESRI.ArcGIS.Carto;
using ESRI.ArcGIS.Controls;
using ESRI.ArcGIS.DataSourcesFile;
using ESRI.ArcGIS.DataSourcesGDB;
using ESRI.ArcGIS.Display;
using ESRI.ArcGIS.esriSystem;
using ESRI.ArcGIS.Geodatabase;
using ESRI.ArcGIS.Geometry;
using ESRI.ArcGIS.Output;
using ESRI.ArcGIS.SystemUI;namespace WindowsFormsApplication2
{public partial class Form1 : Form{public Form1(){InitializeComponent();}private void btnLoadData_Click(object sender, EventArgs e){// 连接参数IPropertySet pPropertySet = new PropertySet();pPropertySet.SetProperty("SERVER", "DSF-PC");pPropertySet.SetProperty("INSTANCE", "sde:sqlserver:DSF-PC");pPropertySet.SetProperty("DATABASE", "TestGDB");pPropertySet.SetProperty("USER", "sa");pPropertySet.SetProperty("PASSWORD", "123456");pPropertySet.SetProperty("VERSION", "sde.Default");// 工作空间IWorkspaceFactory pWorkspaceFactory = new SdeWorkspaceFactory();IWorkspace pWorkspace = pWorkspaceFactory.Open(pPropertySet, 0);// 获取数据集IEnumDataset pEnumDataset = pWorkspace.get_Datasets(esriDatasetType.esriDTFeatureClass);pEnumDataset.Reset();IDataset pDataset = pEnumDataset.Next();// 遍历数据集while (pDataset != null){IFeatureWorkspace pFeatureWorkspace = pWorkspace as IFeatureWorkspace;IFeatureClass pFeatureClass = pFeatureWorkspace.OpenFeatureClass(pDataset.Name);IFeatureLayer pFeatureLayer = new FeatureLayer();pFeatureLayer.FeatureClass = pFeatureClass;pFeatureLayer.Name = pFeatureClass.AliasName;axMapControl1.AddLayer(pFeatureLayer, 0);pDataset = pEnumDataset.Next();}// 刷新视图axMapControl1.ActiveView.Refresh();}}
}

结果如下:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/27814.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ArcCatalog连接PostgreSQL创建SDE库

本文默认环境已经安装好ArcGIS及PostgreSQL。 1.将 ArcGIS桌面程序安装目录下的文件&#xff08;[Installdir]\DatabaseSupport\PostgreSQL\9.2\Windows64&#xff09;拷贝到postgresql安装目录下的lib文件夹 2.将32位的postgresql library 安装目录 bin文件夹的5个dll文件&…

配置 SDE 的 st_geometry

终于搞好了软件&#xff0c;搞好了 SDE 的 Post&#xff0c;现在还有一个问题&#xff0c;即使用 SQL 直接操作 sde for oralce&#xff0c;只有这种操作&#xff0c;才最高效&#xff0c;也是该项目的最终目标。 马上找了一个测试 sql 语句做试验&#xff1a; select sde.ST…

SDE —— 扩展SDE表空间容量

扩展SDE表空间容量 起因解决总体流程 查看表空间基本属性查看表空间物理存储文件位置及状态信息查看表空间中各“段类型&#xff08;Segment&#xff09;”创建新的物理存储文件以扩展表空间重设原有数据文件的大小使指定表空间物理文件容量自动增加使表空间自动扩容&#xff0…

CSND近期推出的猿如意到底怎么样?

CSND近期推出的猿如意到底怎么样&#xff1f; 投稿测评正文 猿如意传送门 猿如意下载地址&#xff1a;猿如意-程序员的如意兵器,工具代码,一搜就有 猿如意使用了几次了&#xff0c;今天来想分享一下我对于猿如意的使用感受吧&#xff01;&#xff01; 先说结论&#xff1a…

匆匆遭遇猿如意

刚刚收到一条消息&#xff0c;说有一个csdn的猿如意可以测试了&#xff0c;我就下载了一个&#xff0c;根据提示下载了&#xff0c;然后开始体验。 一、ChatGPT 谁让这个东西最近这么热呢&#xff0c;所以&#xff0c;我第一个就体验这个东东了&#xff0c;结果&#xff0c;结…

高效好用的开发工具箱——猿如意

目录 前言&#xff1a; 1.我常用的功能介绍 2.主要功能chatGPT测评 3.我的使用体验和改进建议 前言&#xff1a; 猿如意是一款帮助开发的效率工具&#xff0c;集成了许多有用的工具和文档教程。帮助开发者提升开发效率&#xff0c;帮你从“问题”找到“答案”。尤其是12月…

mongodb偶尔报错com.mongodb.MongoSocketReadException: Prematurely reached end of stream

项目开发中&#xff0c;链接mongodb的项目&#xff0c;偶尔报错com.mongodb.MongoSocketReadException: Prematurely reached end of stream 报错的详细信息&#xff1a; 2022-07-11 08:34:00.001 INFO 1 --- [ scheduling-1] o.s.d.mongodb.core.convert.QueryMapper :…

【强烈推荐】程序员平时使用最多的绘图软件之一!!!

draw.io 之前画图一般都是使用processOn&#xff08;https://www.processon.com/&#xff09;,缺点就是只能通过网站画图&#xff0c;并且存在云端&#xff0c;不花钱想白嫖&#xff0c;只能画几张。 像我这种家庭条件&#xff0c;怎么用得起&#xff0c;而且我喜欢把东西存…

聊聊最适合程序员的画图工具

画图工具 没问题&#xff0c;直接坦白讲&#xff0c;我用了 2 年的画图工具是&#xff1a;draw.io。 我的图解文章里的图片全是在 draw.io 这个工具画的&#xff0c;写了那么久的图解文章&#xff0c;再加上我工作中也有画图的习惯&#xff0c;累计也有在上面画了接近 1000 张…

一款国内外流行的绘图软件,Visio国产类似工具!

如果大家因为价格较高、电脑系统限制、运行环境限制、操作不习惯等原因&#xff0c;想要寻找Visio的替代品&#xff0c;那我真心推荐你试下国产软件亿图图示。 亿图图示可替代Visio的优势和理由有7个&#xff1a; 1、跨平台设计&#xff0c;云端储存 关键词&#xff1a;兼容…

科研画图都用什么软件?

在看一些文章的时候&#xff0c;经常感觉有些概念图画的非常精致漂亮&#xff0c;但是不知道是用什么软件画的&#xff0c;各位大神都习惯使用什么样的软件呢 兔森破兔样 &#xff0c;原以为遇到无脑喷子是大V们的特权&#xff0c;今天… 20 人赞同 注意题主问的是科研文章中的…

OpenAI 人工智能绘图工具 DALLE 好用吗?

用朴素的语言&#xff0c;还原你天马星空的想象。 喜悦 早上&#xff0c;终于收到了 OpenAI 的通知 —— 漫长的排队后&#xff0c;我可以用 DALLE 了。 这款人工智能绘图工具让我种草了多长时间&#xff1f;其实都快忘了&#xff0c;哈哈。查了一下&#xff0c;我是 4 月 7 日…

Web在线聊天室(完结) --- 注册用户+ip地址

注册用户 注册用户接口设计前端异步回调ajax函数编写servlet实现注册业务逻辑操作数据库插入新用户实现效果 项目发布地址 注册用户 接口设计 请求: POST /register {name: xxx,password: xxx,nickName: "蔡徐坤",signature: "我擅长唱跳rap篮球", } 响应…

IP获取方法二:太平洋网络IP地址查询Web接口

接口列表&#xff1a; (1)ip.jsp(2)ipJson.jsp(3)jsAlert.jsp(4)jsDom.jsp(5)jsFunction.jsp(6)jsLabel.jsp(7)jsWrite.jsp(8)whois/index.jsp(9)ipAreaCoord.jsp(10)ipAreaCoordJson.jsp 接口参数:param ip:可指定IP地址&#xff0c;不指定则取request.getRemoteAddr()的值。…

从APNIC获取中国IP地址列表

关于APNIC 全球IP地址块被IANA(Internet Assigned Numbers Authority)分配给全球三大地区性IP地址分配机构&#xff0c;它们分别是&#xff1a; ARIN (American Registry for Internet Numbers) 负责北美、南美、加勒比以及非洲撒哈啦部分的IP地址分配。同时还要给全球NSP(Netw…

使用IPIP.net识别客户端真实访问地址,具体到国家,省,市

这个IP库实测还是比较准确的,免费版的可以具体到国内城市&#xff0c;国外只能到国家名称,免费版的自己定期更新Ip数据库即可。 以下为C#调用代码 class Program{static void Main(string[] args){try{//传入要查询的ip 和17monipdb.datx 下载的ip库所在位置string address …

Google 以图搜图 - 相似图片搜索原理 - Java实现

前阵子在阮一峰的博客上看到了这篇《相似图片搜索原理》博客&#xff0c;就有一种冲动要将这些原理实现出来了。 Google "相似图片搜索"&#xff1a;你可以用一张图片&#xff0c;搜索互联网上所有与它相似的图片。 打开Google图片搜索页面&#xff1a; 点击使用上传…

GPT-5紧急叫停?千名专家联名呼吁,AI技术的未来又该何去何从?

在半个月前强势上线的GPT-4 &#xff0c;以其强大的性能再次掀起了一波关于人工智能技术的全民热潮。但GPT-4太强了&#xff0c;强到发指&#xff0c;不止群众恐慌&#xff0c;北京时间3月29日&#xff0c;全世界的 AI 大佬们纷纷出手&#xff0c;千名专家发表公开信&#xff0…

这次彻底搞懂 Redis,超详细总结!

作者&#xff1a;wugongzi 来源&#xff1a;https://www.cnblogs.com/wugongzi/p/16827473.html Redis 基础 如果对 Redis 还不了解的同学可以先看一下这篇 https://www.cnblogs.com/wugongzi/p/12841273.html 这里面介绍了 Redis 是什么&#xff0c;以及怎么用。 Redis 管道 我…

《花雕学AI》35:如何一次性和17个AI聊天机器人交流?ChatALL让你轻松实现

聊天机器人&#xff0c;也称为对话机器人&#xff0c;是一种能够通过自然语言与人类进行交流的人工智能系统。聊天机器人的应用领域非常广泛&#xff0c;从客服、娱乐、教育、医疗、社交等&#xff0c;到科研、商业、政治、军事等&#xff0c;几乎无所不包。随着深度学习和自然…