ʵÑé¶þ µØÍ¼ÏÔʾºÍͼ²ã¿ØÖÆ ÏÂÔØ±¾ÎÄ

ʵÑé¶þ µØÍ¼ÏÔʾºÍͼ²ã¿ØÖÆ

£¨3ѧʱ£©

ʵÑéÊý¾Ý£º

Çëµ½½Ìʦ¿Î¼þÀïÏÂÔØ¡£ÊµÑéÊý¾ÝΪGIS¿ª·¢¼¼ÊõA\\ʵÑéÖ¸µ¼\\Öеġ°ÊµÑéÊý¾Ý.rar¡±

ʵÑéÄÚÈÝ£º

1. ¼ÓÔØÍ¼²ã¼°Ïà¹Ø²Ù×÷

2. ʹÓÃArcGIS EngineÖзâ×°ºÃµÄ¶ÔÏóʵÏÖµØÍ¼µÄ²Ù×÷ 3. ʹÓÃTocControl¿Ø¼þ¿ØÖÆÍ¼²ã 4. ʹÓÃTextElement»æÖƱê×¢ 5. Ó¥ÑÛͼ¹¦ÄܵÄʵÏÖ

1.¼ÓÔØÍ¼²ã¼°Ïà¹Ø²Ù×÷

1£©Ê¹ÓÃÊôÐÔÏòMapControlÖÐÌí¼Óͼ²ã £¨1£©Ð½¨Ò»¸öÏîÄ¿

Æô¶¯Visual Studio.NET£¬ÔÚ¡¾Îļþ¡¿²Ëµ¥ÖÐÑ¡Ôñ¡¾Ð½¨ÏîÄ¿¡¿£¬ÔÚ¡°Ð½¨ÏîÄ¿¡±¶Ô»°¿òÖÐÑ¡ÔñÏîÄ¿ÀàÐÍΪ¡°Visual C#¡±£¬Ä£°åΪ¡°WindowsÓ¦ÓóÌÐò¡±£¬Ñ¡Ôñ¡°Î»Öá±£¬µã»÷¡°È·¶¨¡±±£´æ¸ÃÏîÄ¿¡£

£¨2£©Ìí¼ÓÑ¡Ï

ÔÚ¡°¹¤¾ßÏ䡱µÄ¿Õ°×´¦µ¥»÷Êó±êÓÒ¼ü£¬ÔÚµ¯³öµÄ¿ì½Ý²Ëµ¥ÖÐÑ¡Ôñ¡°Ìí¼ÓÑ¡Ï¡±£¬È»ºóÔÚÐÂÔöÑ¡ÏÉÏÊäÈë¡°ESRI¿Ø¼þ¡±×÷ΪѡÏ±êÇ©¡£

1

£¨3£©Ìí¼ÓArcGIS Engine¿Ø¼þ

¢ÙÓÒ¼üµã»÷¡°ESRI¿Ø¼þ¡±±êÇ©£¬´Ó¿ì½Ý²Ëµ¥ÖÐÑ¡Ôñ¡°Ñ¡ÔñÏ¡£

¢ÚÔÚµ¯³öµÄ¡°Ñ¡Ôñ¹¤¾ßÏ¶Ô»°¿òÖÐÑ¡Ôñ¡°.NET Framework ×é¼þ¡±Ñ¡Ï£¬Ñ¡ÖС°AxLicenseControl¡±¡¢¡°AxMapControl¡±¡¢¡°AxTOCControl¡±¡¢¡°AxToolbarControl¡±ºÍ¡°AxPageLayoutControl¡±µÈ¸´Ñ¡¿ò£¬µ¥»÷¡°È·¶¨¡±°´Å¥£¬½«ËùÑ¡ÔñµÄ¿Ø¼þÌí¼Óµ½¹¤¾ßÀ¸ÖС£

