将在 Web 要素图层中使用基于页面的查询或基于切片的查询查询数据。
基于页面的查询
在 ArcGIS Pro 中,可使用基于页面的查询(称为分页)实现在绘制和编辑期间使用的大多数查询。 此方法会请求部分数据(称为页面)而不是在单一查询中请求所有数据。 利用这些页面,可以在合理的时间内发送个返回较小的请求,从而改善应用程序响应性和用户体验。
页面大小取决于与要素服务关联的 maxRecordCount 属性。 当发布要素服务时,此项基于服务器返回的最大记录数参数。 随后会在查询请求期间将此值用于 resultRecordCount 参数。
有关详细信息,请参阅服务参数。
在填充页面后,查询响应将包含 exceededTransferLimit 属性。 如果 exceededTransferLimit 属性在响应中为 true,则表示可用记录更多并且将请求其他页面。 这些请求将继续,除非 exceededTransferLimit 为 false 或查询响应中不存在此属性。
页面使用 resultOffset 值确定每个页面的起始记录。 由于将请求其他页面,resultOffset 值将增加并用于指示已跳过记录数以及需要作为页面起始记录的下一个记录 (resultOffset + 1)。 例如,如果页面大小设置为 2000,则第二个页面请求的 resultOffset 值将为 2000,页面将包含接下来的 2000 个可用记录以填充页面。
有关详细信息,请参阅查询(地图服务/图层)。
注:
如果未使用 resultOffset 和 resultRecordCount 参数,则 exceededTransferLimit 属性可能不会包含在查询结果中。 在此情况下,仅当记录数超过服务器管理员配置的 maxRecordCount 值时,该属性才为 true。
基于切片的查询
基于切片的查询用于将地图范围分为用于显示地图内要素的诸多切片。 这还包括服务器上的切片缓存,以便可以返回这些切片,而无需服务器重新计算地图显示。 要使用基于切片的查询,服务图层的 supportsQueryWithCacheHint 属性值必须为 true。 这样可以支持使用 cacheHint 参数的请求,该参数用于指示服务是否应缓存查询结果。
将通过生成与不同地图比例相关的多个细节层次的切片方案进行查询。 所用的初始细节层次基于加载地图时的地图比例。 将使用此初始细节层次下的切片,除非切片内的要素过多。 如果切片内的要素过多,则该切片将细分到下一层次并发送请求。 根据需要,将从初始细节层次开始一共进行三次这样的层次细分。 当返回响应时,将缓存切片。 尽管基于切片的查询会生成更多指向服务器的查询,但是请求是轻量级的,并且利用缓存切片仍然可优化性能。
注:
如果格网切片有太多的要素要在一个请求中返回,则将显示一个通知,指示放大到较小区域。
在图层上设置可见比例范围可尽可能减少这些通知的出现。
有关详细信息,请参阅图层(要素服务)。