コード例 #1
0
        private static void DeserializeLayer(dynamic layer, IMap map, Layer featureLayer)
        {
            LegacyLayerType typeOfLayer = (LegacyLayerType)Enum.ToObject(typeof(LegacyLayerType), Convert.ToInt32(layer["Type"]));

            switch (typeOfLayer)
            {
            case LegacyLayerType.Grid:
                break;

            case LegacyLayerType.Image:
                break;

            case LegacyLayerType.Invalid:
                throw new ArgumentException("The LayerType is an invalid layer type and cannot be loaded.");

            case LegacyLayerType.LineShapefile:
                LegacyDeserializer.DeserializeLayer(layer, featureLayer as MapLineLayer);
                break;

            case LegacyLayerType.PointShapefile:
                LegacyDeserializer.DeserializeLayer(layer, featureLayer as MapPointLayer);
                break;

            case LegacyLayerType.PolygonShapefile:
                LegacyDeserializer.DeserializeLayer(layer, featureLayer as MapPolygonLayer);

                break;

            default:
                throw new NotImplementedException("That LayerType is not supported.");
            }

            LegacyDeserializer.DeserializeLayerProperties(layer, featureLayer);
        }
コード例 #2
0
        private static void DeserializeLayers(MapGroup g, dynamic layers)
        {
            foreach (var layer in layers)
            {
                try
                {
                    LegacyLayerType typeOfLayer = (LegacyLayerType)Enum.ToObject(typeof(LegacyLayerType), Convert.ToInt32(layer["Type"]));
                    Layer           mapLayer;

                    switch (typeOfLayer)
                    {
                    case LegacyLayerType.Grid:
                        mapLayer = GetGridLayer(layer);
                        break;

                    case LegacyLayerType.Image:
                        mapLayer = GetImageLayer(layer);
                        break;

                    case LegacyLayerType.Invalid:
                        throw new ArgumentException("The LayerType is an invalid layer type and cannot be loaded.");

                    case LegacyLayerType.LineShapefile:
                        mapLayer = GetLineLayer(layer);
                        break;

                    case LegacyLayerType.PointShapefile:
                        mapLayer = GetPointLayer(layer);
                        break;

                    case LegacyLayerType.PolygonShapefile:
                        mapLayer = GetPolygonLayer(layer);

                        break;

                    default:
                        throw new NotImplementedException("That LayerType is not supported.");
                    }

                    if (mapLayer != null)
                    {
                        LegacyDeserializer.DeserializeLayerProperties(layer, mapLayer);

                        g.Add(mapLayer);
                    }
                }
                catch (Exception exOpen)
                {
                    // TODO: provide a warning of some sort, possibly ask abort/retry/continue
                    // HACK: we should be catching a more specific exception.
                    Trace.WriteLine(exOpen.Message);
                }
            }
        }