我有一个shapefile,其中包含大约6,500个点,我正在尝试使用WMS与Geoserver 2.2.1一起使用。直到我在使用传单的客户端应用程序上实现了过滤功能之前,一切都很好。当我在WMS查询中附加CQL_FILTER(属性过滤器,而不是空间过滤器)时,我注意到缩小时缺少功能。当我放大时,它们有时会重新出现,但并非总是如此。见下图-
在左侧的缩放级别,不显示亚特兰大。当我放大时,它是。但是,有时甚至在左侧的缩放级别上也不会显示坦帕中的点。如果再缩小3个级别,将不会显示任何点。我不确定问题是CQL_FILTER参数,因为有6,500个点很难在全球范围内注意到一些缺失点,但是我在这里作为示例展示的特定过滤器仅过滤了3个特征,何时根据缩放级别,其中有1至3个缺失,这一点特别明显。
我可以使用高级地图选项中的CQL过滤器在geoserver自己的图层预览中重新创建相同的行为,因此,我可以肯定它不是我的客户端应用程序。
至于调试此问题的步骤,我尝试使用默认的Points样式/ sld文件排除自己的图层样式。我已经关闭了所有我知道的缓存。我再次检查了我的投影是否正确-我在WGS_1984_Web_Mercator_Auxiliary_Sphere中使用WGS_1984_Web_Mercator_Auxiliary_Sphere作为投影创建了shapefile,并将图层设置为geoserver中的EPSG:3857,我认为这是等效的。我还从geoserver 2.2升级到2.2.1,并且在这两个版本中都有相同的问题。我还删除了geoserver的空间索引文件(.qix)并重新创建它,因为我在Arc中看到了类似的问题,即空间索引已损坏,但显然也不起作用。
这是Geoserver自己的图层预览的快照,其中启用了CQL过滤器,并放大到了如上所示的相同区域。红色圆圈大约是我应该看到的另一点(亚特兰大)的位置。
我尝试过调整所有我能想到的其他设置,但是没有运气。我还查看了地理服务器日志,并启用了详细日志记录,没有看到任何错误/异常。在chrome的开发人员工具中,我也看不到任何不良要求。
如果我缺少任何重要信息,我将尽力提供,但这是一个内部/非公共应用程序。