public static void PointsLabelingPlaced() { //ExStart: PointsLabelingPlaced using (var map = new Map(500, 200)) { var symbol = new SimpleMarker { FillColor = Color.LightGray, StrokeStyle = StrokeStyle.None }; var labeling = new SimpleLabeling(labelAttribute: "name") { HaloSize = 1, Placement = new PointLabelPlacement { VerticalAnchorPoint = VerticalAnchor.Bottom, HorizontalAnchorPoint = HorizontalAnchor.Left, HorizontalOffset = 2, VerticalOffset = 2, Rotation = 10, } }; map.Add(VectorLayer.Open(dataDir + "points.geojson", Drivers.GeoJson), symbol, labeling); map.Padding = 50; map.Render(dataDir + "points_labeling_placed_out.svg", Renderers.Svg); } //ExEnd: PointsLabelingPlaced }
public static void AddMapLayersAndStyles() { //ExStart: AddMapLayersAndStyles using (var map = new Map(800, 476)) { var baseMapSymbolizer = new SimpleFill { FillColor = Color.Salmon, StrokeWidth = 0.75 }; map.Add(VectorLayer.Open(dataDir + "basemap.shp", Drivers.Shapefile), baseMapSymbolizer); var citiesSymbolizer = new SimpleMarker() { FillColor = Color.LightBlue }; citiesSymbolizer.FeatureBasedConfiguration = (feature, symbolizer) => { var population = feature.GetValue <int>("population"); symbolizer.Size = 10 * population / 1000; if (population < 2500) { symbolizer.FillColor = Color.GreenYellow; } }; map.Add(VectorLayer.Open(dataDir + "points.geojson", Drivers.GeoJson), citiesSymbolizer); map.Render(dataDir + "cities_out.svg", Renderers.Svg); } //ExEnd: AddMapLayersAndStyles }
public static void PointsLabelingStyled() { //ExStart: PointsLabelingStyled using (var map = new Map(500, 200)) { var symbol = new SimpleMarker { FillColor = Color.LightGray, StrokeStyle = StrokeStyle.None }; var labeling = new SimpleLabeling(labelAttribute: "name") { HaloSize = 2, HaloColor = Color.LightGray, FontSize = 15, FontStyle = FontStyle.Italic, }; map.Add(VectorLayer.Open(dataDir + "points.geojson", Drivers.GeoJson), symbol, labeling); map.Padding = 50; map.Render(dataDir + "points_labeling_styled_out.svg", Renderers.Svg); } //ExEnd: PointsLabelingStyled }
public static void ChangeMarkerStyleFeatureBased() { //ExStart: ChangeMarkerStyleFeatureBased using (var map = new Map(500, 200)) { var symbol = new SimpleMarker() { FillColor = Color.LightBlue }; symbol.FeatureBasedConfiguration = (feature, symbolizer) => { // retirieve city population (in thousands) from a feature attribute var population = feature.GetValue <int>("population"); // let's increase circle radius by 5 pixels for each million people symbolizer.Size = 5 * population / 1000; // and let's draw cities with less than 2.5M people in green if (population < 2500) { symbolizer.FillColor = Color.GreenYellow; } }; map.Add(VectorLayer.Open(dataDir + "points.geojson", Drivers.GeoJson), symbol); map.Padding = 20; map.Render(dataDir + "points_out.svg", Renderers.Svg); } //ExEnd: ChangeMarkerStyleFeatureBased }
public static void DefaultMarkerStyle() { //ExStart: DefaultMarkerStyle using (var map = new Map(500, 200)) { var symbol = new SimpleMarker(); map.Add(VectorLayer.Open(dataDir + "points.geojson", Drivers.GeoJson), symbol); map.Padding = 20; map.Render(dataDir + "points_out.svg", Renderers.Svg); } //ExEnd: DefaultMarkerStyle }
public static void ChangeMarkerStyle() { //ExStart: ChangeMarkerStyle using (var map = new Map(500, 200)) { var symbol = new SimpleMarker() { Size = 7, StrokeWidth = 1, FillColor = Color.Red }; map.Add(VectorLayer.Open(dataDir + "points.geojson", Drivers.GeoJson), symbol); map.Padding = 20; map.Render(dataDir + "points_out.svg", Renderers.Svg); } //ExEnd: ChangeMarkerStyle }
public static void RuleBasedLabeling() { //ExStart: RuleBasedLabeling using (var map = new Map(500, 200)) { var symbolizer = new SimpleMarker { FillColor = Color.LightGray, StrokeStyle = StrokeStyle.None }; var labeling = new RuleBasedLabeling(); // Set labeling to be used for small cities. labeling.Add(f => f.GetValue <int>("population") <= 2500, new SimpleLabeling("name") { FontStyle = FontStyle.Italic, HaloSize = 1, FontSize = 10, FontColor = Color.Green, Priority = 1, Placement = new PointLabelPlacement { VerticalAnchorPoint = VerticalAnchor.Bottom, HorizontalAnchorPoint = HorizontalAnchor.Center, } }); // Set labeling to be used for all other cities. labeling.AddElseRule(new SimpleLabeling("name") { HaloSize = 1, FontSize = 15, FontColor = Color.Red, Priority = 2, Placement = new PointLabelPlacement { VerticalAnchorPoint = VerticalAnchor.Bottom, HorizontalAnchorPoint = HorizontalAnchor.Center, } }); map.Add(VectorLayer.Open(dataDir + "points.geojson", Drivers.GeoJson), symbolizer, labeling); map.Padding = 40; map.Render(dataDir + "rule_based_labeling_out.svg", Renderers.Svg); } //ExEnd: RuleBasedLabeling }
public static void ChangeMarkerStyleTriangles() { //ExStart: ChangeMarkerStyleTriangles using (var map = new Map(500, 200)) { var symbol = new SimpleMarker() { Size = 15, FillColor = Color.DarkMagenta, StrokeStyle = StrokeStyle.None, ShapeType = MarkerShapeType.Triangle, Rotation = 90 }; map.Add(VectorLayer.Open(dataDir + "points.geojson", Drivers.GeoJson), symbol); map.Padding = 20; map.Render(dataDir + "points_out.svg", Renderers.Svg); } //ExEnd: ChangeMarkerStyleTriangles }
private void updateMarker(SimpleMarker marker) { marker.FillStyle.FillMode = FillMode.Solid; marker.Size = UIConstants.Chart.SERIES_MARKER_SIZE + Curve.LineThickness * Curve.LineThickness; }