AE入门小程序(零基础教零基础学)_第1页
AE入门小程序(零基础教零基础学)_第2页
AE入门小程序(零基础教零基础学)_第3页
AE入门小程序(零基础教零基础学)_第4页
AE入门小程序(零基础教零基础学)_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

AE开发

(本人希望通过这次的学习,能过交上更多喜爱AE开发的同学,大家相互交流学习。因

此创建了一个QQ群:,希望喜爱AE开发的同学踊跃加入,当然,非诚勿扰。还有,本人

只是初学,依靠零基础教零基础学的方式来编写的此文,有不足之处,还请见谅!)

1.AE安装

(1)V首先安装VisualStudio,版本自选。

(2)、其次安装ArcGisEngine,若已安装了ArcMap则无需安装Licensemanager。

(3)、若之前ArcMap没有安装SDK,则还需安装SDK。(AE版本必须一致)

2.运行VS,新建项目

⑴、打开VS2010(我安装的版本)

3alStudoig型^

文件(D5fiS(E)视图M)肾试(Q)团队(M)S53=(Aj工SU)测试⑤SOW)Sfe(H)

,常规

VisualStudio2010专业版此组中没有可用的控件,将其项JS

至此文本可将其添加到工a«.

入门指南和资源最新新闻

tn到TeamFoundationServer

-用WindowsWeb云OfficeSharePointSHS

F所建项目…

打开项目.

SharePoint开发中的新增功能

ffSharePoint星一种灵活的功嚼大的协作平台.可用于黄新发业务簿

决方笈

最近使用的项目

针丽发人员的SharePoint中的舞增功能15述

用MapControlApplicationl为最新发右的SharePoint版本做好准蓄

EE项目加我后关闭此页创建SharePoint解初安

Z启动时显示此页

25诩出来源(5):

百篇..三1箱出

(2)、文件-新建->项目

(3)、点击VisualC#,选择Windows窗体应用程序,项目名称以My为例,点击确定如图:

3、添加引用

为了防止在以后程序出错,因此将如何添加引用和使用哪些都归结如下:

(1)、引用的添加:右击引用一添加引用,选择添加引用对话框中的.NET选项将

ESRI.ArcGIS.DataSourcesFile、ESRI.ArcGIS.Carto、ESRI.ArcGIS.Geodatabase、

ESRI.ArcGIS.Geometry确定添加进去即可。

Microst^Visua]Studio(M^O-

文件(F)领(E)视图(V)项目(P)生成(B)调试(D)团队(M)数据(A)工*(T)测试(S)®D(W)帮助(H)

三],一;id』否》Debug,x86叫El|用的雪小名火©量三,

用力岫|日列囹彝|MK1浊雾黑]急案米聚.,心画互—

解关方案资源肯理器▼?XForml.es[TStk]x

喷|&国|教

q解决方案"My”(1个项目)

,目My

>国Properties

融商用(F)“.

融喔蜗I用⑸...

•QAddArcGISRefei

System.Deploymen

•OSystem.Drawing

•QSystem.Windows.F<

•£□SystemJCml

QSystemJCml.Linq

>国Forml.cs

图Program.es

OMy-MicrosoftVisualStudioC§i$ra),

文件(F)锚(E)视图(V)项目(P)生成(B)调试(D)团队(M)数据(A)I*(T)测试(S)SQ(W)帮助(H)

▼国,H廿|7K|。•〜•9”耳►IDebug3|x86•1的孑423大国里口•

I-Sml可叫皿□囹立|吁也非则誉第界出|日围|马知日I岩

解对案资源SS器▼QxFormLcs[®vi-]X

嗯i|国宝]

0解决方案"My”(1个项目)

添加引用

,国Myoo

t>国Properties

