ArcObjects에서 MXD(ArcMap Document File) 파일로부터 Map을 가져오는 코드입니다.
Mxd 파일은 여러 DataFrame을 저장할 수 있으므로 mapIndex를 지정(기본값=0)해야 합니다.
[code c#]
public bool OpenMapFromMxd(string fileName, int mapIndex, out IMap outMap, out IPageLayout outPageLayout)
{
outMap = null;
outPageLayout = null;
if (string.IsNullOrEmpty(fileName)) return false;
bool ok = false;
IMapDocument ipMapDocument = new MapDocumentClass();
if (ipMapDocument.get_IsMapDocument(fileName))
{
ipMapDocument.Open(fileName, string.Empty);
int mapCount = ipMapDocument.MapCount;
if (mapIndex >= mapCount) mapIndex = 0;
outMap = ipMapDocument.get_Map(mapIndex);
outPageLayout = ipMapDocument.PageLayout;
ipMapDocument.Close();
ok = true;
}
System.Runtime.InteropServices.Marshal.ReleaseComObject(ipMapDocument);
return ok;
}
[/code]
댓글 없음:
댓글 쓰기