Exemple #1
0
        private void Refresh()
        {
            ShapefileLayer areaLayer = Map1.FindLayer <ShapefileLayer>("countries-900913");

            if (areaLayer == null)
            {
                return;
            }
            areaLayer.Styles.Clear();
            ClassBreakStyle classBreakStyle = ClassBreakStyle.Create(columnName, 281396894, 5000000, 11, DimensionType.Area, colorFamily, new GeoColor(50, 100, 200, 150), 0.01f);

            classBreakStyle.ClassBreaks[0].Value = 0;
            areaLayer.Styles.Add(classBreakStyle);

            LegendTitleTextBlock.Text = "The population of countries";
            ClassBreak[] classBreaks = classBreakStyle.ClassBreaks.OrderBy(i => i.Value).ToArray();
            for (int i = 0; i < classBreaks.Length; i++)
            {
                ClassBreak fromClassBreak = classBreaks[i];
                ClassBreak toClassBreak   = i + 1 < classBreaks.Length ? classBreaks[i + 1] : null;
                foreach (var style in fromClassBreak.Styles)
                {
                    if (toClassBreak != null)
                    {
                        style.Name = $"{(fromClassBreak.Value / 1000000).ToString("N0")} ~ {(toClassBreak.Value / 1000000).ToString("N0")} million";
                    }
                    else
                    {
                        style.Name = $">= {(fromClassBreak.Value / 1000000).ToString("N0")} million";
                    }
                }
            }
            LegendView.Update(classBreaks.SelectMany(i => i.Styles));
            Map1.Refresh(RefreshType.Redraw);
        }
Exemple #2
0
        private void Map1_Loaded(object sender, RoutedEventArgs e)
        {
            Map1.MapUnit = GeoUnit.Meter;
            Map1.UseOpenStreetMapAsBaseMap();

            GridLayer      gridLayer  = new GridLayer("SampleData/gridfile-900913.grd");
            GridFileSource gridSource = (GridFileSource)gridLayer.Source;
            var            cellValues = gridSource.GetDistinctCellValues();

            cellValues.Sort();

            ClassBreakStyle style = ClassBreakStyle.Create("CellValue", cellValues.Last(), cellValues.First(), 8, DimensionType.Area, GeoColorFamily.Hue, GeoColors.Red, 1f);

            style.Margin = 25;
            gridLayer.Styles.Add(style);

            LayerOverlay layerOverlay = new LayerOverlay();

            layerOverlay.Layers.Add(gridLayer);
            Map1.Overlays.Add(layerOverlay);

            Map1.ZoomTo(gridLayer.GetBound());
        }