¢ÛÔÚÏîÄ¿²Ëµ¥ÖÐÑ¡Ôñ¡°Ìí¼ÓÒýÓá±£¬ÔÚµ¯³öµÄ¡°Ìí¼ÓÒýÓá±¶Ô»°¿òÖÐÌí¼ÓÒÔϳ£ÓõÄÀà¿âÒýÓãº

? ESRI.ArcGIS.Carto

2

? ESRI.ArcGIS.Display ? ESRI.ArcGIS.Geometry ? ESRI.ArcGIS.System ? ESRI.ArcGIS.SystemUI

£¨4£©ÔÚ´°ÌåÖÐǶÈëArcGIS Engine¿Ø¼þ

Ë«»÷¹¤¾ßÏäÖеġ°ESRI¡±±êÇ©À¸ÖеÄAxMapControlºÍAxLicenseControl¿Ø¼þ£¬½«ËüÃǶ¼Ìí¼Óµ½´°ÌåÉÏ£¬²¢µ÷ÕûºÃ´óСºÍλÖá£

£¨5£©ÓÒ¼üµ¥»÷MapControl¿Ø¼þ£¬ÔÚµ¯³öµÄ¶Ô»°¿òÖÐÑ¡Ôñ¡¾ÊôÐÔ¡¿

3

£¨6£©ÔÚµ¯³öµÄÊôÐÔÒ³´°ÌåÖÐÌí¼Óͼ²ã

Ìí¼Óͼ²ã

£¨7£©ÔËÐгÌÐò£¬ÏÔʾ½á¹û

2£©Ê¹ÓóÌÐò¶¯Ì¬µØÏòMapControlÖÐÌí¼Óͼ²ã

