悬赏分:100 浏览:255 次
目前打算用java connector 做一个动态专题图,图层为一县的镇界图层,在其图层上添加了一个字段“AVGDAYINT”,代表噪声的大小,目的是想在该噪声专题图上使用柱状图,每个镇用柱状图的长短显示噪声的强弱。代码如下:出现的问题在最后也列出了,请各位高手帮忙看下,最好能给改下,感激不尽
<%@ page contentType="text/html; charset=GB2312" %>
<%@ include file="/include/header.jsp" %>
<%@ page language="java" %>
<%@ page import="com.esri.aims.mtier.model.map.Map" %>
<%@ page import="com.esri.aims.mtier.io.ConnectionProxy"%>
<%@ page import="com.esri.aims.mtier.model.map.output.MapOutput"%>
<%@ page import="com.esri.aims.mtier.model.map.layer.FeatureLayer"%>
<%@ page import="com.esri.aims.mtier.model.map.layer.renderer.Range" %>
<%@ page import="com.esri.aims.mtier.model.map.layer.renderer.symbol.SimplePolygonSymbol" %>
<%@ page import="com.esri.aims.mtier.model.map.layer.renderer.ValueMapRenderer" %>
<%@ page import="com.esri.aims.mtier.model.map.layer.Layer" %>
<%@ page import="com.esri.aims.mtier.model.envelope.Envelope" %>
<%@ page import="com.esri.aims.mtier.model.map.layer.query.Filter" %>
<%@ page import="com.esri.aims.mtier.model.map.layer.renderer.SimpleLabelRenderer" %>
<%@ page import="com.esri.aims.mtier.model.map.layer.renderer.symbol.ChartValue" %>
<%@ page import="com.esri.aims.mtier.model.map.layer.renderer.symbol.ChartSymbol" %>
<%@ page import="com.esri.aims.mtier.model.map.layer.renderer.ValueMapLabelRenderer" %>
<html>
<head>
<title></title>
</head>
<body>
<%
ConnectionProxy myConnection= new ConnectionProxy();
myConnection.setConnectionType(ConnectionProxy.TCP);
myConnection.setService("SLHBforAXL");
myConnection.setHost("localhost");
myConnection.setPort(5300);
Map map=new Map();
map.initMap(myConnection, 0, true, true, false, false);
map.setHeight(600);
map.setWidth(800);
map.getLegend().setWidth(200);
map.getLegend().setHeight(600);
map.getLegend().setLayerFontSize(0);
map.getLegend().setTitleFontSize(16);
map.getLegend().setTitle("昼 噪 声");
map.getLegend().setValueFontSize(12);
map.getLegend().setCellSpacing(6);
map.getLegend().setFont("幼圆");
//隐藏所有图层
for(int i=0;i<map.getLayers().getCount();i++){
Layer layer = map.getLayers().item(i);
layer.setVisible(false);
}
//显示镇界图层
map.getLayers().item(1).setVisible(true);
//取镇界图层
FeatureLayer layer = (FeatureLayer)map.getLayers().item(1);
ChartValue DAYValue = new ChartValue();
DAYValue.setLookUpField("SDE.SDE.镇界.AVGDAYINT");
//DAYValue.setLookUpField("AVGDAYINT"); 也不行
DAYValue.setColor("255,0,0");
ChartSymbol chartSymbol = new ChartSymbol();
chartSymbol.setMode("Bar");
chartSymbol.addChartValue(DAYValue);
ValueMapLabelRenderer vMapRend = new ValueMapLabelRenderer();
vMapRend.addObject(chartSymbol);
layer.setRenderer(vMapRend);
map.refresh();
%>
<center>
<table width="100%">
<tr>
<td width="100%" align="center">
<img src=<%=map.getMapOutput().getURL()%> >
</td>
<td width="100%" align="center">
<img src=<%//=map.getLegend().getLegendOutput().getURL()%> >
</td>
</tr>
</table>
</center>
</body>
</html>
图层始终显示不出来,出现的错误如下,
com.esri.aims.mtier.model.map.layer.renderer.symbol.ChartSymbol
null
File "null" not found.