資源簡介
此AE案例中,主要包含對柵格表面進行挖填方、方位角、觀察點、測量單位、坡度等一些功能,功能相對可以滿足一般的需要,希望能幫到大家

代碼片段和文件信息
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?Surface
{
????public?partial?class?FrmSurface?:?Form
????{
????????public?FrmSurface()
????????{
????????????InitializeComponent();
????????}
????????private?object?Missing?=?Type.Missing;
????????private?ISurfaceOp?surfaceOp;//表面分析對象
????????private?IGeoDataset?inGeodataset;//輸入數據
????????private?IGeoDataset?outGeodataset;//輸出數據
????????private?double?interValue;//Contour等值線間距
????????private?IGeoDataset?beforeGeo;//填挖之前的數據
????????private?IGeoDataset?afterGeo;//填挖之后的數據
????????private?esriGeoAnalysisSlopeEnum?slopeEnum;//Slopes輸出測量單位
????????private?double?altitude;//光源高度角
????????private?double?azimuth;//光源方位角
????????private?IGeoDataset?observelayer;//觀察點數據
????????private?esriGeoAnalysisVisibilityEnum?visibilityEnum;//可見性分析類型
????????#region?設置共有參數
???????//實例化表面分析對象
????????private?void?FrmSurface_Load(object?sender?EventArgs?e)
????????{
????????????surfaceOp?=?new?RasterSurfaceOpClass();
????????}
????????
????????private?void?cmblayers_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?yerCount;?i++)
????????????????{
????????????????????c.Items.Add(map.get_layer(i).Name);
????????????????}
????????????}
????????}
????????//設置輸入的柵格數據集
????????private?void?cmblayers_SelectedIndexChanged(object?sender?EventArgs?e)
????????{
????????????try
????????????{
????????????????ilayer?layer?=?getlayerFromName(cmblayers.SelectedItem.ToString());
????????????????IRasterlayer?rasterlayer?=?layer?as?IRasterlayer;
????????????????IRaster?raster?=?rasterlayer.Raster;
????????????????inGeodataset?=?raster?as?IGeoDataset;
????????????}
????????????catch?(Exception?ex)
????????????{
????????????????MessageBox.Show(“選擇圖層不是柵格圖層!“);
????????????}
????????}
????????#endregion
????????#region?Aspect
????????private?void?btnAspect_Click(object?sender?EventArgs?e)
????????{
????????????try
????????????{
????????????????outGeodataset?=?surfaceOp.Aspect(inGeodataset);
????????????????ShowRasterResult(outGeodataset?“Aspect“);
????????????}
????????????catch?{?}
????????} ?
????#endregion
????????
????????#region?Contour
????????private?void?btnContour_Click(object?sender?EventArgs?e)
????????{
????????????try
????????????{
????????????????//等值線計算方法
????????????????outGeodataset?=?surfaceOp.Contour(inGeodataset?interValue?Missing);//等值線計算方法
????????????????ShowVectorResult(outGeodataset
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????32768??2015-01-29?11:21??柵格表面分析\code\Surface\bin\Debug\Surface.exe
?????文件??????62976??2015-01-29?11:21??柵格表面分析\code\Surface\bin\Debug\Surface.pdb
?????文件??????11608??2015-01-29?11:21??柵格表面分析\code\Surface\bin\Debug\Surface.vshost.exe
?????文件????????490??2010-03-17?22:39??柵格表面分析\code\Surface\bin\Debug\Surface.vshost.exe.manifest
?????文件??????31232??2015-01-29?11:21??柵格表面分析\code\Surface\bin\Release\Surface.exe
?????文件??????50688??2015-01-29?11:21??柵格表面分析\code\Surface\bin\Release\Surface.pdb
?????文件??????11608??2015-01-29?11:44??柵格表面分析\code\Surface\bin\Release\Surface.vshost.exe
?????文件????????490??2010-03-17?22:39??柵格表面分析\code\Surface\bin\Release\Surface.vshost.exe.manifest
?????文件??????11529??2015-01-29?11:18??柵格表面分析\code\Surface\FrmSurface.cs
?????文件??????28926??2015-01-27?10:41??柵格表面分析\code\Surface\FrmSurface.Designer.cs
?????文件??????11585??2015-01-27?10:40??柵格表面分析\code\Surface\FrmSurface.resx
?????文件????????757??2015-01-23?21:23??柵格表面分析\code\Surface\LicenseInitializer.cs
?????文件??????15237??2015-01-23?21:23??柵格表面分析\code\Surface\LicenseInitializer.Designer.cs
?????文件?????249347??2015-01-28?13:37??柵格表面分析\code\Surface\obj\x86\Debug\DesignTimeResolveAssemblyReferences.cache
?????文件???????7304??2015-01-29?11:21??柵格表面分析\code\Surface\obj\x86\Debug\DesignTimeResolveAssemblyReferencesInput.cache
?????文件???????4008??2015-01-29?11:21??柵格表面分析\code\Surface\obj\x86\Debug\Surface.csproj.FileListAbsolute.txt
?????文件????????980??2015-01-27?10:40??柵格表面分析\code\Surface\obj\x86\Debug\Surface.csproj.GenerateResource.Cache
?????文件?????390327??2015-01-28?20:17??柵格表面分析\code\Surface\obj\x86\Debug\Surface.csprojResolveAssemblyReference.cache
?????文件??????32768??2015-01-29?11:21??柵格表面分析\code\Surface\obj\x86\Debug\Surface.exe
?????文件???????4011??2015-01-27?10:40??柵格表面分析\code\Surface\obj\x86\Debug\Surface.FrmSurface.resources
?????文件??????62976??2015-01-29?11:21??柵格表面分析\code\Surface\obj\x86\Debug\Surface.pdb
?????文件????????180??2015-01-23?21:23??柵格表面分析\code\Surface\obj\x86\Debug\Surface.Properties.Resources.resources
?????文件???????4608??2015-01-23?21:23??柵格表面分析\code\Surface\obj\x86\Debug\TempPE\Properties.Resources.Designer.cs.dll
?????文件?????124772??2015-01-29?11:16??柵格表面分析\code\Surface\obj\x86\Release\DesignTimeResolveAssemblyReferences.cache
?????文件???????7308??2015-01-29?11:21??柵格表面分析\code\Surface\obj\x86\Release\DesignTimeResolveAssemblyReferencesInput.cache
?????文件????????879??2015-01-29?11:44??柵格表面分析\code\Surface\obj\x86\Release\Surface.csproj.FileListAbsolute.txt
?????文件????????980??2015-01-28?21:10??柵格表面分析\code\Surface\obj\x86\Release\Surface.csproj.GenerateResource.Cache
?????文件?????131913??2015-01-29?11:17??柵格表面分析\code\Surface\obj\x86\Release\Surface.csprojResolveAssemblyReference.cache
?????文件??????31232??2015-01-29?11:21??柵格表面分析\code\Surface\obj\x86\Release\Surface.exe
?????文件???????4011??2015-01-28?21:10??柵格表面分析\code\Surface\obj\x86\Release\Surface.FrmSurface.resources
............此處省略287個文件信息
- 上一篇:AE的柵格計算代碼,供參考
- 下一篇:STM32 UIP演示
評論
共有 條評論