我做的是移网基站,和你的有些类似,其实只要在图层中用不同颜色去给Geometry上色就行了。
/*通过用户绘制一个任意多边形在基站中查图层,有点图层和面图层,你只需要关注面图层就行了*/
if(geometry.type == "polygon"){
var graphicPolygon = new esri.Graphic(geometry, fillSymbol);
baseMap.graphics.add(graphicPolygon);
var bSUrl = baseStationUrl;
bSUrl = bSUrl.replace("{G}", "2G");
/*********************************查第一个图层(点图层)*************************************************/
var query1 = new esri.tasks.Query();
var queryTask1 = new esri.tasks.QueryTask(bSUrl+"/0");
query1.geometry=geometry;
query1.spatialRelationship = esri.tasks.Query.SPATIAL_REL_CONTAINS;
//query.text=searchText;
//过滤结果集attributes中包含字段
query1.outFields = ["*"];
//是否返回Geometry
query1.returnGeometry = true;
//执行查询,返回结果集
queryTask1.execute(query1, results1);
/**********************************查第二个图层(面图层)**************************************************/
var query2 = new esri.tasks.Query();
var queryTask2 = new esri.tasks.QueryTask(bSUrl+"/1");
query2.geometry=geometry;
query2.spatialRelationship = esri.tasks.Query.SPATIAL_REL_OVERLAPS;
//query.text=searchText;
//过滤结果集attributes中包含字段
query2.outFields = ["*"];
//是否返回Geometry
query2.returnGeometry = true;
//执行查询,返回结果集
queryTask2.execute(query2, results2);
}
/*查面图层后的回调函数,我只是把有相交的面上色了*/
function results2(evt2){
var lineSymbol = new esri.symbol.SimpleLineSymbol(esri.symbol.SimpleLineSymbol.STYLE_SOLID, new esri.Color([ 0,0,255]), 1);
var fillSymbol = new esri.symbol.SimpleFillSymbol(
esri.symbol.SimpleFillSymbol.STYLE_SOLID,
lineSymbol,
new esri.Color([ 205, 0, 205, 0.5 ])
);
var length2= evt2.features.length;
for(var i=0;i<length2;i++){//循环上色
var geometry2 = evt2.features[i].geometry;
var graphicPolygon2 = new esri.Graphic(geometry2, fillSymbol);
baseMap.graphics.add(graphicPolygon2);
}
}
这数据地图绘制,如果没有底图矢量数据,需要先将底图绘制好,可参考我这篇文档http://wenku.baidu.com/view/403ae50ca417866fb84a8e94
处理好降水量数据,可以将数据与底图数据通过相同字段导入,也可逐一录入到属性中
制作专题图,根据属性数据分级显示地图,如按省份降水统计,可将省的颜色根据降水量显示为不同的颜色
打开排版页面,增加比例尺等你需要的东西,整理修饰出图