public async static Task <BasicFeatureLayer> CreateDamFeatureClass(string name) { var existingLayer = MapView.Active.Map.FindLayers(name).FirstOrDefault(); if (existingLayer != null) { return(existingLayer as BasicFeatureLayer); } SharedFunctions.Log("Creating DamCandidates layer"); List <object> arguments = new List <object> { CoreModule.CurrentProject.DefaultGeodatabasePath, name, "POLYLINE", "", "DISABLED", "ENABLED" }; arguments.Add(SpatialReference); IGPResult result = await Geoprocessing.ExecuteToolAsync("CreateFeatureclass_management", Geoprocessing.MakeValueArray(arguments.ToArray())); var layer = MapView.Active.Map.FindLayers(name).FirstOrDefault() as BasicFeatureLayer; await SharedFunctions.ExecuteAddFieldTool(layer, "ContourID", "LONG"); await SharedFunctions.ExecuteAddFieldTool(layer, "StartPointID", "LONG"); await SharedFunctions.ExecuteAddFieldTool(layer, "EndPointID", "LONG"); await SharedFunctions.ExecuteAddFieldTool(layer, "ContourHeight", "SHORT"); await SharedFunctions.ExecuteAddFieldTool(layer, "LengthRating", "FLOAT"); await SharedFunctions.ExecuteAddFieldTool(layer, "DistanceOnLine", "LONG"); await SharedFunctions.ExecuteAddFieldTool(layer, "Length", "SHORT"); await SharedFunctions.ExecuteAddFieldTool(layer, "StartPointDistance", "LONG"); await SharedFunctions.ExecuteAddFieldTool(layer, "EndPointDistance", "LONG"); await SharedFunctions.ExecuteAddFieldTool(layer, "DamHeight", "SHORT"); await SharedFunctions.ExecuteAddFieldTool(layer, "DamVolume", "LONG"); await SharedFunctions.ExecuteAddFieldTool(layer, "ReservoirVolume", "LONG"); await SharedFunctions.ExecuteAddFieldTool(layer, "VolumeRating", "FLOAT"); await SharedFunctions.ExecuteAddFieldTool(layer, "DamSpansContourStart", "SHORT"); return(layer); }
public async static Task <BasicFeatureLayer> CreatePolygonFeatureClass(string name) { var existingLayer = MapView.Active.Map.FindLayers(name).FirstOrDefault(); if (existingLayer != null) { return(existingLayer as BasicFeatureLayer); } List <object> arguments = new List <object> { CoreModule.CurrentProject.DefaultGeodatabasePath, name, "POLYGON", "", "DISABLED", "ENABLED" }; arguments.Add(SpatialReference); IGPResult result = await Geoprocessing.ExecuteToolAsync("CreateFeatureclass_management", Geoprocessing.MakeValueArray(arguments.ToArray())); var layer = MapView.Active.Map.FindLayers(name).FirstOrDefault() as BasicFeatureLayer; await SharedFunctions.ExecuteAddFieldTool(layer, "DamID", "LONG"); return(layer); }
public async static Task <BasicFeatureLayer> CreateFeatureClass(string name) { var existingLayer = MapView.Active.Map.FindLayers(name).FirstOrDefault(); if (existingLayer != null) { return(existingLayer as BasicFeatureLayer); } List <object> arguments = new List <object> { CoreModule.CurrentProject.DefaultGeodatabasePath, name, "POLYLINE", "", "DISABLED", "ENABLED" }; arguments.Add(SpatialReference); IGPResult result = await Geoprocessing.ExecuteToolAsync("CreateFeatureclass_management", Geoprocessing.MakeValueArray(arguments.ToArray())); var layer = MapView.Active.Map.FindLayers(name).FirstOrDefault() as BasicFeatureLayer; await SharedFunctions.ExecuteAddFieldTool(layer, "LowerDamID", "LONG"); await SharedFunctions.ExecuteAddFieldTool(layer, "UpperDamID", "LONG"); await SharedFunctions.ExecuteAddFieldTool(layer, "CapacityInMWh", "FLOAT"); await SharedFunctions.ExecuteAddFieldTool(layer, "Distance", "LONG"); await SharedFunctions.ExecuteAddFieldTool(layer, "LowerHeight", "SHORT"); await SharedFunctions.ExecuteAddFieldTool(layer, "UpperHeight", "SHORT"); await SharedFunctions.ExecuteAddFieldTool(layer, "CapacityDistanceRatio", "FLOAT"); await SharedFunctions.ExecuteAddFieldTool(layer, "UsableHeightDifference", "SHORT"); await SharedFunctions.ExecuteAddFieldTool(layer, "CapacityUtilization", "FLOAT"); return(layer); }