2023年11月23日发(作者:)
c#+ArcGISEngine-读取⽂件地理数据库中的⽮量要素
ArcGIS中的⽂件地理数据库是以⽂件夹形式存储的,获取其⽮量要素的代码如下:
///
/// 得到数据库中的⽮量元素
///
/// 数据库路径
///
private List
{
List
IWorkspace pWorkspace = null;
if (ension(Path).Equals(".mdb"))
{
IWorkspaceFactory pAccessWorkspaceFactory = new AccessWorkspaceFactoryClass();
pWorkspace = omFile(Path, 0);
}
else
{
IWorkspaceFactory pFileGDBWorkspaceFactory = new FileGDBWorkspaceFactoryClass();
pWorkspace = omFile(Path, 0);
}
//打开⼯作空间
IEnumDataset pEnumDataset = ts[FeatureDataset];//只显⽰⽮量要素集合
();
IDataset pDataset = ();
if (pDataset != null)
{
while (pDataset != null)
{
IFeatureDataset pFeatureDataset = pDataset as IFeatureDataset;
IFeatureClassContainer pFeatureClassContainer = (IFeatureClassContainer)pFeatureDataset;
IEnumFeatureClass pEnumFeatureClass = s;
IFeatureClass pFeatureClass = ();
while (pFeatureClass != null)
{
ComboInfo pComboInfo1 = new ComboInfo();
= ame;
Value = pFeatureClass;
(pComboInfo1);
pFeatureClass = ();
}
pDataset = ();
}
}
IEnumDataset pEnumFeature = ts[FeatureClass];//只显⽰⽮量要素类
();
IDataset pDatasetFeature = ();
while (pDatasetFeature != null)
{
ComboInfo pComboInfo = new ComboInfo();
= ;
FolderBrowserDialog pFolderBrowserDialog = new FolderBrowserDialog();
pFolderBrowserDialog.Description = "打开⽂件地理数据库(*.gdb)";
if (pFolderBrowserDialog.ShowDialog() == DialogResult.OK)
{
Btn_DataBasePath.Text = pFolderBrowserDialog.SelectedPath;
string pPath = Btn_DataBasePath.();
string pExtension = System.ension(pPath);
if (!pExtension.Equals(".gdb"))
{
XtraMessageBox.Show("选择的路径错误,请重新输⼊", "提⽰");
return;
}
}
发布评论