ArcEngine加载图层的五个步骤.docx
- 文档编号:8309044
- 上传时间:2023-01-30
- 格式:DOCX
- 页数:11
- 大小:16.84KB
ArcEngine加载图层的五个步骤.docx
《ArcEngine加载图层的五个步骤.docx》由会员分享,可在线阅读,更多相关《ArcEngine加载图层的五个步骤.docx(11页珍藏版)》请在冰豆网上搜索。
ArcEngine加载图层的五个步骤
ArcEngine加载图层的五个步骤
1.创建一个类工厂
2.使用类工厂创建一个要使用的工作区
3.使用工作区打开并得到图层的dataset
4.把dataset装入到新建的图层实例
5.把图层加载到MapControl控件
示例代码:
源自ArcGishelp文件
1.添加rasterfile
[C#]
#region"OpenRasterFileAsGeoDatset"
//ArcGISSnippetTitle:
//OpenRasterFileAsGeoDatset
//
//LongDescription:
//OpenaRasterfileondiskbyit'snameasaGeoDataset.
//
//Addthefollowingreferencestotheproject:
//ESRI.ArcGIS.DataSourcesRaster
//ESRI.ArcGIS.Geodatabase
//ESRI.ArcGIS.System
//
//IntendedArcGISProductsforthissnippet:
//ArcGISDesktop(ArcEditor,ArcInfo,ArcView)
//ArcGISEngine
//ArcGISServer
//
//ApplicableArcGISProductVersions:
//9.2
//9.3
//
//RequiredArcGISExtensions:
//ArcGISSpatialAnalyst
//
//Notes:
//ThissnippetisintendedtobeinsertedatthebaselevelofaClass.
//ItisnotintendedtobenestedwithinanexistingMethod.
//
///
///OpenaRasterfileondiskbyit'snameasaGeoDataset.
///
///
"C:
\raster_data"
///
"landuse"or"watershed"
///
///
///IRasterWorkspaceisusedtoaccessarasterstoredinafilesysteminanysupportedrasterformat.
///RasterWorkspaceFactorymustbeusedtocreatearasterworkspace.
///Toaccessrasterfromgeodatabase,useIRasterWorkspaceExinterface.
///
///FormoreinformationonworkingwiththeArcGISSpatialAnaylstobjectssee:
///
///
publicESRI.ArcGIS.Geodatabase.IGeoDatasetOpenRasterFileAsGeoDatset(System.Stringpath,System.Stringname)
{
try
{
ESRI.ArcGIS.Geodatabase.IWorkspaceFactoryworkspaceFactory=newESRI.ArcGIS.DataSourcesRaster.RasterWorkspaceFactoryClass();
ESRI.ArcGIS.DataSourcesRaster.IRasterWorkspacerasterWorkspace=(ESRI.ArcGIS.DataSourcesRaster.IRasterWorkspace)(workspaceFactory.OpenFromFile(path,0));
ESRI.ArcGIS.Geodatabase.IRasterDatasetrasterDataset=rasterWorkspace.OpenRasterDataset(name);
ESRI.ArcGIS.Geodatabase.IGeoDatasetgeoDataset=(ESRI.ArcGIS.Geodatabase.IGeoDataset)rasterDataset;//ExplicitCast
returngeoDataset;
}
catch(Exceptionex)
{
//System.Diagnostics.Debug.WriteLine(ex.Message)
returnnull;
}
}
#endregion[VisualBasic.NET]
#Region"OpenRasterFileAsGeoDatset"
'ArcGISSnippetTitle:
'OpenRasterFileAsGeoDatset
'
'LongDescription:
'OpenaRasterfileondiskbyit'snameasaGeoDataset.
'
'Addthefollowingreferencestotheproject:
'ESRI.ArcGIS.DataSourcesRaster
'ESRI.ArcGIS.Geodatabase
'ESRI.ArcGIS.System
'
'IntendedArcGISProductsforthissnippet:
'ArcGISDesktop(ArcEditor,ArcInfo,ArcView)
'ArcGISEngine
'ArcGISServer
'
'ApplicableArcGISProductVersions:
'9.2
'9.3
'
'RequiredArcGISExtensions:
'ArcGISSpatialAnalyst
'
'Notes:
'ThissnippetisintendedtobeinsertedatthebaselevelofaClass.
'ItisnotintendedtobenestedwithinanexistingFunctionorSub.
'
'''
'''OpenaRasterfileondiskbyit'snameasaGeoDataset.
'''
'''
"C:
\raster_data"
'''
"landuse"or"watershed"
'''
'''
'''IRasterWorkspaceisusedtoaccessarasterstoredinafilesysteminanysupportedrasterformat.
'''RasterWorkspaceFactorymustbeusedtocreatearasterworkspace.
'''Toaccessrasterfromgeodatabase,useIRasterWorkspaceExinterface.
'''
'''FormoreinformationonworkingwiththeArcGISSpatialAnaylstobjectssee:
'''
'''
PublicFunctionOpenRasterFileAsGeoDatset(ByValpathAsSystem.String,ByValnameAsSystem.String)AsESRI.ArcGIS.Geodatabase.IGeoDataset
Try
DimworkspaceFactoryAsESRI.ArcGIS.Geodatabase.IWorkspaceFactory=NewESRI.ArcGIS.DataSourcesRaster.RasterWorkspaceFactoryClass()
DimrasterWorkspaceAsESRI.ArcGIS.DataSourcesRaster.IRasterWorkspace=CType(workspaceFactory.OpenFromFile(path,0),ESRI.ArcGIS.DataSourcesRaster.IRasterWorkspace)
DimrasterDatasetAsESRI.ArcGIS.Geodatabase.IRasterDataset=rasterWorkspace.OpenRasterDataset(name)
DimgeoDatasetAsESRI.ArcGIS.Geodatabase.IGeoDataset=CType(rasterDataset,ESRI.ArcGIS.Geodatabase.IGeoDataset)'ExplicitCast
ReturngeoDataset
CatchexAsException
'System.Diagnostics.Debug.WriteLine(ex.Message)
ReturnNothing
EndTry
EndFunction
#EndRegion
2.添加shapefile
[C#]
#region"AddShapefileUsingOpenFileDialog"
//ArcGISSnippetTitle:
//AddShapefileUsingOpenFileDialog
//
//LongDescription:
//AddashapefiletotheActiveViewusingtheWindows.Forms.OpenFileDialogcontrol.
//
//Addthefollowingreferencestotheproject:
//ESRI.ArcGIS.Carto
//ESRI.ArcGIS.DataSourcesFile
//ESRI.ArcGIS.Display
//ESRI.ArcGIS.Geodatabase
//ESRI.ArcGIS.Geometry
//ESRI.ArcGIS.System
//System.Windows.Forms
//
//IntendedArcGISProductsforthissnippet:
//ArcGISDesktop(ArcEditor,ArcInfo,ArcView)
//ArcGISEngine
//
//ApplicableArcGISProductVersions:
//9.2
//9.3
//
//RequiredArcGISExtensions:
//(NONE)
//
//Notes:
//ThissnippetisintendedtobeinsertedatthebaselevelofaClass.
//ItisnotintendedtobenestedwithinanexistingMethod.
//
///
///
///
///
///
publicvoidAddShapefileUsingOpenFileDialog(ESRI.ArcGIS.Carto.IActiveViewactiveView)
{
//parametercheck
if(activeView==null)
{
return;
}
//UsetheOpenFileDialogClasstochoosewhichshapefiletoload.
System.Windows.Forms.OpenFileDialogopenFileDialog=newSystem.Windows.Forms.OpenFileDialog();
openFileDialog.InitialDirectory="c:
\\";
openFileDialog.Filter="Shapefiles(*.shp)|*.shp";
openFileDialog.FilterIndex=2;
openFileDialog.RestoreDirectory=true;
openFileDialog.Multiselect=false;
if(openFileDialog.ShowDialog()==System.Windows.Forms.DialogResult.OK)
{
//Theuserchoseaparticularshapefile.
//Thereturnedstringwillbethefullpath,filenameandfile-extensionforthechosenshapefile.Example:
"C:
\test\cities.shp"
stringshapefileLocation=openFileDialog.FileName;
if(shapefileLocation!
="")
{
//Ensuretheuserchoosesashapefile
//CreateanewShapefileWorkspaceFactoryCoClasstocreateanewworkspace
ESRI.ArcGIS.Geodatabase.IWorkspaceFactoryworkspaceFactory=newESRI.ArcGIS.DataSourcesFile.ShapefileWorkspaceFactoryClass();
//System.IO.Path.GetDirectoryName(shapefileLocation)returnsthedirectorypartofthestring.Example:
"C:
\test\"
ESRI.ArcGIS.Geodatabase.IFeatureWorkspacefeatureWorkspace=(ESRI.ArcGIS.Geodatabase.IFeatureWorkspace)workspaceFactory.OpenFromFile(System.IO.Path.GetDirectoryName(shapefileLocation),0);//ExplicitCast
//System.IO.Path.GetFileNameWithoutExtension(shapefileLocation)returnsthebasefilename(withoutextension).Example:
"cities"
ESRI.ArcGIS.Geodatabase.IFeatureClassfeatureClass=featureWorkspace.OpenFeatureClass(System.IO.Path.GetFileNameWithoutExtension(shapefileLocation));
ESRI.ArcGIS.Carto.IFeatureLayerfeatureLayer=newESRI.ArcGIS.Carto.FeatureLayerClass();
featureLayer.FeatureClass=featureClass;
featureLayer.Name=featureClass.AliasName;
featureLayer.Visible=true;
activeView.FocusMap.AddLayer(featureLayer);
//Zoomthedisplaytothefullextentofalllayersinthemap
activeView.Extent=activeView.FullExtent;
activeView.PartialRefresh(ESRI.ArcGIS.Carto.esriViewDrawPhase.esriViewGeography,null,null);
}
else
{
//Theuserdidnotchooseashapefile.
//Dowhateverremedialactionsasnecessary
//System.Windows.Forms.MessageBox.Show("Noshapefilechosen","NoChoice#1",
//System.Windows.Forms.MessageBoxButtons.OK,
//System.Windows.Forms.MessageBoxIcon.Exclamation);
}
}
else
{
//Theuserdidnotchooseashapefile.TheyclickedCancelorclosedthedialogbythe"X"button.
//Dowhateverremedialactionsasnecessary.
//System.Windows.Forms.MessageBox.Show("Noshapefilechosen","NoChoice#2",
//System.Windows.Forms.MessageBoxButtons.OK,
//System.Windows.Forms.MessageBoxIcon.Exclamation);
}
}
#endregion
[VisualBasic.NET]
#Region"AddShapefileUsingOpenFileDialog"
'ArcGISSnippetTitle:
'AddShapefileUsingOpenFileDialog
'
'LongDescription:
'AddashapefiletotheActiveViewusingtheWindows.Forms.OpenFileDialogcontrol.
'
'Addthefollowingreferencestotheproject:
'ESRI.ArcGIS.Carto
'ESRI.ArcGIS.DataSourcesFile
'ESRI.ArcGIS.Display
'ESRI.ArcGIS.Geodatabase
'ESRI.ArcGIS.Geometry
'ESRI.ArcGIS.System
'System.Windows.Forms
'
'IntendedArcGISProductsforthissnippet:
'ArcGISDesktop(ArcEditor,ArcInfo,ArcView)
'ArcGISEngine
'
'ApplicableArcGISProductVersions:
'9.2
'9.3
'
'RequiredArcGISExtensions:
'(NONE)
'
'Notes:
'ThissnippetisintendedtobeinsertedatthebaselevelofaClass.
'ItisnotintendedtobenestedwithinanexistingFunctionorSub.
'
'''
'''
'''
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ArcEngine 加载 五个 步骤
![提示](https://static.bdocx.com/images/bang_tan.gif)