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

标签 c# geolocation arcgis

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

最佳答案

下面的 ArcObjects 代码要求您 checkout 许可。 (如何完成取决于您安装的 ArcGIS 版本。例如,对于 ArcGIS 9.3.1,调用 IAoInitialize.Initialize 就足够了。在 ArcGIS 10 中,您还需要先通过调用绑定(bind)到产品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并使用该接口(interface)的方法,例如 OpenTable , OpenFeatureClass


P.S.: ESRI actually recommends that workspace factories (being singleton objects) be created with Activator.CreateInstance instead of new:

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

(I hadn't mentioned that earlier because it adds some complexity to a simple code example.)

关于c# - 将 GeoDB 连接到 ASP.Net Web 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7074696/

相关文章:

javascript - 如何使用 arcGis JavaScript 获取地址的经纬度

r - 简化 R 中的反向地理编码

php - 将用户的位置存储在数据库中并找到离他最近的用户

javascript - Google HTML 5 地理定位 'use my location' 仅适用于 Firefox

arcgis - 如何从翻转或 tfw 文件中获取投影(epsg 编号)

c# - 测试 outlook 是否安装了 C# 异常处理

php - 是什么导致 Safari 无法在此代码中获取 navigator.geolocation.getCurrentPosition ?

c# - 如何使用linq删除重复记录?

c# - UnitTest 一种依赖于时间的方法

c# - 重命名 WinForms 窗体的标题