¢ÙʹÓþø¶Ô·¾¶¼ÓÔØÍ¼²ã£¨Çë˼¿¼ÕâÖÖ¼ÓÔØÍ¼²ãµÄ·½Ê½ÓкξÖÏÞÐÔ£¿£© private void Form1_Load(object sender, EventArgs e) {

axMapControl1.AddShapeFile(\¡°, \ axMapControl1.AddShapeFile(¡°d:\\\\data\\\\world\\\\¡°, \ axMapControl1.AddShapeFile(\¡°, \}

¢ÚʹÓÃÏà¶Ô·¾¶¼ÓÔØÍ¼²ã£¨ÒªÇóͬѧÃÇÖØµãÕÆÎÕÕâÖÖ¼ÓÔØÍ¼²ãµÄ·½Ê½£© private void Form1_Load(object sender, EventArgs e)

4

{

string CurrentPath = Directory.GetCurrentDirectory();

Directory.SetCurrentDirectory(CurrentPath + \string FilePath = Directory.GetCurrentDirectory();

axMapControl1.AddShapeFile(FilePath, \axMapControl1.AddShapeFile(FilePath, \axMapControl1.AddShapeFile(FilePath, \}

3£©Í¼²ãµÄÏà¹Ø²Ù×÷

£¨1£©·µ»ØÍ¼²ãÃû³Æ

ÔÚÁбí¿òÖÐÏÔʾ³öµØÍ¼Öи÷¸öͼ²ãµÄͼ²ãÃû£¬ÈçÏÂͼËùʾ£º

£¨2£©¿ØÖÆÍ¼²ãµÄÏÔʾ

ͨ¹ý¸´Ñ¡¿ò¿ØÖÆÍ¼²ãµÄÏÔʾÓëÒþ²Ø£¬ÈçÏÂͼËùʾ£º

£¨3£©¿ØÖÆÍ¼²ãµÄÏÔʾ˳Ðò

ͨ¹ýÍ϶¯Áбí¿òÖеÄͼ²ãÃûÀ´¿ØÖÆÍ¼²ãµÄÏÔʾ˳Ðò£¬ÈçÏÂͼËùʾ£º

5

2.ʹÓÃArcGIS EngineÖзâ×°ºÃµÄ¶ÔÏóʵÏÖµØÍ¼µÄ²Ù×÷

Õⲿ·ÖʵÑéÇë¸ÄдʵÑéÒ»ÖеĵØÍ¼²Ù×÷´úÂ룬ÓÃArcGIS EngineÖзâ×°ºÃµÄ¶ÔÏóʵÏÖµØÍ¼µÄ»ù±¾²Ù×÷¡£

1) ³£Óõķâ×°ºÃµÄµØÍ¼²Ù×÷¹¤¾ß£¨Tool£©

¢Ù ¢Ú ¢Û ¢Ü ¢Ý ¢Þ

ControlsMapZoomInToolClass £¨·Å´óµØÍ¼£© ControlsMapZoomOutToolClass £¨ËõСµØÍ¼£© ControlsMapPanToolClass £¨Òƶ¯µØÍ¼£©

ControlsMapZoomPanToolClass £¨Ëõ·Å/Æ½ÒÆµØÍ¼£© ControlsMapIdentifyToolClass £¨µãͼ²éѯ£© ControlsMapMeasureToolClass £¨Á¿²â¹¤¾ß£©

2) ³£Óõķâ×°ºÃµÄµØÍ¼²Ù×÷ÃüÁCommand£©

¢Ù ControlsMapZoomInFixedCommandClass £¨ÖÐÐÄ·Å´óµØÍ¼ÃüÁ

6

¢Ú ¢Û ¢Ü ¢Ý ControlsMapZoomOutFixedCommandClass £¨ÖÐÐÄËõСµØÍ¼ÃüÁ ControlsMapFullExtentCommandClass £¨È«Í¼ÏÔʾÃüÁ ControlsMapZoomToLastExtentBackCommandClass £¨Ç°Ò»ÊÓͼÃüÁ ControlsMapZoomToLastExtentForwardCommandClass£¨ºóÒ»ÊÓͼÃüÁ

3£©´úÂëʾÀý

¢Ùͨ¹ýControlsMapZoomInToolʵÏÖ·Å´óµØÍ¼²Ù×÷

ICommand Cmd;

Cmd=new ControlsMapZoomInToolClass(); Cmd.OnCreate(axMapControl1.Object); axMapControl1.CurrentTool=(ITool)Cmd;

¢Úͨ¹ýControlsMapFullExtentCommandʵÏÖȫͼÏÔʾ

ICommand cmd;

cmd = new ControlsMapFullExtentCommandClass(); cmd.OnCreate(axMapControl1.Object); cmd.OnClick();

3.ʹÓÃTocControl¿Ø¼þ¿ØÖÆÍ¼²ã

1£©°ó¶¨TocControl¿Ø¼þ

TocControl¿Ø¼þÊÇArcGIS EngineÖÐÓÃÀ´¹ÜÀíMapControlÖÐͼ²ãµÄ¿Ø¼þ£¬ËüµÄʹÓ÷dz£¼òµ¥£¬Ö»ÐèÒª°ÑËüºÍ¶ÔÓ¦µÄMapControl¿Ø¼þ½øÐа󶨼´¿É¡£°ó¶¨µÄÁ½ÖÖ·½·¨ÈçÏ£º £¨1£©ÔڿؼþÊôÐÔÖÐÖ±½Ó°ó¶¨

ÓÒ¼üµ¥»÷TocControl¿Ø¼þ£¬ÔÚµ¯³öµÄÊôÐÔÒ³¶Ô»°¿òÖÐÉèÖá°Buddy¡±ÕâÒ»ÏîΪҪ°ó¶¨µÄMapControl¿Ø¼þ£¬ÈçÏÂͼËùʾ£º

7

£¨2£©Ê¹ÓôúÂë½øÐж¯Ì¬°ó¶¨

Ò²¿ÉÒÔͨ¹ý´úÂëµÄ·½Ê½°ÑTocControl¿Ø¼þºÍMapControl¿Ø¼þ½øÐа󶨣¬´úÂëÈçÏ£º axTOCControl1.SetBuddyControl(axMapControl1); 2£©Ê¹ÓÃTocControl¿Ø¼þ¶Ôͼ²ã½øÐи߼¶²Ù×÷

£¨1£©ÐÞ¸Äͼ²ãµÄÃû³Æ

Ê×ÏÈ£¬ÔÚFormµÄLoadʼþÖÐÌí¼ÓÈçϵĴúÂ룺

axTOCControl1.LabelEdit = esriTOCControlEdit.esriTOCControlManual; Æä´Î£¬ÔÚTocControlµÄOnEndLabelEditʼþÖÐÌí¼ÓÒÔÏ´úÂë¼´¿ÉÒÔʵÏÖͼ²ãÃû³ÆµÄÐ޸ģº

private void axTOCControl1_OnEndLabelEdit(object sender, TOCControlEvents_OnEndLabelEditEvent e) {

if (e.newLabel.Trim() == \ {

e.canEdit = false; } }

£¨2£©Í϶¯Í¼²ã¸Ä±äͼ²ãµÄµþ·Å˳Ðò

ÔÚTocControl¿Ø¼þµÄÊôÐÔÒ³Öаѡ°Enable Layer Drag and Drop¡±¸´Ñ¡¿òÑ¡Éϼ´¿ÉÒÔʵÏÖÍ϶¯Í¼²ã¸Ä±äͼ²ã˳ÐòµÄ²Ù×÷¡£

£¨3£©ÔÚTocControlÉϸøÍ¼²ãÌí¼Ó¿ì½Ý²Ëµ¥

Õⲿ·ÖʵÑéÒªÇóÊó±êÓÒ¼üµã»÷TocControl¿Ø¼þµÄ²»Í¬²¿Î»µ¯³ö²»Í¬µÄ¿ì½Ý²Ëµ¥£¬²¢ÊµÏÖÏàÓ¦µÄ¹¦ÄÜ¡£

¢Ù µ±Êó±êÓÒ¼üµ¥»÷TocControl¿Ø¼þÖеĵØÍ¼Í¼±êʱ£¬µ¯³öÈçϵĿì½Ý²Ëµ¥

8

ÇëͬѧÃÇͨ¹ý´úÂëʵÏÖ¿ì½Ý²Ëµ¥ÖеľßÌ幦ÄÜ¡£

¢Ú µ±Êó±êÓÒ¼üµ¥»÷TocControl¿Ø¼þÖеÄij¸öͼ²ãʱ£¬µ¯³öÈçϵĿì½Ý²Ëµ¥

ÇëͬѧÃÇͨ¹ý´úÂëʵÏÖ¿ì½Ý²Ëµ¥ÖеľßÌ幦ÄÜ¡£

4.ʹÓÃTextElement»æÖƱê×¢

Ñ¡Ôñcountryͼ²ã×÷Ϊ±êעͼ²ã£¬ÒÔ¹ú¼ÒÃû½øÐÐͼ²ãµÄ±ê×¢¡£±ê×¢µÄ½á¹ûÈçÏÂͼËùʾ£º

9

5.Ó¥ÑÛͼ¹¦ÄܵÄʵÏÖ

¾ßÌåÒªÇó£º

¢Ù ʵÏÖÓ¥ÑÛͼºÍÖ÷µØÍ¼Í¬Ê±×°ÔØÒ»ÖµÄÊý¾Ý ¢Ú µ±ÔÚÖ÷µØÍ¼ÖнøÐÐËõ·Å¡¢ÂþÓεȲÙ×÷ʱ£¬Í¬Ê±¸üÐÂÓ¥ÑÛͼµ½¶ÔÓ¦µÄ·¶Î§ºÍλÖà ¢Û ÔÚÓ¥ÑÛͼÖеã»÷µØÍ¼»òÕßÍ϶¯¾ØÐοòʱ£¬Ö÷µØÍ¼Äܹ»¶¨Î»µ½¶ÔÓ¦µÄ·¶Î§ºÍλÖÃ

10