• 大小: 1.66MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-10-26
  • 语言: 其他
  • 标签: AE  栅格计算  

资源简介

gis中实现栅格计算器的功能,对多个删格图层进行各种数学运算,ArcGIS Engine 开发平台(gis achieve grid calculator function, a plurality of layers Raster various mathematical operations, ArcGIS Engine Development Platform),实现对重分类或者原有栅格数量的计算

资源截图

代码片段和文件信息

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using ESRI.ArcGIS.Carto;
using ESRI.ArcGIS.Geodatabase;
using ESRI.ArcGIS.DataSourcesRaster;
using ESRI.ArcGIS.Geometry;
using ESRI.ArcGIS.SpatialAnalyst;
using ESRI.ArcGIS.GeoAnalyst;

namespace Math
{
    public partial class FrmMath : Form
    {
        public FrmMath()
        {
            InitializeComponent();
        }

        private IGeoDataset inGeodataset1;//输入数据1
        private IGeoDataset inGeodataset2;//输入数据2
        private IGeoDataset result;//返回结果

        private IMathOp mathOp;//数学计算对象
        private ILogicalOp logicalOp;//逻辑运算对象
        private ITrigOp trigOp;//三角函数计算对象
        private IBitwiseOp bitwiseOp;//按位计算对象
        

        #region 参数设置
        private void cmbInputData1_MouseClick(object sender MouseEventArgs e)
        {
            ComboBox c = sender as ComboBox;
            c.Items.Clear();

            IMap map = axMapControl1.Map;
            if (map != null)
            {
                for (int i = 0; i < map.layerCount; i++)
                {
                    c.Items.Add(map.get_layer(i).Name);
                }
            }
        }
        //设置输入数据1 
        private void cmbInputData1_SelectedIndexChanged(object sender EventArgs e)
        {
            try
            {
                ilayer layer = getlayerFromName(cmbInputData1.SelectedItem.ToString());
                IRasterlayer rasterlayer = layer as IRasterlayer;

                IRaster raster = rasterlayer.Raster;
                inGeodataset1 = raster as IGeoDataset;
            }
            catch {
                MessageBox.Show(“请输入栅格数据!“);
            };
        }
        //设置输入数据2
        private void cmbInputData2_SelectedIndexChanged(object sender EventArgs e)
        {
            try
            {
                ilayer layer = getlayerFromName(cmbInputData2.SelectedItem.ToString());
                IRasterlayer rasterlayer = layer as IRasterlayer;

                IRaster raster = rasterlayer.Raster;
                inGeodataset2 = raster as IGeoDataset;
            }
            catch
            {
                MessageBox.Show(“请输入栅格数据!“);
            };
        }
        //对象实例化
        private void FrmMath_Load(object sender EventArgs e)
        {
            mathOp = new RasterMathOpsClass();
            logicalOp = new RasterMathOpsClass();
            trigOp = new RasterMathOpsClass();
            bitwiseOp = new RasterMathOpsClass();
        }
        #endregion

        #region 数学计算
        private void btnPlus_Click(object sender EventArgs e)
        {
            try
            {
                if (cmbInputData1.SelectedItem == null || cmbInputData2.SelectedItem == null)
                    return;
                result = mathOp.Plus(inGeodataset1

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      31232  2015-01-29 11:43  栅格计算\code\Math\bin\Debug\Math.exe

     文件      69120  2015-01-29 11:43  栅格计算\code\Math\bin\Debug\Math.pdb

     文件      11608  2015-01-29 11:43  栅格计算\code\Math\bin\Debug\Math.vshost.exe

     文件        490  2010-03-17 22:39  栅格计算\code\Math\bin\Debug\Math.vshost.exe.manifest

     文件      30208  2015-01-29 11:42  栅格计算\code\Math\bin\Release\Math.exe

     文件      48640  2015-01-29 11:42  栅格计算\code\Math\bin\Release\Math.pdb

     文件      11608  2015-01-29 11:42  栅格计算\code\Math\bin\Release\Math.vshost.exe

     文件        490  2010-03-17 22:39  栅格计算\code\Math\bin\Release\Math.vshost.exe.manifest

     文件          1  2015-01-23 21:22  栅格计算\code\Math\ClassDiagram1.cd

     文件      10700  2015-01-29 11:41  栅格计算\code\Math\FrmMath.cs

     文件      23678  2015-01-27 10:53  栅格计算\code\Math\FrmMath.Designer.cs

     文件      11637  2015-01-27 10:53  栅格计算\code\Math\FrmMath.resx

     文件        754  2015-01-23 21:22  栅格计算\code\Math\LicenseInitializer.cs

     文件      15234  2015-01-23 21:22  栅格计算\code\Math\LicenseInitializer.Designer.cs

     文件       9149  2015-01-23 21:22  栅格计算\code\Math\Math.csproj

     文件        452  2015-01-23 21:22  栅格计算\code\Math\Math.csproj.user

     文件     249347  2015-01-28 14:27  栅格计算\code\Math\obj\x86\Debug\DesignTimeResolveAssemblyReferences.cache

     文件       7277  2015-01-29 11:43  栅格计算\code\Math\obj\x86\Debug\DesignTimeResolveAssemblyReferencesInput.cache

     文件       2625  2015-01-29 11:43  栅格计算\code\Math\obj\x86\Debug\Math.csproj.FileListAbsolute.txt

     文件        977  2015-01-27 10:56  栅格计算\code\Math\obj\x86\Debug\Math.csproj.GenerateResource.Cache

     文件     262372  2015-01-28 21:16  栅格计算\code\Math\obj\x86\Debug\Math.csprojResolveAssemblyReference.cache

     文件      31232  2015-01-29 11:43  栅格计算\code\Math\obj\x86\Debug\Math.exe

     文件       4050  2015-01-27 10:56  栅格计算\code\Math\obj\x86\Debug\Math.FrmMath.resources

     文件      69120  2015-01-29 11:43  栅格计算\code\Math\obj\x86\Debug\Math.pdb

     文件        180  2015-01-23 21:22  栅格计算\code\Math\obj\x86\Debug\Math.Properties.Resources.resources

     文件       4608  2015-01-23 21:22  栅格计算\code\Math\obj\x86\Debug\TempPE\Properties.Resources.Designer.cs.dll

     文件     124772  2015-01-29 11:10  栅格计算\code\Math\obj\x86\Release\DesignTimeResolveAssemblyReferences.cache

     文件       7281  2015-01-29 11:42  栅格计算\code\Math\obj\x86\Release\DesignTimeResolveAssemblyReferencesInput.cache

     文件        780  2015-01-29 11:42  栅格计算\code\Math\obj\x86\Release\Math.csproj.FileListAbsolute.txt

     文件        977  2015-01-28 21:16  栅格计算\code\Math\obj\x86\Release\Math.csproj.GenerateResource.Cache

............此处省略278个文件信息

评论

共有 条评论