我正在使用WMS层,它有超过一百万个对象。如果我想从这个层获取功能信息,它就不能工作,因为在2分钟后请求被拒绝(超时)。
然后,我尝试发送带有过滤器选项的请求,以获取当前BBOX中的对象(WFS现在)。结果和以前一样。
我正在使用Geoserver,数据库MS和OpenLayers webmap JS库。我认为问题是在Geoserver,因为他有问题为层提供巨大的数据。如果我从另一层得到的信息与较低数量的对象,它是有效的。
还有其他方法可以获取数据吗?
发布于 2013-09-04 01:34:51
造成这种情况的原因可能有很多,而不仅仅是geoserver。MS中的表是否有空间索引。您可以在MS中对表进行查询--它仍然很慢。当您从geoserver请求数据时,它会将该查询传递给数据库。如果数据库需要很长时间来响应,geoserver最终会超时。
您可以尝试通过推特表和添加索引和查询提示来加快服务器的响应速度。如果不可能,可以根据位置将数据分解为几个表。如果MS的空间组件不能满足挑战,您可以尝试使用postgis或oracle。(我从未将MS用于空间工作)
所以请看一下您的数据库性能,因为它比geoserver更有可能是问题所在。如果数据库的性能良好,那么您将需要了解geoserver如何连接到数据库,以及如何在geoserver中配置该层。
用于连接检查:有最新版本的Geoserver吗?是Datastore插件,您使用的是最新的,完全支持的,或仍然是我的开发。是否将存储设置为公开主键或添加主键元数据表。是否geoserver通过用户层和数据量达到了最大连接限制。(注:取决于您的Geoserver和/或plugin的版本,其中一些选项可能不可用)
用于层检查的:是在其本机投影中服务的层。是正确设置的层边框。
即使在get特性信息请求中也发生了这种情况,我仍然认为这个问题在数据库设置中是最有可能出现的。
我希望这能帮上忙。
https://stackoverflow.com/questions/18099169
复制相似问题