cl991036
管理员
管理员
  • 注册日期2003-07-25
  • 发帖数5917
  • QQ14265545
  • 铜币29669枚
  • 威望217点
  • 贡献值0点
  • 银元0个
  • GIS帝国居民
  • GIS帝国铁杆
阅读:900回复:0

[转帖]怎么样使用Engine来保存Mxd文件(几种情况)

楼主#
更多 发布于:2007-10-25 11:10

ArcGIS Engine提供了保存Mxd文件的类MapDoment。但在具体保存MXD文件过程中有下面几种情况: <br>
1 直接使用IMapDocument接口的Open方法来打开MXD文件,编辑过后进行保存。 <br>
2 使用Engine中带的OpenDocument方法来打开MXD文件,然后编辑过之后要进行保存。 <br>
3 使用自己写的添加数据的工具直接添加数据,也就是说一开始没有MXD文件,在编辑完之后需要把当前的地图保存为一个MXD文件。  <br>
过程描述  <br>
解决方法: <br>
首先这三种情况都可以使用Engine中自带的SaveDoument的工具进行保存 <br>
1 这种情况比较简单,直接使用IMapDocument的save或者saveas的方法来进行保存就可以,可以在帮助中查到例子。 <br>
2 这种情况可使用下面的代码(c#语言)进行保存, <br>
IMxdContents pMxdC; <br>
pMxdC = axMapControl1.Map as IMxdContents ; <br>
IMapDocument pMapDocument = new MapDocumentClass(); <br>
pMapDocument.Open (axMapControl1.DocumentFilename,""); <br>
IActiveView pActiveView = axMapControl1.Map as IActiveView ; <br>
pMapDocument.ReplaceContents (pMxdC); <br>
pMapDocument.SaveAs ("d:\aa2.mxd",true,true); <br>
3 这种情况使用的代码(c#语言)稍微有点不同: <br>
IMxdContents pMxdC; <br>
pMxdC = axMapControl1.Map as IMxdContents ; <br>
IMapDocument pMapDocument = new MapDocumentClass (); <br>
pMapDocument.New ("d:\aa3.mxd"); <br>
IActiveView pActiveView = axMapControl1.Map as IActiveView ; <br>
pMapDocument.ReplaceContents (pMxdC); <br>
pMapDocument.Save (true,true); <br>
喜欢0 评分0
没钱又丑,农村户口。头可断,发型一定不能乱。 邮箱:gisempire@qq.com
游客

返回顶部