Подключение GeoDB к веб-приложению ASP.Net - PullRequest
2 голосов
/ 16 августа 2011

У меня есть GeoDB, который имеет расширение .gdb . Есть ли кто-нибудь, кто пытался подключить GeoDB с помощью C # с использованием ArcGIS SDK?

1 Ответ

2 голосов
/ 17 августа 2011

Приведенный ниже код 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 и используя методы этого интерфейса, такие как OpenTable, OpenFeatureClass и т. Д.


PS: ESRI фактически рекомендует, чтобы фабрики рабочих пространств (являющиеся одноэлементными объектами) создавались с Activator.CreateInstance вместо new:

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

(я не упоминал об этом ранее, потому что это добавляет некоторую сложность простому примеру кода.)

...