这几天做东西,总是遇到三维数据展示的问题,郁闷得我头都大,第一个是在做GIS的图表展示的时候,遇到的是在各个政区中,展示关于各统计指标项目的数量图.第二个是查询出其中的各政区上企业的业务审核通过,为不通过,以及审核中,暂存,重新采集五种状态,其中还遇到关联表,而且有些政区上面是没有其中的五种状态的数据,这样还是要以0来显示.刚开始的时候看到这个业务头都大了。后来分析了一下感觉不难,然后开始写sql,通过对状态的分组,政区的分组关联等等,才写完,写完的数据是以各种状态有一行记录的形式,而且有些状态没有企业就没有数据, 感觉写得很烂,但心想也不致于统计不出来, 画不出图吧。以是开始写java代码,后来才发现,不管是怎么写,并不是想像的那样,可以通过一些逻辑处理就得处理得过来的,发现走不下去了。以是没有办法,重写sql。终于,通过 sum + case的方法,把五种状态都显示在一条记录中,并且通过右外连接的形式把所有的政区显示出来了, 不管有没有企业的政区。这样就好办多了, 以后来做成fusionchart就好办多了。
select t2.*, t1.* from
(select t.street ,count(*) as sum
,sum(case t.state when 'y' then 1 else 0 end) as sumy
,sum(case t.state when 'n' then 1 else 0 end) as sumn
,sum(case t.state when '0' then 1 else 0 end) as sum0
,sum(case t.state when '1' then 1 else 0 end) as sum1
,sum(case t.state when '2' then 1 else 0 end) as sum2
from C_YGDW_CAIJI t group by t.street) t1 --, --t1里面查的是各状态的企业数量,以及街道id
RIGHT JOIN --右外连接
(select d.deptid as deptid,d.displayname as deptname
from buffalo_org_departments d
where d.deptid in (select t.memberid
from buffalo_org_groupmembers t
where t.groupid = '5')
--and d.deptid in (14,15,26) 这里是添加街道ID的地方
) t2 --这里查的是所有部门的id 和部门名称
ON t1.street = to_char(t2.deptid) --这里通过部门ID 和街道ID 来进行 做右外连接
java代码中处理如下:
FCTitle.append("<?xml version='1.0' encoding=\'UTF-8\'?><chart palette='0' baseFont='宋体' baseFontSize='12' caption='各街乡数据采集、审核情况统计' xaxisName='街乡名称' yAxisName='采集到的企业数量' useRoundEdges='1' shownames='1' showvalues='0' showSum='1' legendBorderAlpha='0' formatNumberScale='0'>");
StringBuffer categories= new StringBuffer().append("<categories>");
StringBuffer dataset_1= new StringBuffer().append("<dataset seriesname='未审核' color='8BBA00'>");
StringBuffer dataset_Y= new StringBuffer().append("<dataset seriesname='审核通过' color='A66EDD' >");
StringBuffer dataset_N= new StringBuffer().append("<dataset seriesname='审核不通过' color='F984A1'>");
String sum1="";
String sumY="";
String sumN="";
while(rs.next()){
sum1=rs.getString("sum1");
sumY=rs.getString("sumy");
sumN=rs.getString("sumn");
sum1=sum1==null?"0":sum1;
sumY=sumY==null?"0":sumY;
sumN=sumN==null?"0":sumN;
categories.append("<category label='"+rs.getString("deptname")+"' />");
dataset_1.append("<set value='"+sum1+"' link='javascript:entinfo(1,"+rs.getString("deptid")+")'/>");
dataset_Y.append("<set value='"+sumY+"' link='javascript:entinfo(2,"+rs.getString("deptid")+")'/>");
dataset_N.append("<set value='"+sumN+"' link='javascript:entinfo(3,"+rs.getString("deptid")+")'/>");
}
categories.append("</categories>");
dataset_1.append("</dataset>");
dataset_Y.append("</dataset>");
dataset_N.append("</dataset>");
FCTitle.append(categories).append(dataset_1).append(dataset_Y).append(dataset_N);
FCTitle.append("</chart>");
显示效果如下图:
分享到:
相关推荐
通过这个MATLAB演示,我们可以更好地理解协方差分析在实际问题中的应用,例如在信号处理中,识别噪声和信号特征,或者在图像分析中,识别图像的主要结构等。同时,它也能帮助学习者掌握如何在MATLAB环境中实现这些...
在基于深度学习的三维数据分析理解方法中,三维模型特征描述符是非常重要的。三维模型特征描述符可以用来描述三维模型的几何特征和_topology结构。本文对三维模型特征描述符进行了综述,并对各类方法进行了对比分析...
在LabVIEW中,三维数组常用于处理多维图像、信号分析、模拟三维空间的数据等。例如,在图像处理中,每个元素可能代表像素的强度;在信号处理中,可以存储不同时间点、频率和通道的信号数据;在物理仿真中,它们可能...
基于三维kemeas算法的三维点云数据聚类matlab仿真+代码操作视频 1.领域:matlab,基于三维kemeas算法的三维点云数据聚类算法 2.内容:基于三维kemeas算法的三维点云数据聚类matlab仿真+代码操作视频 3.用处:...
在SuperMap Objects .NET中,这个概念被应用到了地理数据的操作上,如将二维几何对象(如线)转换为三维几何对象。 二维线数据集通常包含一系列在平面上表示的点,这些点通过线连接形成路径或线段。然而,为了模拟...
在本数据集中,我们聚焦于俯视视角下的三维重建,这在诸多应用领域,如地理信息系统(GIS)、无人机航拍、农业监测、城市规划以及虚拟现实等,都具有重要意义。 数据集的创建通常涉及以下几个关键步骤: 1. 数据...
这种数据格式非常常见,在实际应用中,这样的点云数据集可能包含成千上万个甚至更多的点,形成复杂的三维结构。通过对这些数据的处理和分析,可以实现对现实世界的准确模拟和重建。 ### 结论 三维点云数据是现代...
在MATLAB中,MRI(Magnetic Resonance Imaging)数据的处理是一项常见的任务,尤其对于医学影像分析和研究。本示例将详细讲解如何利用MATLAB进行MRI数据的三维表面显示以及实施三维剖切,从而深入理解图像内部结构。...
在MATLAB中对三维点云数据进行中值滤波是一个重要的图像处理步骤,常用于去除噪声,特别是针对具有高斯噪声或椒盐噪声的点云数据。中值滤波是一种非线性的滤波方法,它在处理噪声时具有独特的优势,能够保留边缘信息...
点云数据的三维重建算法在诸多领域都有应用,如机器人导航、自动驾驶、文化遗产数字化、医学影像分析等。随着硬件技术的进步和计算能力的增强,MATLAB将持续提供更高效、易用的工具来处理和分析点云数据,推动三维...
三维数据场可视化是计算机科学领域中的一个重要分支,它涉及到如何有效地将抽象的三维数据转换成可视化图像,以便人们能够直观地理解和分析数据。在计算机视觉、科学计算、工程设计、医学影像等多个领域都有广泛的...
在IT行业中,尤其是在GIS(地理信息系统)领域,加载三维模型数据是进行复杂空间分析和可视化的重要环节。本示例主要关注如何使用SuperMap iObject .NET库来处理BIM、obj和OSGB格式的三维模型数据,从而实现三维场景...
该技术在传统三维地形显示的基础上增加了三维模型的显示功能,并开发了相应的三维模型数据处理软件和显示模块。 三维模型的构建是整个技术流程的起始点。常用的三维建模软件包括3dsMax、SolidWorks、Pro/E等。在这...
SuperMap iMobile for Android 9D是一款强大的移动GIS软件,它支持用户在Android设备上进行三维地图的浏览、分析和操作。本篇将详细解析如何使用SuperMap iMobile来打开并交互在线发布的三维场景数据,特别是在...
已知三列数据,用MATLAB画三维曲线图或者曲面图,很多初学者总是报错,甚至画不出来,这个代码通用性很强,如果数据本事没有残缺或者GUG,都可以用这个数据画三维曲面图,或者三维曲线图
在数据科学领域,可视化是至关重要的工具,它能够帮助我们揭示数据中的模式、趋势和异常,从而促进决策制定。《三维数据场可视化》主要涵盖了以下几个核心知识点: 1. 数据场的概念:数据场是由空间位置和对应数值...
三维数据场可视化