今天遇到了esri.layers.FeatureLayer发布一个宗地图层,里面有些数据未显示,导致数据显示不全,原来是服务中数据返回参数限制。

ArcGIS的feature图层(在JavaScript API中为esri.layers.FeatureLayer),在浏览器中进行显示时是有一定限制的。比如一个名为traffic的feature图层,该图层记录了该地区所有交通事故的发生地,其feature数量可想而知非常巨大。在浏览器中创建该图层的时候就要为其选定“模式”。如

var traffic = new esri.layers.FeatureLayer(trafficServiceURL, {
              displayOnPan : true,
              mode : esri.layers.FeatureLayer.MODE_ONDEMAND,
              opacity : 0.8,
              infoTemplate : infoTemplate,
              outFields : [*]
});
第二个参数mode就是模式。ArcGIS JavaScript API提供了三种模式,分别是
  • MODE_ONDEMAND:按需加载feature
  • MODE_SELECTION:初始不加载,只有当客户端选择的时候才加载feature
  • MODE_SNAPSHOT:一开始就将“全部”feature从服务器端取回并加载
值得注意的是,MODE_SNAPSHOT中的“全部”是有限制的,根据官方文档,在ArcGIS Server 9.3.1中默认是500个,在版本10的时候默认为1000。这个限制是可以在ArcCatalog中进行修改的。在GIS Servers中连到服务器,并停止该feature图层的服务,右键选择Service Properties,在Parameters选项卡下可以设置“Maximum Number of Records Returned by Server”。然后重启图层服务,并且在REST服务的管理界面清理一下缓存就可以了。
需要注意的是,该参数并非设置得越大越好,它会对地图在浏览器端的加载产生比较大的影响,如果设置的过大,不仅仅会导致加载缓慢,更有可能出现浏览器挂掉等不良体验。对于feature图层模式的选择,如果feature数量较小(比如小于Server默认的限制数量),那么选择MODE_SNAPSHOT一次性加载最好,并且要在初始化的时候为图层添加适当的过滤条件,如setDefinitionExpression和setTimeDefinition对feature属性、时间进行相应过滤,不至于初始加载阶段有过多的feature造成浏览器崩溃。
 
 

ArcGIS服务器的feature图层限制的更多相关文章

  1. WebGIS实现在线要素编辑之ArcGIS Server 发布Feature Service 过程解析

    WebGIS实现在线要素编辑之ArcGIS Server 发布Feature Service 过程解析 FeatureService也称要素服务,其最大的好处就是支持在线要素编辑,并将编辑同步更新到后 ...

  2. [转] arcgis Engine创建shp图层

    小生 原文 arcgis Engine创建shp图层 以创建点图层为例.首先要得到保存文件的地址. SaveFileDialog saveFileDialog = new SaveFileDialog ...

  3. OpenLayers学习笔记(五)— 拖拽Feature图层

    参考文档的例子可以知道如何拖动矢量图层feature GitHub: 八至 作者:狐狸家的鱼 本文链接:拖拽Feature图层 全部代码 <!DOCTYPE html> <html& ...

  4. c#+ArcGIS Engine-获取矢量图层的空间参考

    转自原文c#+ArcGIS Engine-获取矢量图层的空间参考 介绍一种简单的获取矢量图层空间参考的方法: 首先打开Shp文件获得FeatureClass,代码如下: string pPath=&q ...

  5. Arcgis javascript api 动态图层自图层可见性设置

    Arcgis javascript api 动态图层自图层可见性设置 子图层管理 rest服务 sublayers sublayer ArcGISDynamicMapServiceLayer 本文主要 ...

  6. ArcGIS API for JavaScript(2)-ArcGIS Server发布要素图层服务

    1.前言 上一篇该系列的文章我们主要讲了一下基础Web地图搭建,这篇我们主要讲一下ArcGIS Server发布服务,并且如何调用服务.将自己的数据加载到Web地图当中来,实现Web端浏览数据. 2. ...

  7. ArcGIS api for javascript——图层-创建定制的切片图层类型的图层

    描述 本例展示了如何创建一个定制图层,该图层访问来自WEB服务器的地图切片.这种方式最通用的用途是检索ArcGIS Server 9.2切片缓存或web上的其他地图切片服务.尽管本例使用的是一个Arc ...

  8. 命令行部署SharePoint2016离线前提条件和添加服务器的Feature

    前言 Sp2016的软件环境要求如下: 服务器场中的数据库服务器的最低要求: 以下各项之一: Microsoft SQL Server 2014 Service Pack 1 (SP1) 的 64 位 ...

  9. ArcGIS JavaScript API动态图层

      矢量动态图层     <!DOCTYPE HTML> <html>   <head> <meta http-equiv="Content-Typ ...

随机推荐

  1. 51nod 1092 回文字符串【LCS】

    1092 回文字符串 基准时间限制:1 秒 空间限制:131072 KB 分值: 10 难度:2级算法题 收藏 关注 回文串是指aba.abba.cccbccc.aaaa这种左右对称的字符串.每个字符 ...

  2. 遇到的cannot find module 'xxx' 问题

    昨天配置新项目的环境,明明都npm inatsll都安装了,再次运行的时候一直报错,缺少模块.我以为就一个没安装上,就手动npm install -g 'xxx' :结果一个装好了,又继续蹦出cann ...

  3. rocketMq---------相关命令

    搭建就不详细说了,cent7.x的系统,openJdk8,maven3.x,gradle4.10.2, git 1.8.3.1 直接下载相关的二进制压缩包,解压即用,方便. 下面看常用的管理命令 ro ...

  4. C#使用反射机制获取类信息[转]

    http://www.cnblogs.com/zhoufoxcn/archive/2006/10/31/2515873.html 1.用反射动态创建类实例,并调用其公有成员函数. //新建一个类库项目 ...

  5. Windows10系统修复

    sfc /scannow 命令将扫描所有受保护的系统文件,并用位于 %WinDir%\System32\dllcache 的压缩文件夹中的缓存副本替换损坏的文件. %WinDir% 占位符代表Wind ...

  6. Class doesn&#39;t implement Cloneable之怪象

    1. 报错: -20 ::): threadid=: thread exiting with uncaught exception (group=0x4001d400) -20 ::): FATAL  ...

  7. Android创建和使用数据库

    一.关系型数据库SQLIte         每一个应用程序都要使用数据.Android应用程序也不例外,Android使用开源的.与操作系统无关的SQL数据库-SQLite. SQLite第一个Al ...

  8. 基于websocket实现的web聊天室

    # -*- coding:utf-8 -*- import socket import base64 import hashlib def get_headers(data): "" ...

  9. Ubuntu 16.04 引导修复(Boot Repair)----lianwang----anzhuang windows hou(双系统修复一)

    2016-01-26 20:54 12548人阅读 评论(1) 收藏 举报 分类: =======学习心得=======(23) 版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[+] ...

  10. EasyRTMP实现Demux解析MP4文件进行rtmp推送实现RTMP直播功能

    本文转自EasyDarwin团队Kim的博客:http://blog.csdn.net/jinlong0603/article/details/52965101 前面已经介绍过EasyRTMP,这里不 ...