OpenLayers矢量层中的最大点要素数量


27

以您的经验,可以在不易变慢的OpenLayers矢量层(新的OpenLayers.Layer.Vector(“ Point Layer”))上添加多少点要素?

我的用例是显示数据库表中的点。用户可以决定可视化的时间范围。因此,结果可能从极少到十万分。我想引入一个合理的限制,并警告用户查询是否返回更多功能。


是否使用标准的浏览器?根据您使用的浏览器,限制可能会有所不同。
Derek Swingley 2011年

主要是Firefox。它不必在旧的IE中工作。
underdark

1
除了警告用户外,您还可以从请求矢量数据切换为以WMS /图像返回点。
geographika

@geographika:通常我会这样做。但是用户也可以决定要连接到哪个数据库。我必须知道所有可能的数据库,并通过WMS使用它们。他们甚至没有安装PostGIS,我只是获取经/纬度列。
Underdark

Answers:


38

我没有确切的答案,但是您整理了一个页面,可以在OL地图上使用不同数量的点进行游戏:http : //derekswingley.com/lab/olpts/


5
德里克(Derek)应该为此获得“出色答案,并附有实例”。很高兴看到速度叠加点的差异。
Mapperz

3
很有意思!这让我想到了水仙。另外,它也可以用来测试性能:craigmmills.com/geoipsum(我不知道是否存在多边形数量限制)
simo

1
@ So4ne那个Google App Engine网站在某个时候死亡,相同的代码(接近5岁)在这里: derekswingley.com/lab/olpts
Derek Swingley,2016年

1
@nospor后果从切换到https,已更新,并且站点已恢复。
Derek Swingley,2016年

1
@DerekSwingley我基于使用传单,MapboxGL JS&4的OpenLayers自己的想法做出更新的样本medium.com/@ThomasG77/...我把你的样品学分
ThomasG77

5

如果由于功能编号太高而导致显示变慢,则表示要显示的数据不适合缩放级别。通常,当特征密度过高时,显示将不再可读(请参见本示例)。即使没有处理限制,并且所有显示设备都能够在0.001秒内在小屏幕上显示1000000000000个特征,但可视化仍然是不可能的。

Töpfer的基数定律指出,无论缩放级别如何,要素密度都应保持在恒定阈值以下。解决此问题并使数据适应可视化范围的一种方法是使用像这样一个另一个这样的概括操作来对其进行转换。


关于同一主题:gis.stackexchange.com/q/4096/162
2011年

2
非常真实 对于Openlayers,它使用群集策略来处理。参见示例:openlayers.org/dev/examples/strategy-cluster.html
simo

1
对于我当前的应用程序,我只是将(GPS)点连接到了线路(轨道)上。这已经大大改善了渲染时间。
昏暗

3

我认为不可能对此问题给出可靠的答案。渲染点/多边形完全取决于浏览器和硬件(CPU和内存),而不取决于OpenLayers。我对湖(多边形)渲染之一的Openlayers和IE6有问题。但是,它可以很好地在Firefox中加载。最好的选择是使用Chrome监控内存和CPU使用率,或者使用某些工具会更好。


1

与其他人一样,我对此问题没有任何答案,但是应用BBox策略可以帮助您仅保留所需的数据,因为它仅显示位于给定边界框内的要素。


1

在OpenLayers 6中,有一个WebGL点渲染器,该渲染器应允许您使用基于时间的过滤来渲染数十万个要素。您可能想在https://openlayers.org/workshop/zh/webgl/查看官方研讨会的最新版本。

对于我真的不建议再使用的OpenLayers 2,可接受的帧速率的最大值将仅为数百个功能。


0

我偶然发现了一个类似的用例,不确定它是否适合上述需求,但是Clustering我在OL 5中采用了这种用例。

顾名思义,聚类需要一组点并将它们合并到一个点中,例如,在特定城市中有100个点,例如,从缩放的角度来看,所有这些点将显示为一个点,而从缩放的角度来看,则是4单个点10如此说来,您可以做的就是在缩放时4可以将这些点合并为一个点,这有助于减少要在特定区域中渲染的点数。

换句话说,假设您要在地图上渲染10,000个点,并且它们彼此之间非常接近,因此您可以将它们组成簇并减少渲染,并且当用户放大时不断破坏簇。这将确保您减少渲染并获得更好的性能。

满意的表现。链接到Openlayers上的集群示例


您能否添加链接页面的简短摘要?链接可能会随着时间而中断,使您的答案变得毫无用处。
坎丹
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.