示例#1
0
 /// <summary>
 /// Create feature layer of a selected type (if it doesn't already exist)
 /// TODO: test this funciton
 /// </summary>
 /// <param name="layerType"></param>
 /// <returns></returns>
 private static FeatureLayer makeLayer(FeatureLayerType layerType)
 {
     try
     {
         var name   = layerType.ToString("g");
         var symRef = createSymbol(layerType);
         var rd     = new SimpleRendererDefinition(symRef, label: name, description: name);
         // TODO: create new dataconnection for Rhino with attributes as needed
         var dc = MapView.Active.Map.Layers.FirstOrDefault().GetDataConnection();
         return(LayerFactory.Instance.CreateFeatureLayer(dc, MapView.Active.Map, layerName: layerType.ToString("g"), rendererDefinition: rd));
     }
     catch
     {
         return(null);
     }
 }
示例#2
0
        private static ArcGIS.Core.CIM.CIMSymbolReference createSymbol(FeatureLayerType layerType)
        {
            var color = ArcGIS.Core.CIM.CIMColor.CreateRGBColor(0, 255, 255);

            switch (layerType)
            {
            case FeatureLayerType.GH_Preview_Point:
                return(ArcGIS.Core.CIM.CIMSymbolReference.FromJson(SymbolFactory.Instance.ConstructPointSymbol(color).ToJson()));

            case FeatureLayerType.GH_Preview_Polyline:
                return(ArcGIS.Core.CIM.CIMSymbolReference.FromJson(SymbolFactory.Instance.ConstructLineSymbol(color).ToJson()));

            case FeatureLayerType.GH_Preview_Polygon:
                return(ArcGIS.Core.CIM.CIMSymbolReference.FromJson(SymbolFactory.Instance.ConstructPolygonSymbol(color).ToJson()));

            default:
                return(null);
            }
        }
示例#3
0
        /// <summary>
        /// Get the relevant GH Feature layer based on the type (Point, Line, Polygon)
        /// </summary>
        /// <param name="type">Feature layer type (point, line, polygon)</param>
        /// <returns>Feature Layer</returns>
        private static BasicFeatureLayer getFeatureLayer(FeatureLayerType type)
        {
            var ghPreviewLayer = MapView.Active.Map.FindLayers(type.ToString("g")).FirstOrDefault();

            if (ghPreviewLayer != null)
            {
                return(ghPreviewLayer as BasicFeatureLayer);
            }
            else
            {
                // TODO: uncomment once fully tested
                // ghPreviewLayer = makeLayer(type);
                if (ghPreviewLayer != null)
                {
                    return(ghPreviewLayer as BasicFeatureLayer);
                }
                else
                {
                    return(null);
                }
            }
        }