protected override SimpleShapeType GetFeatureSimpleShapeTypeCore(FeatureLayer featureLayer) { SimpleShapeType result = SimpleShapeType.Unknown; ShapeFileFeatureLayer shapeFileFeatureLayer = featureLayer as ShapeFileFeatureLayer; bool isDataSourceAvailable = DataSourceResolveTool.IsDataSourceAvailable(featureLayer); if (shapeFileFeatureLayer != null && isDataSourceAvailable) { ShapeFileType shapeFileType = ShapeFileType.Null; shapeFileFeatureLayer.SafeProcess(() => shapeFileType = shapeFileFeatureLayer.GetShapeFileType()); switch (shapeFileType) { case ShapeFileType.Point: case ShapeFileType.PointZ: case ShapeFileType.Multipoint: case ShapeFileType.PointM: case ShapeFileType.MultipointM: result = SimpleShapeType.Point; break; case ShapeFileType.Polyline: case ShapeFileType.PolylineZ: case ShapeFileType.PolylineM: case ShapeFileType.Multipatch: result = SimpleShapeType.Line; break; case ShapeFileType.Polygon: case ShapeFileType.PolygonM: case ShapeFileType.PolygonZ: result = SimpleShapeType.Area; break; } } return(result); }
protected override bool IsDataSourceAvailableCore(Layer layer) { return(DataSourceResolveTool.IsDataSourceAvailable(layer)); }