有什么更好的选择?WMS或WFS


9

我需要从一个或多个层中进行选择,我想知道应该以哪种方式为该层提供服务。

要求是我需要能够通过绘制一个框或多边形来一次选择多个要素。它们应该突出显示,并且我应该显示所有功能的数据。我不需要对其进行任何编辑。

我正在使用geoserver和openlayers


您能够执行此应用程序吗?我想知道如何实施?
Sam007'6

对于您描述的选择,只能使用WFS。对于WMS,您可以在一个点位置进行选择,也可以通过一些已知的属性进行选择,并使用SLD重新符号化。
nmtoken

Answers:


9

听起来您想将向量存储在浏览器中,并在客户端查询它们。为此,您需要使用WFS。

但是,需要注意的是,浏览器在一次可以显示多少个向量方面存在限制。如果要处理大型或复杂的数据集,则唯一的选择就是使用WMS。但是,这将实现起来更加复杂,因为查询必须在服务器端进行。


7
实际上,OpenLayers对可显示的功能数量没有限制,浏览器对可显示的功能数量也有限制。
伊恩·特顿

2
功能的最大数量不仅取决于Web浏览器,还取决于客户端计算机的功能(例如处理器或RAM存储器)。鉴于此,您(开发人员)不知道哪种客户端计算机将运行“您的”基于OpenLayers的地图查看器,因此在估计此限制时建议保持保守。
dariapra 2011年

1
我认为WMS可以很好地实现他的目的。将复杂的处理保留在服务器端(如果可能),并将结果呈现在客户端。您将获得更好的性能,并且仍然可以使用脚本过滤器,例如“交集”,“包含”,“内部”等。请查看geoserver。
OptimizePrime

2
我建议您选择任一范式。1.客户端检索数据并进行相应的处理/查询,服务器仅提供数据(WFS)。2.客户端仅负责渲染,服务器执行处理/查询任务并交付结果(WMS)。两者都有优点和缺点,但不要混淆过程并下载数据(WFS),并让服务器也进行处理/查询。这会产生不必要的开销并使情况复杂化
OptimizePrime

@iant:我知道openlayers可以显示的功能数量没有限制。我想我们都可以同意,尽管它有局限性;)
canisrufus

5

如果您已经有了诸如底图之类的可视数据,并且只需要选择功能,那么WFS就可以很好地工作。虽然,如果您需要可视组件来进行选择,WMS服务将为您提供更好的服务,因为它是为此创建的。

尽管按照您的描述听到了用例,但我个人还是会使用WMS服务。

另外,GeoServer博客是有关这两项服务以及何时应利用它们的出色文章。

编辑:另外要注意的是,如果您除了简单地查询特征数据之外还要做其他事情,我通常只使用WFS,与最近使用的其他OGC服务相比,它在数据处理方面表现出色。另外,花一点钱,这就是我在使用服务时所经历的,这就是为什么我附加了前面和后面的链接的原因。

OGC标准:
WMS
WFS


+1有关何时使用服务类型的链接。
OptimizePrime

我认为有一个错字。第二次出现的“ WFS”似乎应该显示为“ WMS”。
canisrufus

谢谢,发生了什么事,我编辑了句子的流程以解决问题,然后我相信自己不小心更改了原本要说的内容。
dkroy 2011年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.