1

我们正在尝试使用 OpenLayers 和 GeoServer 显示具有大量点的地图(范围从 1000 到 20000,具体取决于用户标准)。这些点存储在 PostgreSQL 数据库中。

虽然该应用程序在显示较低范围时似乎没有什么问题,但它的实际限制似乎在 5000 点左右。我们应用的 SLD 也很大(按不是特征 ID 的标准单独列出所有点)。在较高的数字下,不能保证返回图像,并且请求有时会使 GeoServer 崩溃,需要重置服务。

有谁知道这样的事情是否可行,如果可行,有什么配置技巧吗?

我们在用于过滤的字段上应用了 btree 索引。

4

1 回答 1

1

您要向 OpenLayers 添加什么类型的图层?您可以使用 WMS 图层而不是将点作为矢量特征:

http://dev.openlayers.org/docs/files/OpenLayers/Layer/WMS-js.html

然后,GeoServer 将生成点的图像,并且只需要传递几 kb 的 JPEG 格式的 PNG,而不需要传递更大的几何和样式信息。但是,您会失去一些客户端功能(鼠标悬停事件等)

如果您已经这样做了,那么可能会有一个单独的问题。5000点应该可以在服务器上处理。

或者,您可能想重新考虑如何显示积分。一次 5000 点听起来好像很混乱。也许使用不同大小的圆圈来表示 10、100、500 点等在处理和可视化方面会更容易。

于 2010-02-10T20:28:50.403 回答