[地理信息系统课程设计报告]
3、DisplayToDataGridDAL类源码
classDisplayToDataGridDAL {
privatestaticIFeature pFeature; ///
///返回游标所指向的第一个元素 ///
///
publicstaticIFeature GetFeature(IFeatureCursor pFeatureCursor) {
return pFeature = pFeatureCursor.NextFeature(); } ///
///
publicstaticstring getShapeType(IFeatureLayer pFeatureLayer) {
switch (pFeatureLayer.FeatureClass.ShapeType) {
caseesriGeometryType.esriGeometryPoint: return\;
caseesriGeometryType.esriGeometryPolyline: return\;
caseesriGeometryType.esriGeometryPolygon: return\; default: return\; } } ///
///获取查询过滤后的游标,将查询到的要素的属性填充到DataGridView ///
///
publicstaticvoid Dataview(IFeatureCursor pFeatureCursor,DataGridView datagridview,IFeatureLayer pFeatureLayer) {
DataSet ds = newDataSet();
DataTable table = newDataTable(\);
string shapetype = getShapeType(pFeatureLayer);
[地理信息系统课程设计报告]21 / 38
[地理信息系统课程设计报告]
for (int i = 0; i < pFeatureCursor.Fields.FieldCount; i++) { //创建表头
table.Columns.Add(pFeatureCursor.Fields.get_Field(i).Name); }
while(pFeature!=null) {
DataRow row = table.NewRow();
for (int i = 0; i < pFeature.Fields.FieldCount; i++) {
//如果字段类型是几何类型esriFieldTypeGeometry,则字段值为shapetype //反之为 get_Value()
if (pFeature.Fields.get_Field(i).Type == esriFieldType.esriFieldTypeGeometry) { row[i] = shapetype; } else
{
row[i] = pFeature.get_Value(i).ToString(); } } table.Rows.Add(row);
//游标向下移动一个要素,指向下一个要素 pFeature = pFeatureCursor.NextFeature(); }
ds.Tables.Add(table); //datagridview绑定数据源
datagridview.DataSource = ds.Tables[\]; } }
4、FixedZoomIn类源码
using System;
using System.Drawing;
using System.Runtime.InteropServices; using ESRI.ArcGIS.ADF.BaseClasses; using ESRI.ArcGIS.ADF.CATIDs; using ESRI.ArcGIS.Controls; using ESRI.ArcGIS.Carto; using ESRI.ArcGIS.Geometry; namespace MyMap.Classes {
[Guid(\)]
[地理信息系统课程设计报告]22 / 38
[地理信息系统课程设计报告]
[ClassInterface(ClassInterfaceType.None)] [ProgId(\)] publicsealedclassFixedZoomIn : BaseCommand {
#region COM Registration Function(s) [ComRegisterFunction()] [ComVisible(false)]
staticvoid RegisterFunction(Type registerType) {
// Required for ArcGIS Component Category Registrar support ArcGISCategoryRegistration(registerType); }
[ComUnregisterFunction()] [ComVisible(false)]
staticvoid UnregisterFunction(Type registerType) {
// Required for ArcGIS Component Category Registrar support ArcGISCategoryUnregistration(registerType); }
#region ArcGIS Component Category Registrar generated code privatestaticvoid ArcGISCategoryRegistration(Type registerType) {
string regKey = string.Format(\, registerType.GUID);
ControlsCommands.Register(regKey); }
privatestaticvoid ArcGISCategoryUnregistration(Type registerType) {
string regKey = string.Format(\, registerType.GUID);
ControlsCommands.Unregister(regKey); }
#endregion #endregion
privateIHookHelper m_hookHelper; public FixedZoomIn() {
base.m_category = \; //localizable text
base.m_caption = \居中放大\; //localizable text base.m_message = \居中放大\; //localizable text base.m_toolTip = \居中放大\; //localizable text
base.m_name = \; //unique id, non-localizable (e.g. \ try
{
[地理信息系统课程设计报告]23 / 38
[地理信息系统课程设计报告]
string bitmapResourceName = GetType().Name + \;
base.m_bitmap = newBitmap(GetType(), bitmapResourceName); }
catch (Exception ex) {
System.Diagnostics.Trace.WriteLine(ex.Message, \); } }
#region Overridden Class Methods publicoverridevoid OnCreate(object hook) {
if (hook == null) return;
if (m_hookHelper == null)
m_hookHelper = newHookHelperClass(); m_hookHelper.Hook = hook;
// TODO: Add other initialization code }
publicoverridevoid OnClick() {
// TODO: Add FixedZoomIn.OnClick implementation //获取当前视图范围
IActiveView pActiveView = m_hookHelper.ActiveView; IEnvelope pEnvelope = pActiveView.Extent; //扩大视图范围并刷新视图
pEnvelope.Expand(0.5, 0.5, true);
pActiveView.Extent = pEnvelope; pActiveView.Refresh(); }
#endregion }
5、FixedZoomOut类源码
namespace MyMap.Classes {
[Guid(\)] [ClassInterface(ClassInterfaceType.None)] [ProgId(\)] publicsealedclassFixedZoomOut : BaseCommand {
#region COM Registration Function(s) [ComRegisterFunction()] [ComVisible(false)]
[地理信息系统课程设计报告]24 / 38
相关推荐: