【问题标题】:OpenLayers getFeatureInfo WMS with huge amount of data具有大量数据的 OpenLayers getFeatureInfo WMS
【发布时间】:2013-08-08 13:56:10
【问题描述】:

我正在使用具有超过一百万个对象的 WMS 层。如果我想从该层获取功能信息,它不起作用,因为 2 分钟后请求被拒绝(超时)。

然后我尝试使用过滤器选项发送请求以获取当前 BBOX 中的对象(现在为 WFS)。结果和以前一样。

我正在使用 Geoserver、数据库 MS SQL 和 OpenLayers webmap JS 库。我认为问题出在 Geoserver 上,因为他无法为包含大量数据的图层提供服务。如果我从对象数量较少的其他图层获取信息,它会起作用。

还有其他获取数据的选项吗?

【问题讨论】:

    标签: sql-server openlayers geoserver wms getfeatureinfo


    【解决方案1】:

    可能有许多问题导致此问题,而且可能不仅仅是地理服务器。 MS SQL 中的表是否有空间索引。如果您在 MS SQL 中对表进行查询,它仍然很慢。当您从地理服务器请求数据时,它会将该查询传递给数据库。如果数据库需要时间来响应,geoserver 最终会超时。

    您可以尝试通过调整表并添加索引和/或查询提示来加快服务器的响应速度。如果不可能,您可以根据位置将数据分解为多个表。如果 MS SQL 的空间组件无法应对挑战,您可以尝试使用 postgis 或 oracle。 (我从未使用 MS SQL 进行空间工作)

    所以请查看您的数据库性能,因为它比地理服务器更有可能是问题所在。如果数据库的性能很好,那么您将需要查看geoserver如何连接到数据库以及在geoserver中如何配置图层。

    连接检查: 你有最新版本的 Geoserver。 您使用的 Datastore 插件是最新且完全受支持的还是仍在开发中。 您是否将商店设置为公开主键或添加主键元数据表。 地理服务器是否因用户层和数据的数量而达到最大连接限制。 (请注意,取决于您的 Geoserver 和/或插件版本,其中一些选项可能不可用)

    图层检查: 图层是否在其本机投影中提供。 图层边界框设置是否正确。

    即使在获取功能信息请求时发生这种情况,我仍然认为问题很可能出在数据库设置中。

    希望对你有帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-19
      相关资源
      最近更新 更多