将 GeoDB 连接到 ASP.Net Web 应用程序

Posted

技术标签:

【中文标题】将 GeoDB 连接到 ASP.Net Web 应用程序【英文标题】:Connection GeoDB to ASP.Net web application 【发布时间】:2011-08-16 07:08:50 【问题描述】:

我有一个扩展名为 .gdb 的 GeoDB。有没有人尝试过使用 C# 和 ArcGIS SDK 连接 GeoDB?

【问题讨论】:

当你说“GeoDB”时,你的意思是一个普通的文件地理数据库,对吧? 【参考方案1】:

下面的 ArcObjects 代码要求您已签出许可证。 (如何完成取决于您安装的 ArcGIS 版本。例如,对于 ArcGIS 9.3.1,调用 IAoInitialize.Initialize 就足够了。在 ArcGIS 10 中,您还需要首先通过调用绑定到产品ESRI.ArcGIS.RuntimeManager.BindLicense.)

using ESRI.ArcGIS.Geodatabase;
using ESRI.ArcGIS.DataSourcesGDB;
…

IWorkspaceFactory wsFactory = new FileGDBWorkspaceFactory();  // (see P.S. below)
IWorkspace ws = wsFactory.OpenFromFile(@"\path\to\your\file.gdb", hWnd);

然后,您可以通过将ws 转换为IFeatureWorkspace 并使用该接口的方法(例如OpenTableOpenFeatureClass 等)打开文件地理数据库中的要素类、表等。


P.S.: ESRI 实际上建议使用Activator.CreateInstance 而不是new 创建工作区工厂(作为单例对象):

Type wsFactoryType = Type.GetTypeFromProgID("esriDataSourcesGDB.FileGDBWorkspaceFactory");
IWorkspaceFactory wsFactory = (IWorkspaceFactory)Activator.CreateInstance(wsFactoryType);
…

(我之前没有提到这一点,因为它给简单的代码示例增加了一些复杂性。)

【讨论】:

以上是关于将 GeoDB 连接到 ASP.Net Web 应用程序的主要内容,如果未能解决你的问题,请参考以下文章

尝试将 ASP.NET CORE 2 Web API 应用程序连接到 WCF 服务

将托管在 AWS EC2 上的 Asp.net Web api 连接到 AWS API Gateway

无法使用 AFNetworking 将 iOS 连接到 asp.net webservices

ASP.NET 5 MVC:无法连接到 Web 服务器“IIS Express”

连接到 MS Access 的 Mono 和 ASP.NET Web 应用程序

如何将 Openoffice calc excel 连接到 sql server 而不是 asp.net 中的 oledb excel 连接