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

尽管该应用程序显示出较低的范围似乎没有问题,但其实际限制似乎约为5000点。我们所应用的SLD也很大(通过不是功能ID的标准单独列出所有点)。在较高的数字下,不能保证返回图像,并且该请求有时会崩溃,要求重置该服务。

有人知道这样的东西是否可行,如果是的,则有任何配置提示?

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

有帮助吗?

解决方案

您将哪种类型的图层添加到OpenLayers中?您可以使用WMS层,而不是将点作为向量特征:

http://dev.openlayers.org/docs/files/openlayers/layer/wms-js.html

然后,GeoServer将生成这些点的图像,并且只需要传递几个KBS的JPEG,而不是几何和造型信息,这些信息将大得多。不过,您会丢失一些客户端功能(鼠标越过事件等)

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

另外,您可能想重新考虑如何外交观点。一次听起来有5000点听起来好像可能很混乱。在处理和可视化方面,也许使用不同大小的圆圈代表10、100、500点等。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top