当前位置:数据库 > Oracle >>

基于ArcGIS10.0和Oracle10g的空间数据管理平台十七(C#开发)-空间数据编辑(下)

上一篇http://www.zzzyk.com/kf/201202/119588.html介绍了空间数据编辑一部分实现,今天继续完成剩余的部分实现。

1.根据选择编辑任务的不同显示不同形状的鼠标,以便指示相应任务方便编辑操作

[csharp]
 1         /// <summary> 
 2 /// 根据选择编辑任务的不同显示不同形状的鼠标,以便指示相应任务方便编辑操作 
 3 /// </summary> 
 4 /// <param name="sender"></param> 
 5 /// <param name="e"></param> 
 6         private void cboTasks_SelectedIndexChanged(object sender, EventArgs e) 
 7         { 
 8             // Restate  
 9             m_MapControl.MousePointer = esriControlsMousePointer.esriPointerDefault; 
10             m_bEditingFtr = false; 
11             m_bSketching = false; 
 
12             m_bSelecting = false; 
13             m_bMove = false; 
14  
15             // Select an operation and mouse pointer depending on the user choice  
16             switch (cboTasks.SelectedIndex) 
17             { 
18                 case 0: 
19                     // Do Nothing - the tool has already been reset  
20                     break; 
21                 case 1: 
22                     m_MapControl.MousePointer = esriControlsMousePointer.esriPointerCrosshair; 
23                     m_bEditingFtr = true; 
24                     break; 
25                 case 2: 
26                     m_MapControl.MousePointer = esriControlsMousePointer.esriPointerPencil; 
27                     m_bSketching = true; 
28                     break; 
29                 case 3: 
30                     m_MapControl.MousePointer = esriControlsMousePointer.esriPointerCrosshair; 
31                     m_bSelecting = true; 
32                     break; 
33                 case 4: 
34                     m_MapControl.MousePointer = esriControlsMousePointer.esriPointerHand; 
35                     m_bMove = true; 
36                     break; 
37             }  
38  
39         } 
2.选择需要的图层并且在地图编辑控件中显示出来

[csharp]
1         /// <summary> 
 2 /// 选择需要的图层并且在地图编辑控件中显示出来 
 3 /// </summary> 
 4 /// <param name="sender"></param> 
 5 /// <param name="e"></param> 
 6         private void cboLayers_SelectedIndexChanged(object sender, EventArgs e) 
 7         { 
 8             if (m_pMap == null) 
 9             { 
10                 return; 
11             } 
12  
13             // Clear any existing selection  
14             m_pMap.ClearSelection(); 
15             IActiveView ipActiveView; 
16             ipActiveView = (IActiveView)m_pMap; 
17             ipActiveView.PartialRefresh(esriViewDrawPhase.esriViewGeoSelection, null, null); 
18  
19             String strLayerName = cboLayers.SelectedItem.ToString(); 
20             axMapControl1.Map.ClearLayers(); 
21             AddLayerToMapCtl(strLayerName, true); 
22             m_pCurrentLayer = m_pMap.get_Layer(0); 
23  
24             SetControlStates(); 
25         } 
3.测试是否击中地图对象或地图对象上的节点

[csharp]
1         /// <summary> 
 2 /// 测试是否击中地图对象或地图对象上的节点 
 3 /// </summary> 
 4 /// <param name="tolerance">查询容差</param> 
 5 /// <param name="pPoint">点击位置</param> 
 6 /// <param name="pFeature">测试对象</param> 
 7 /// <param name="pHitPoint

补充:软件开发 , C# ,
Oracle
MySQL
Access
SQLServer
DB2
Excel
SQLite
SYBASE
Postgres
如果你遇到数据库难题:
请访问www.zzzyk.com 试试
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,