欢迎来到天天文库
浏览记录
ID:44960015
大小:7.63 MB
页数:115页
时间:2019-11-06
《第6章_ArcGIS_Engine二次开发(矢量数据空间分析)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第6章ArcGISEngine二次开发(矢量数据空间分析)在这一部分中,您将学习到鹰眼、缓冲区分析、叠置分析 、地图编辑及网络分析等ArcGISEngine二次开发实例。1.鹰眼鹰眼功能是GIS的主要功能之一,当地图范围很大时,它可以很好的为用户指明当前地图的范围。在本小节中我们将学习如何制作这种鹰眼。1.鹰眼1.1添加控件及代码新建一个VB.Net项目,在其中Form1添加如下控件:1. MenuStrip 2. OpenFileDialog 3. ToolbarControl 4.MapControl 5.TOCControl,如下图所示:为ToolbarControl添
2、加地图浏览的功能按钮,如放大、缩小、漫游等 为MenuStrip中添加两个菜单双击菜单栏中的“打开MXD文件”添加打开代码。DimsFilePathAsString'调用OpenFileDialog,获取文件路径并打开地图文件OpenFileDialog1.FileName=""OpenFileDialog1.Title="打开地图文件"OpenFileDialog1.Filter="MapDocument(*.mxd)
3、*.mxd"IfOpenFileDialog1.ShowDialog=Windows.Forms.DialogResult.OKThensFilePath=
4、OpenFileDialog1.FileNameFilePath=sFilePathIfNotsFilePath=""ThenMe.AxMapControl1.LoadMxFile(sFilePath)EndIfEndIfMe.AxMapControl1.Extent=Me.AxMapControl1.FullExtent在MapControl的事件中选择OnExtentUpdated事件并添加代码:PrivateSubAxMapControl1_OnExtentUpdated(ByValsenderAsObject,ByValeAsESRI.ArcGIS.Controls.
5、IMapControlEvents2_OnExtentUpdatedEvent)HandlesAxMapControl1.OnExtentUpdatedDimpEnvAsIEnvelopepEnv=e.newEnvelopeDimpGraAsIGraphicsContainerDimpAvAsIActiveViewpGra=Form2.AxMapControl1.MappAv=pGrapGra.DeleteAllElements()DimpRectangleEleAsIRectangleElementpRectangleEle=NewRectangleElementDimpE
6、leAsIElementpEle=pRectangleElepEle.Geometry=pEnvDimpColorAsIRgbColorpColor=NewRgbColorpColor.RGB=RGB(255,0,0)pColor.Transparency=255DimpOutlineAsILineSymbolpOutline=NewSimpleLineSymbolpOutline.Width=1pOutline.Color=pColorpColor=NewRgbColorpColor.RGB=RGB(255,0,0)pColor.Transparency=0DimpFill
7、SymbolAsIFillSymbolpFillSymbol=NewSimpleFillSymbolpFillSymbol.Color=pColorpFillSymbol.Outline=pOutlineDimpFillShapeEleAsIFillShapeElementpFillShapeEle=pElepFillShapeEle.Symbol=pFillSymbolpGra.AddElement(pFillShapeEle,0)pAv.PartialRefresh(esriViewDrawPhase.esriViewGraphics,Nothing,Nothing)En
8、dSub为工程新建一个窗体Form2,在Form2中添加第二个MapControl控件并添加如下引用:ImportsESRI.ArcGIS.Geometry在Form2的FormLoad事件中为Form2的MapControl控件添加地图数据PrivateSubForm2_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.LoadIfForm1.FilePath=""ThenExitSubEndIfMe.AxMa
此文档下载收益归作者所有