11월, 2010의 게시물 표시

[ArcObjects]Workspace의 모든 FeatureClass를 지도에 추가하기

다음은 ArcObjects에서 IWorkspace에 포함된 모든 레이어(일반적으로 IFeatureClass)를 지도에 추가하는 코드 샘플입니다. C#으로 작성되었으며, 개념만 확인하세요... 핵심 코드는 IEnumDataset  enumDataSet = srcWorkspace.get_Datasets(esriDatasetType.esriDTAny); 입니다. ▣ IFeatureClass로부터 IFeatureLayer를 생성하는 함수 private IFeatureLayer CreateFeatureLayer ( IFeatureClass srcFc , string layerName , bool isVisible ) { IFeatureLayer featureLayer = new FeatureLayerClass ( ) ; featureLayer . FeatureClass = srcFc ; featureLayer . Visible = isVisible ; if ( string . IsNullOrEmpty ( layerName ) ) { featureLayer . Name = srcFc . AliasName ; } else { featureLayer . Name = layerName ; } return featureLayer ; } ▣ IWorkspace의 모든 FeatureClass를 IMap(지도)에 추가하기 여기에서 IWorkspace는 SDE Workspace뿐만 아니라 Shapefile, File GeoDatabase 등의 FeatureWorkspace를 모두 포함합니다. private void AddAllFeatuerClassToMap ( IMap srcMap , bool layerVisible , IWorkspace srcWorkspace ) { IFeatureL...