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

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

【问题讨论】:

  • 当你说“GeoDB”时,你的意思是一个普通的文件地理数据库,对吧?

标签: c# geolocation arcgis


【解决方案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);
…

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-01
    • 1970-01-01
    相关资源
    最近更新 更多