描述

本例展示了如何配置分级渲染使用一个相等间隔分类。在这个分类类型中,断点被设置为相等的距离。

可以手工添加相等距离的断点;然而,如果数据被修改了,那些断点就会是不合理的。本例自动地计算断点,因此相同的代码可以用于不同的数据集。

在本例中,断点用相同颜色的逐渐增大的圆符号。如果想要应用某种颜色渐变到断点,需要手工重定义一个颜色数组,然后在循环中给断点加入颜色。

  <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd"> <html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=7" />
<title>Class Breaks Renderer</title> <link rel="stylesheet" type="text/css" href="http://serverapi.arcgisonline.com/jsapi/arcgis/1.5/js/dojo/dijit/themes/tundra/tundra.css">
<script type="text/javascript">var djConfig = {parseOnLoad: true }</script>
<script type="text/javascript" src= "http://serverapi.arcgisonline.com/jsapi/arcgis/?v=1.5"></script> <script type="text/javascript" charset="utf-8">
dojo.require("esri.map");
dojo.require("esri.tasks.query"); var map;
var stateName = "Florida";
var attributeField = "POP1990"; function init() {
map = new esri.Map("map", {
extent: new esri.geometry.Extent({xmin:-88.06640625,ymin:24.45556640625,xmax:-79.27734375,ymax:31.04736328125,spatialReference:{wkid:4326}}),
slider: false
});
dojo.connect(map, "onLoad", doQuery);
map.addLayer(new esri.layers.ArcGISTiledMapServiceLayer("http://server.arcgisonline.com/ArcGIS/rest/services/ESRI_StreetMap_World_2D/MapServer"));
} //查询所有国家 in Kansas
function doQuery() {
var queryTask = new esri.tasks.QueryTask("http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Specialty/ESRI_StatesCitiesRivers_USA/MapServer/0");
var query = new esri.tasks.Query();
query.where = "STATE_NAME = '" + stateName + "'";
query.outFields = [attributeField];
query.returnGeometry = true;
queryTask.execute(query, addFeatureSetToMap);
} //添加国家到地图并且应用渲染
function addFeatureSetToMap(featureSet) {
var features = featureSet.features; var min = max = parseFloat(features[0].attributes[attributeField]); //找到Florida 城市中的最少人数和最多人数 dojo.forEach(features,function(feature) {
min = Math.min(min,feature.attributes[attributeField]);
max = Math.max(max,feature.attributes[attributeField]); } ); var numRanges = 7;
var breaks = (max-min) / numRanges; var outline = new esri.symbol.SimpleLineSymbol().setWidth(1);//轮廓
var fillColor = new dojo.Color([240,150,240,0.75]);
var defaultSymbol = new esri.symbol.SimpleMarkerSymbol().setSize(1).setOutline(outline); var renderer = new esri.renderer.ClassBreaksRenderer(defaultSymbol,attributeField); for (var i=0;i<numRanges;i++) {
renderer.addBreak(parseFloat(min + (i*breaks)),
parseFloat(min + ((i+1)*breaks)),
new esri.symbol.SimpleMarkerSymbol().setSize((i+1)*6).setColor(fillColor).setOutline(outline)); } map.graphics.setRenderer(renderer); //添加 features 到地图
dojo.forEach(featureSet.features,function(feature) {
map.graphics.add(feature); });
} dojo.addOnLoad(init);
</script> </head>
<body>
<div id="map" class="tundra" style="width:800px; height:400px; border:1px solid #000;"></div>
</body>
</html>

