基于Personal Geodatabase中的Feature class创建一个MXD文档
2009-08-11 20:37
253 查看
//构建新的MXD文档
protected void CreatMXD()
{
//获得服务器上下文
IGISServerConnection gisServerConnection = new GISServerConnection();
gisServerConnection.Connect("fms");
IServerObjectManager4 serverObjectManager = (IServerObjectManager4)gisServerConnection.ServerObjectManager;
IServerContext serverContext = serverObjectManager.CreateServerContext("", "");
//创建IWorkspaceFactory对象来打开personal geodatabase
ESRI.ArcGIS.Geodatabase.IWorkspaceFactory wf = serverContext.CreateObject("esriDataSourcesGDB.AccessWorkspaceFactory") as IWorkspaceFactory;
string fileName = @"F:\data\MyGeodatabase.mdb";
IFeatureWorkspace fws = wf.OpenFromFile(fileName,0) as IFeatureWorkspace;
//打开要素数据集
IFeatureDataset pFeatureDataset = fws.OpenFeatureDataset("MyDataset");
IEnumDataset enumDataset = pFeatureDataset.Subsets;
IDataset dataset = enumDataset.Next();
//创建地图对象
IMap pMap = serverContext.CreateObject("esriCarto.Map") as IMap;
int featureClassCount =0;
//遍历每个数据集,检查其是否要素类
try
{
while (dataset != null)
{
if (dataset.Type == esriDatasetType.esriDTFeatureClass)
{
IFeatureClass pFeatureClass = dataset as IFeatureClass;
IFeatureLayer pFeatureLayer = serverContext.CreateObject("esriCarto.FeatureLayer") as IFeatureLayer;
pFeatureLayer.FeatureClass = pFeatureClass;
ILayer layer = pFeatureLayer as ILayer;
layer.Name = pFeatureClass.AliasName;
pMap.AddLayer(layer);
featureClassCount++;
}
dataset = enumDataset.Next();
}
}
catch (Exception ex)
{
}
//mxd文档的保存地址
string sDocument = @"F:\data\myMXD.mxd";
//创建地图文档对象
IMapDocument pMapDocument = serverContext.CreateObject("esriCarto.MapDocument") as IMapDocument;
pMapDocument.New(sDocument);
pMapDocument.ReplaceContents(pMap as IMxdContents);
pMapDocument.Save(true, false);
//释放服务器上下文
serverContext.ReleaseContext();
}
protected void CreatMXD()
{
//获得服务器上下文
IGISServerConnection gisServerConnection = new GISServerConnection();
gisServerConnection.Connect("fms");
IServerObjectManager4 serverObjectManager = (IServerObjectManager4)gisServerConnection.ServerObjectManager;
IServerContext serverContext = serverObjectManager.CreateServerContext("", "");
//创建IWorkspaceFactory对象来打开personal geodatabase
ESRI.ArcGIS.Geodatabase.IWorkspaceFactory wf = serverContext.CreateObject("esriDataSourcesGDB.AccessWorkspaceFactory") as IWorkspaceFactory;
string fileName = @"F:\data\MyGeodatabase.mdb";
IFeatureWorkspace fws = wf.OpenFromFile(fileName,0) as IFeatureWorkspace;
//打开要素数据集
IFeatureDataset pFeatureDataset = fws.OpenFeatureDataset("MyDataset");
IEnumDataset enumDataset = pFeatureDataset.Subsets;
IDataset dataset = enumDataset.Next();
//创建地图对象
IMap pMap = serverContext.CreateObject("esriCarto.Map") as IMap;
int featureClassCount =0;
//遍历每个数据集,检查其是否要素类
try
{
while (dataset != null)
{
if (dataset.Type == esriDatasetType.esriDTFeatureClass)
{
IFeatureClass pFeatureClass = dataset as IFeatureClass;
IFeatureLayer pFeatureLayer = serverContext.CreateObject("esriCarto.FeatureLayer") as IFeatureLayer;
pFeatureLayer.FeatureClass = pFeatureClass;
ILayer layer = pFeatureLayer as ILayer;
layer.Name = pFeatureClass.AliasName;
pMap.AddLayer(layer);
featureClassCount++;
}
dataset = enumDataset.Next();
}
}
catch (Exception ex)
{
}
//mxd文档的保存地址
string sDocument = @"F:\data\myMXD.mxd";
//创建地图文档对象
IMapDocument pMapDocument = serverContext.CreateObject("esriCarto.MapDocument") as IMapDocument;
pMapDocument.New(sDocument);
pMapDocument.ReplaceContents(pMap as IMxdContents);
pMapDocument.Save(true, false);
//释放服务器上下文
serverContext.ReleaseContext();
}
相关文章推荐
- Add an Annotation FeatureClass from a Personal Geodatabase to ArcMap with ArcObjects
- 从零开始学ArcGIS Server(三)--如何创建一个个人地理数据库ArcSDE Personal geodatabase
- 如何创建一个FeatureClass,IFeatureWorkspace 接口漫谈
- 如何创建一个FeatureClass,IFeatureWorkspace 接口漫谈
- ArcCatalog创建FeatureClass提示“Database user name and current user schema do not match”
- 如何创建一个个人地理数据库ArcSDE Personal or Workgroup geodatabas
- AE开发技术文档--加载Personal Geodatabase
- MFC基于对话框,在对话框上插入图像控件,在图像控件上,画一个绿色的矩形,按键盘上下左右键,矩形在图像控件上移动移动。分别创建一个文本文件和一个二进制文件,对话框退出时,文档内写入保存退出前的矩形的位
- 在workspace下创建一个新的featureclass
- Sharepoint学习笔记—Site Definition系列--6、基于一个已经部署的List Template来创建List Instance
- 基于PM8916 MPP创建一个Linux led子系统
- 为ASP.NET MVC创建一个基于Unity的ControllerFactory
- ArcSDE C API创建的图层并register with geodatabase
- 转:File Geodatabase与Personal Geodatabase 的对比
- WSS3SDK之:如何创建一个事件处理程序Feature
- 基于SharePoint 2010 创建一个简单的工作流
- Creating a class from scratch(从头开始创建一个类)
- Sharepoint学习笔记---Sandbox Solution-- Full Trust Proxy--开发实例之(1、创建一个能访问DataBase的Full Trust Proxy)
- 基于 Django1.10 文档的深入学习(4)—— models.py 之 class Meta
- ChatGirl 一个基于 TensorFlow Seq2Seq 模型的聊天机器人[中文文档]