使用ArcGIS API for Silverlight + Visifire绘制地图统计图

简介: 原文:使用ArcGIS API for Silverlight + Visifire绘制地图统计图   最近把很久之前做的统计图又拿出来重新做了一遍,感觉很多时候不复习,不记录就真的忘了,时间是最好的稀释剂,真是这样。
原文: 使用ArcGIS API for Silverlight + Visifire绘制地图统计图

   最近把很久之前做的统计图又拿出来重新做了一遍,感觉很多时候不复习,不记录就真的忘了,时间是最好的稀释剂,真是这样。

   恰好有些网友又向我问起,于是稍作记录,以便自己今后复习和参考。

    本文示例用的版本为:

   Silverlight 5+Visifire 3.6.8+ArcGIS API for Silverlight 3.0+Visual Studio 2010

一、ArcGIS API For Silverlight 绘制统计图如何实现

      通常的情况我们是将得到的统计图作为一个ElementLayer添加到地图中,通过设置ElementLayer的位置,来设置统计图在地图上显示的位置。

      所有绘制统计图的工作都是由第三方控件:Visifire完成,当然这里你也可以用Silverlight自带的Chart控件。

     下面说一下Visifire绘图的设置过程:

     1.1 首先定义一个Chart(可以理解为画布),并设置相关属性,例如:

                    Chart chart = new Chart();
                    chart.Background = null;
                    chart.BorderBrush = null;
                    chart.IndicatorEnabled = false;
                    chart.LightingEnabled = false;
                    chart.View3D = true;
                    chart.Height = 300;
                    chart.Width = 100;
                    // 设定标题
                    Title title = new Title();
                    title.Text = "污染物浓度统计图";
                    chart.Titles.Add(title);

         1.2 定义曲线(柱状图,饼状图等),如:

                   DataSeries dataSeries = new DataSeries();
// 设置图表样式,这里设置为Column表示柱状图,还有Pie表示饼状图,以及其他图形等。                    
dataSeries.RenderAs = RenderAs.Column;

          1.3 定义数据点,例如:
             

                    DataPoint dataPoint = new DataPoint();
                    dataPoint.Exploded = true;
                    dataPoint.AxisXLabel = "污染物A";
                    / Set YValue for a DataPoint
                    dataPoint.YValue = 10;

        1.4 将数据点添加到DataSeries中,然后将DataSeries添加到Chart中,例如:

                     dataSeries.DataPoints.Add(dataPoint);
                     chart.Series.Add(dataSeries);


         1.5 定义ElementLayer,设置Evelop(范围)属性,将Chart添加到ElementLayer中,例如:

                    ElementLayer chartlayer = new ElementLayer();
                    chartlayer.ID = "统计图层";
                    chartlayer.Opacity = 0.7;
//g为输入的统计要素(点,面,线) MapPoint mapPoint
= g.Geometry as ESRI.ArcGIS.Client.Geometry.MapPoint; //设置该参数来控制统计图显示的位置 Envelope extent = new Envelope(mapPoint.X, mapPoint.Y , mapPoint.X , mapPoint.Y); ElementLayer.SetEnvelope(chart, extent); chartlayer.Children.Add(chart);

       1.6 最后将ElementLayer添加到地图图层中:  

                     Map.Layers.Add(chartlayer);

       这样就能得到最后的统计图了:
                                 

 

 

  【示例下载

  示例代码用法:点击地图任意一点,可添加一个Graphic,并输入相关属性,然后点击统计,即可对添加点的属性进行统计。

 

目录
相关文章
|
1月前
|
缓存 API 定位技术
使用Python调用百度地图API实现地址查询
使用Python调用百度地图API实现地址查询
90 0
|
8月前
|
定位技术 API 开发工具
Android 按照步骤接入百度地图API,定位显示不了解决办法
Android 按照步骤接入百度地图API,定位显示不了解决办法
225 0
|
9月前
|
定位技术 API
百度地图API开发:多边形覆盖物鼠标高亮效果及单击事件
百度地图API开发:多边形覆盖物鼠标高亮效果及单击事件
162 0
|
9月前
|
数据可视化 搜索推荐 JavaScript
数据可视化大屏百度地图区域掩膜MapMask实现地图指定区域非省市县行政区显示的实战案例解析(JavaScript API GL、个性化地图定制、指定区域经纬度拾取转化)
数据可视化大屏百度地图区域掩膜MapMask实现地图指定区域非省市县行政区显示的实战案例解析(JavaScript API GL、个性化地图定制、指定区域经纬度拾取转化)
684 0
|
3月前
|
JSON JavaScript 定位技术
Vue中使用echarts@4.x中国地图及AMap相关API的使用
Vue中使用echarts@4.x中国地图及AMap相关API的使用
145 0
Vue中使用echarts@4.x中国地图及AMap相关API的使用
|
4月前
|
SQL 存储 DataWorks
DataWorks中API、desc、数据地图,这3个怎么对起来?
DataWorks中API、desc、数据地图,这3个怎么对起来?
40 0
|
9月前
|
移动开发 JavaScript 前端开发
数据可视化大屏百度地图手机端标注开发实战案例解析(jsAPI接口、标注分类图片、文本标签、分类筛选、自适应高度信息弹窗、PHP后端API)
数据可视化大屏百度地图手机端标注开发实战案例解析(jsAPI接口、标注分类图片、文本标签、分类筛选、自适应高度信息弹窗、PHP后端API)
147 0
|
9月前
|
定位技术 API 容器
百度地图API开发:停车场分布标注和检索静态版
百度地图API开发:停车场分布标注和检索静态版
89 0
|
9月前
|
移动开发 JavaScript 定位技术
百度地图开发:地图调起API(Web端)使用终点经纬度直接调用百度地图导航信息的解决方案
百度地图开发:地图调起API(Web端)使用终点经纬度直接调用百度地图导航信息的解决方案
218 0
|
4月前
|
定位技术 API
百度地图API的使用教程以及案例(二)
百度地图API的使用教程以及案例

热门文章

最新文章