ArcGIS api for javascript——渲染-计算相等间隔分级的更多相关文章

  1. ArcGIS api for javascript——渲染-使用分级渲染

    描述 本例使用一个分级渲染通过人口密度用符号表示Kansas.代码明确地增加类并为每一个定义颜色.使用ClassBreaksRenderer.addBreak()方法定义类,参数是在类中包含的最大值和 ...

  2. ArcGIS api for javascript——渲染-使用唯一值渲染

    描述 本例使用唯一值渲染器来作为美国的符号.每个州有一个字符串属性"SUB_REGION"表示它的国家的地区.UniqueValueRenderer.addValue()方法被用来 ...

  3. ArcGIS API for JavaScript介绍

    ArcGIS API for JavaScript中的类是按照模块组织的,主要包含esri.esri/geometry.esri/renderers.esri/symbols.esri/symbols ...

  4. ArcGIS API for Javascript配置

    1.去官网下载最新版: ArcGIS API for JavaScript 3.9 API 参考文档:https://developers.arcgis.com/javascr 智能提示下载:http ...

  5. ArcGIS API for JavaScript 4.2学习笔记[1] 显示地图

    ArcGIS API for JavaScript 4.2直接从官网的Sample中学习,API Reference也是从官网翻译理解过来,鉴于网上截稿前还没有人发布过4.2的学习笔记,我就试试吧. ...

  6. ArcGIS API for JavaScript 入门教程[0] 目录

    随时翻看. 转载注明出处,博客园/CSDN/B站:秋意正寒. Part 1 必看 ArcGIS API for JavaScript 入门教程[1] 渊源 你还真不一定知道这是啥.非得学吗? ArcG ...

  7. ArcGIS API for JavaScript与 npm

    在4.7版本中,不仅增加了WebGL的渲染支持(渲染前端速度加快,渲染量也加大).增强了ES6中的Promises语法支持,还支持了npm管理及webpack打包,实属喜讯. “意味着可以不经过esr ...

  8. Arcgis api for javascript学习笔记(3.2X版本)-初步尝试

    Arcgis api for javascript(3.22版本)官方地址 :https://developers.arcgis.com/javascript/3/ 1. 根据官方示例实现一个简单地图 ...

  9. 使用Arcgis Api for Javascript 调用 本地Portal发布的WebMap

    1.环境搭建 安装Arcgis Portal 10.4,Server 10.4,DataStore ,WebAdaptor for IIS,搭建arcgis api for javascript 4. ...

随机推荐

  1. hiho1560 - 矩阵快速幂

    题目链接 坑死了,以为是K进制数,每一位可以是0-K之间的,其实是十进制,每一位最高为9,一直wa在这....... ----------------------------------------- ...

  2. HDU 1087 Super Jumping! Jumping! Jumping!【DP】

    解题思路:题目的大意是给出一列数,求这列数里面最长递增数列的和 dp[i]表示到达地点i的最大值,那么是如何达到i的呢,则我们可以考虑没有限制条件时候的跳跃,即可以从第1,2,3,---,i-1个地点 ...

  3. #undef 的用法

    在Visual Studio2008中编写如下代码: #include <iostream> using namespace std; int main() { #define MODI ...

  4. 启动bind时报none:0: open: /etc/named/named.conf: file not found

    刚一看,以为是说named.conf文件不存在或权限不够,但仔细查了一下后发现的确在啊,权限改为777也不行.无奈!先查了一下/etc/init.d/named文件里,是在执行/usr/local/n ...

  5. Qt之图形(简笔画-绘制漂亮的西瓜)

    简述 Summer is coming-我们呢,为大家准备了丰盛的佳果-西瓜,清爽解渴,甘味多汁. 一笔一划学简笔画,分分钟让你掌握一门新技能,下面我们来绘制一个"盛夏之王"-西瓜 ...

  6. A题之变态青蛙跳

    一仅仅青蛙一次能够跳上1级台阶,也能够跳上2级--它也能够跳上n级. 求该青蛙跳上一个n级的台阶总共同拥有多少种跳法. 分析: 这是一个斐波拉契数列的引申问题,先来看看斐波拉契数列: n<=1, ...

  7. SQL Server 性能调优2 之索引(Index)的建立

    前言 索引是关系数据库中最重要的对象之中的一个,他能显著降低磁盘I/O及逻辑读取的消耗,并以此来提升 SELECT 语句的查找性能.但它是一把双刃剑.使用不当反而会影响性能:他须要额外的空间来存放这些 ...

  8. 微信开发出现 redirect-uri參数错误原因是设置回调页面域名不要加HTTP://

    OAuth2.0 网页授权设置.回调页面域名不要加HTTP:// NND  微信的研发.你程序处理下非常麻烦吗?给个提示非常麻烦吗?让我查了1个多小时.

  9. 蓝牙压力測试报抛android.os.TransactionTooLargeException异常分析总结

    1.从main日志中找到异常点,例如以下: 08-20 11:05:19.754 5023 5023 E AndroidRuntime: FATAL EXCEPTION: main 08-20 11: ...

  10. 【Struts2二】结果集(result-type)

    在jsp/servlet中,结果集一般是指请求转发和重定向这两种. Struts2作为框架,提供了基于这两种的很多其它的结果集! 在struts-default.xml中定义了一些默认的结果集:   ...