Postgresql 当显示大量点时,GeoServer和OpenLayers有哪些限制?

Postgresql 当显示大量点时,GeoServer和OpenLayers有哪些限制?,postgresql,openlayers,geoserver,Postgresql,Openlayers,Geoserver,我们正在尝试使用OpenLayers和GeoServer显示一个包含大量点(根据用户标准从1000到20000不等)的地图。这些点存储在PostgreSQL数据库中 虽然应用程序显示下限似乎没有什么问题,但其实际限制似乎在5000点左右。我们正在应用的SLD也是巨大的(根据不是特征Id的标准分别列出所有点)。如果是较高的数字,则无法保证返回映像,请求有时会使GeoServer崩溃,需要重置服务 有人知道这样的事情是否可行吗?如果可行,有什么配置技巧吗 我们已经在用于过滤的字段上应用了btree索

我们正在尝试使用OpenLayers和GeoServer显示一个包含大量点(根据用户标准从1000到20000不等)的地图。这些点存储在PostgreSQL数据库中

虽然应用程序显示下限似乎没有什么问题,但其实际限制似乎在5000点左右。我们正在应用的SLD也是巨大的(根据不是特征Id的标准分别列出所有点)。如果是较高的数字,则无法保证返回映像,请求有时会使GeoServer崩溃,需要重置服务

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


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

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

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

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


或者,你可能想重新思考你是如何表达这些观点的。一次5000分听起来似乎很混乱。也许使用不同大小的圆圈来表示1010500点等在处理和可视化方面会更容易

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

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

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


或者,你可能想重新思考你是如何表达这些观点的。一次5000分听起来似乎很混乱。也许使用不同大小的圆圈来表示1010500点等在处理和可视化方面会更容易

非常感谢您的回复。我们使用的是WMS层(我应该说)。我同意显示的点数令人困惑,因此我们以不同的方式显示数据(使用政治边界)。点级别现在只在放大到更有用的级别后显示。非常感谢您的回复。我们使用的是WMS层(我应该说)。我同意显示的点数令人困惑,因此我们以不同的方式显示数据(使用政治边界)。点级别现在仅在放大到更有用的级别后显示。