2-2 Open raster tif file

This commit is contained in:
PeterZhong 2024-10-28 11:44:28 +08:00
parent 0ecca052cf
commit c0df38bbf9
2 changed files with 32 additions and 0 deletions

View File

@ -16,6 +16,7 @@
<MenuItem x:Name="Menu_OpenShp" Header="打开Shp" Click="Menu_OpenShp_Click"/>
<MenuItem x:Name="Menu_OpenGeodatabase" Header="打开Geodatabase" Click="Menu_OpenGeodatabase_Click"/>
<MenuItem x:Name="Menu_OpenOnlineMap" Header="打开在线地图" Click="Menu_OpenOnlineMap_OnClick"></MenuItem>
<MenuItem x:Name="Menu_OpenRaster" Header="打开栅格数据" Click="Menu_OpenRaster_OnClick"></MenuItem>
<MenuItem x:Name="Menu_Exit" Header="退出程序" Click="Menu_Exit_OnClick"></MenuItem>
</MenuItem>
<MenuItem x:Name="Menu_View" Header="视图">

View File

@ -16,6 +16,7 @@ using System.Windows.Navigation;
using System.Windows.Shapes;
using Esri.ArcGISRuntime.Geometry;
using Esri.ArcGISRuntime.Portal;
using Esri.ArcGISRuntime.Rasters;
using Esri.ArcGISRuntime.Security;
using Esri.ArcGISRuntime.Symbology;
using Esri.ArcGISRuntime.UI;
@ -447,5 +448,35 @@ namespace GisDevelop_Exp
{
m_CurOper = CURRENTOPERATION.IdentifyQuery;
}
private void Menu_OpenRaster_OnClick(object sender, RoutedEventArgs e)
{
OpenRaster();
}
private async void OpenRaster()
{
var aMap = new Map(BasemapStyle.ArcGISImagery);
await aMap.LoadAsync();
string _slocalRasterPath = "";
System.Windows.Forms.OpenFileDialog fileDialog = new System.Windows.Forms.OpenFileDialog();
fileDialog.Filter = "栅格文件(*.tif)|*.tif";
if (fileDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
_slocalRasterPath = fileDialog.FileName;
}
if (System.IO.File.Exists(_slocalRasterPath))
{
Raster raster = new Raster(_slocalRasterPath);
RasterLayer rasterLayer = new RasterLayer(raster);
aMap.OperationalLayers.Add(rasterLayer);
await rasterLayer.LoadAsync();
Viewpoint geodatabaseViewPoint = new Viewpoint(rasterLayer.FullExtent);
aMap.InitialViewpoint = geodatabaseViewPoint;
MainMapView.Map = aMap;
}
}
}
}