postgresql - GeoServer 和 OpenLayers 在显示大量点时有什么限制?

标签 postgresql openlayers geoserver

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

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

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

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

最佳答案

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

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

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

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

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

关于postgresql - GeoServer 和 OpenLayers 在显示大量点时有什么限制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2108259/

相关文章:

linux - 部署地理服务器 WAR 后,Tomcat 未在浏览器上加载 - Ubuntu

javascript - 如何通过 javascript 将 SLD 样式动态添加到 WMS 层

java - 从geoserver获取 map 到argis sdk android

postgresql - 引发异常后提交事务

sql - ORDER BY euclidean distance 并返回距离?

OpenLayers 要素数组为空

javascript - 从 URL 显示由 decodeURIComponent 解码的 HTML 代码是否安全?

javascript - 如何使用带有 Sequelize 的 iLike 运算符进行不区分大小写的查询

java - RMI 内存不足异常

javascript - 获取已定义坐标的图层和要素