NETCOMI项目[礴|最£I

,,引用•[

Microsoft.CSharp蕊选为:.NETFramework4ClientProfile

QSystem

•OSystem.Core组件名称版本ilOJ路径

QSystem.DataESRlJ(rcGIS.DataInteropv2.0.50727C:\ProgramF

•CiSystem.Data.DataSESRI^rcGIS.Datalnterop...v2.0.50727C:\ProgramF

•GJSystem.DeploymenESRIArcGIS.DataSourcesFi斗2QQv2.0.50727C:\ProgramFLI

•€□System.DrawingESRI.ArcGIS.DataSource...V2.0,50727C:\ProgramF

-QSystem.Windows.F(

ESRI^rcGIS.DataSource...V2.0.50727C:\ProgramF

"<□SystemXml

ESRIJ^rcGIS.DataSource...V2.0.50727C:\ProgramF

System.Xml.Linq

ESRIArcGIS.DataSource...V2.0.50727C:\ProgramF

国Forml.cs

ESRlArcGIS.DataSource...V2.0,50727C:\ProgramF▼

图Program.es

蜻出

显示输出来源(S):

(2)、该程序所需所有的using

usingSystem;

usingSystem.Collections.Generic;

usingSystem.ComponentModel;

usingSystem.Data;

usingSystem.Drawing;

usingSystem.10;

usingSystem.Linq;

usingSystem.Text;

usingSystem.Windows.Forms;

usingESRI.ArcGIS.Carto;

usingESRI.ArcGIS.DataSourcesFile;

usingESRI.ArcGIS.Display;

usingESRI.ArcGIS.Geodatabase;

usingESRI.ArcGIS.Geometry;

usingESRI.ArcGIS.Controls;

usingESRI.ArcGIS.SystemUI;

4、使用工具箱中ArcGISWindowsForms工具运行程序

(1)、点击工具箱中的ArcGISWindowsForms工具栏将MapControLTOCControK

ToolbarControl和LicenseControl工具拖入Forml窗体中如图:

IMS▼;x

;容器

!>菜单和工M栏

卜健

1>组件

»打印

»对话框

l>WPF取做

(>报表

l>VisualBasicPowerPacks

/AkrcGISWindowsForms

®指针

MapControl

PageLayoutControl

TOCControl

ToolbarControl

»SceneControl

GlobeControl

LicenseControl

SymbologyControl

ArcReaderControl

ArcReaderGlobeCont...

・常规

此组中没有可用的控件。将莫

项拖至此文本可将其添加到工

具箱。

(2)、点击窗体中Toolbarcontrol控件,选择属性中Dock,从Dock下拉式列表中选择

最上方的长条。如图:

Buddy

CausesValicTrue

ContextMer抚)

Count0

CustomPro|

▼;XDockNone

Enabled

FadeColor

FillDirectio

GenerateM

IconSize

ItemAppea|32ngij

Dock

定义要绑定到容器的控件边框。

(3)、同上,依次将TOCControl的Dock选择最左边长条,将MapControl控件的Dock

选择为中间的正方形。即窗体如下:

Forml|o||回II眼|

ArcGIS10.2EngineToolbarControl

ArcGIS10.2EngineTOCControlArcGIS10.2EngineMapControl

Name:axTOCControllName:axMapControll

(4)右击ToolbarControl控件,选择General选项中Buddy下拉列表中axMapControll,在

点击Items选项卡中Add,双击点击添加如图所示工具,点击确定。(同理将TOCControl选

择General选项中Buddy下拉列表中axMapControll,点击确定。)

房性

GeneralItemsColorPicture

ontrol

0[0

ControlsCommands

CommandsToolsets|Menus]Palettes]

CategoryCommands:

3DAnalyst.

Edit

FeatureEditingODynamicDisplay

FeatureSelection©Dynamicmapnavigator

FindRouteFlickerRate

||Generi1s

Globew

GlobeInquiry

GraphicElement眄

Ink白

KML

MapInquiryC

MapNavigationSB

NetworkAnalystC

OnlineServices

PageLayout

Srana

Usedoubleclickordrag

anddroptoadditems.

,富性i区

GeneralItemsColorPicture

ontro

BIS+0

藕出现

文「

国性

GeneralItemsColorPicture

ontrol

>

R8出来F、回

(5)、按F5运行程序会发现如图错误,需要在Program.cs中添加如下代码:

ESRI.ArcGIS.RuntimeManager.Bind(ESRI.ArcGIS.ProductCode.EngineOrDesktop);

解决方案资源肯理器▼+XForml.Designer.csForml.cs[设计]

岛|日团I国品筑;My.Program»|^^MainO-

□解决方案"My”(1个项目)[usingSystem.Windows.Forms;隹

)日My

HnamespaceMy

t>玄Properties

{

国引用□staticclassProgram

国Forml.cs{

怛Forml.Designer.cs0///<summary>

///应用程序的主入口点。|=

怛Forml.resx

///</summary〉

[STAThread]

staticvoidMain()

{

ESRI.ArcGIS.RuntimeManager.Bind(ESRI.ArcGIS.ProductCode.EngineOrDesktop);

^T^T^aTTon^naDleVisualStylesO;

Application.SetCompatibleTextRenderingDefault(false):

Application.Run(newForml());

)

)

100%一

揄出▼4X

显示输出来源⑸:F|j13a录|司

“System.InvalidOperationException"类型的未经处理的异常出现在ESRI.ArcGIS.AxControls.dll中。

其他信息:ArcGISversionnotspecified.YoumustcallRuntimeManager.BindbeforecreatinganyArcGIScomponents.

“My.vshost.exe”(托管(v4.0.30319)):已加载“C:\Windows\Microsoft.Het\assembly\GAC_NSIL\System.Configuration^.0_4,0.0.0_b03f5f7f1d50a3a\Syst[J

程序“[6816]My.vshost.exe:托管(v4.0.30319)”已退出,返回值为0(0x0)«

(6)、程序即可正常运行

5、代码添加MXD

(1)、选择工具箱中菜单和工具栏,将其中MenuStrip拖入窗体上方,并输入“打

开MXD",如图:

工*«

[>所有Windows窗体

回|同

IOIID公培件

。容器

/菜单和工具栏

\指针

neMapControl

ntroll国ContextMenuStrip

曾MenuStrip

LtStatusStrip

匣ToolStrip

匚IToolStripContainer

rs组住

(2)右击“打开打开MXD”或双击,向其中输入代码,并运行。

代码如下:privatevoid打开MXDaMXDToolStripMenuItem_Click(objectsender,

EventArgse)

OpenFileDialogOpenMXD=newOpenFileDialogO;

OpenMXD.Title=〃打开地图〃;

OpenMXD.InitialDirectory=〃E:〃;

OpenMXD.Filter="MapDocuments(*.mxd)|*.mxd〃;

if(OpenMXD.ShowDialogO==DialogResult.OK)

stringMxdPath=OpenMXD.FileName;

axMapControll.LoadMxFile(MxdPath);

)

)

运行如图:

6、代码添加SHP

紧接着“打开MXD”旁,添加一个“添加SHP”,同上输入代码,并运行。

代码如下:

string[]ShpFile=newstring[2];

OpenFileDialogOpenShpFile=newOpenFileDialog();

OpenShpFile.Title=〃打开Shape文件”;

OpenShpFile.InitialDirectory=〃E:〃;

OpenShpFile.Filter=/zShape文件(器shp)shp〃;

if(OpenShpFile.ShowDialog()==DialogResult.OK)

(

stringShapPath=OpenShpFi1e.Fi1eName;

〃利?用?〃\\〃将?文?件t路♦径?分?成6两?部?分?

intPosition=ShapPath.LastlndexOf(〃\\〃);

stringFilePath=ShapPath.Substring(0,Position);

stringShpName=ShapPath.Substring(Position+1);

ShpFile[0]=FilePath;

ShpFile[l]=ShpName;

axMapControll.AddShapeFile(ShpFile[0],ShpFile[l]);

运行如图:

7、鹰眼功能的实现

(1)、在主窗体上在添加一个axmapcontrol控件,作为鹰眼功能的鸟瞰图。如图

(2)、点击一下axmapcontroll控件,在属性中在点击一下雷电符号,选择并双击其中

OnFullExtentUpdated事件,输入代码。

代码如下:

privatevoidaxMapControll_OnExtentUpdated(objectsender,

ESRI.ArcGIS.Controls.IMapControlEvents2_0nExtentUpdatedEvente)

//得?到?新?范?围§

lEnvelopepEnvelope=(lEnvelope)e.newEnvelope;

IGraphicsContainerpGraphicsContainer=axMapControl2.Mapas

IGraphicsContainer;

lActiveViewpActiveView=pGraphicsContaineraslActiveView;

〃在。绘?制?前。,?清?除yaxMapControl2中D的?任?何?图?形?元a素?

pGraphicsContainer.DeleteAllElements();

IRectangleElementpRectangleEle=newRectangleElementClass();

lElementpElement=pRectangleEleaslElement;

pElement.Geometry=pEnvelope;

〃设®?置??眼?图?中D的?组线?框6

IRgbColorpColor=newRgbColorClass();

pColor.Red=255;

pColor.Green=0;

pColor.Blue=0;

pColor.Transparency=255;

〃产力生®?一?个?线?符?号?对?象6

ILineSymbolpOutline=newSimpleLineSymbolClass();

pOutline.Width=3;

pOutline.Color=pColor;

//设®?置?颜?色?属?性?

pColor=newRgbColorClass();

pColor.Red=255;

pColor.Green=0;

pColor.Blue=0;

pColor.Transparency=0;

〃设@?置?填?充?符?号?的?属?性?

IFillSymbolpFi11Symbol=newSimpleFillSymbolClass();

pFillSymbol.Color=pColor;

pFillSymbol.Outline=pOutline;

IFi1IShapeElementpFillShapeEle=pElementasIFillShapeElement;

pFillShapeEle.S

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论