public static async Task DisplayRasterWithSymbolAsync(Uri rasterUri, string displayName, string styleCategory, string styleName, string fieldName, int transparency, bool isVisible) { // parse the uri for the folder and file string strFileName = null; string strFolderPath = null; if (rasterUri.IsFile) { strFileName = System.IO.Path.GetFileName(rasterUri.LocalPath); strFolderPath = System.IO.Path.GetDirectoryName(rasterUri.LocalPath); } // Open the requested raster so we know it exists; return if it doesn't await QueuedTask.Run(async() => { RasterDataset rDataset = null; // Opens a file geodatabase. This will open the geodatabase if the folder exists and contains a valid geodatabase. using (Geodatabase geodatabase = new Geodatabase(new FileGeodatabaseConnectionPath(new Uri(strFolderPath)))) { // Use the geodatabase. try { rDataset = geodatabase.OpenDataset <RasterDataset>(strFileName); } catch (GeodatabaseTableException e) { Debug.WriteLine("DisplayRasterWithSymbolAsync: Unable to open raster " + strFileName); Debug.WriteLine("DisplayRasterWithSymbolAsync: " + e.Message); return; } } RasterLayer rasterLayer = null; // Create the raster layer on the active map await QueuedTask.Run(() => { rasterLayer = (RasterLayer)LayerFactory.Instance.CreateLayer(rasterUri, MapView.Active.Map); }); // Set raster layer transparency and name if (rasterLayer != null) { rasterLayer.SetTransparency(transparency); rasterLayer.SetName(displayName); rasterLayer.SetVisibility(isVisible); // Create and deploy the unique values renderer await MapTools.SetToUniqueValueColorizer(displayName, styleCategory, styleName, fieldName); } }); }
public static async Task DisplayRasterAsync(Uri rasterUri, string displayName, int transparency) { // parse the uri for the folder and file string strFileName = null; string strFolderPath = null; if (rasterUri.IsFile) { strFileName = System.IO.Path.GetFileName(rasterUri.LocalPath); strFolderPath = System.IO.Path.GetDirectoryName(rasterUri.LocalPath); } await QueuedTask.Run(() => { RasterDataset rDataset = null; // Opens a file geodatabase. This will open the geodatabase if the folder exists and contains a valid geodatabase. using (Geodatabase geodatabase = new Geodatabase(new FileGeodatabaseConnectionPath(new Uri(strFolderPath)))) { // Use the geodatabase. try { rDataset = geodatabase.OpenDataset <RasterDataset>(strFileName); } catch (GeodatabaseTableException e) { Debug.WriteLine("DisplayRasterAsync: Unable to open raster " + strFileName); Debug.WriteLine("DisplayRasterAsync: " + e.Message); return; } } // Create a new colorizer definition using default constructor. StretchColorizerDefinition stretchColorizerDef = new StretchColorizerDefinition(); RasterLayer rasterLayer = (RasterLayer)LayerFactory.Instance.CreateLayer(rasterUri, MapView.Active.Map); if (rasterLayer != null) { rasterLayer.SetTransparency(transparency); rasterLayer.SetName(displayName); } }); }