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);
        }
Beispiel #2
0
        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);
        }