请教各位用Openlayers+geoserver怎么实现这种效果

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请教各位用Openlayers+geoserver怎么实现这种效果相关的知识,希望对你有一定的参考价值。

参考技术A 填写对应的参数,简单sld并不需要我们自己写,我们可以借助于udig生成。唯一值得注意的是编码的格式记得修改。

从 Openlayers 标记阵列创建 Geoserver 图层

【中文标题】从 Openlayers 标记阵列创建 Geoserver 图层【英文标题】:Create Geoserver Layer from Openlayers Marker-Array 【发布时间】:2014-10-30 12:01:37 【问题描述】:

我目前正在使用 js-array 来显示来自 openlayers 中 MSSQL DB 的大量标记。但是性能太差了,我需要一个新的解决方案。我想我可以通过使用 geoserver 来显示一个带有所有标记的图层来解决这个问题。但我不太清楚如何做到这一点。

Amy 想到了如何提高 Web 应用程序的性能? 提前谢谢。

【问题讨论】:

【参考方案1】:

如果您的要素过多,请考虑改为制作栅格图层。例如,WMS。地理服务器supportsMSSQL。

如果您的标记是静态的,那么您可以使用caching 大幅提升您的性能。这将性能提高了多倍,但仅适用于您拥有“静态”内容的场景。

也可以考虑在https://gis.stackexchange.com/ 上提问。

【讨论】:

好的,如何使用来自 SQL 服务器的数据创建 WMS 栅格图层?抱歉,我找不到任何好的教程。 编辑:我的数据不是静态的,但不会经常变化。 @ChristianBlättler 实际上很容易。配置数据库,创建图层,为其配置 WMS。这是我向初学者推荐的一本书:amazon.de/GeoServer-Beginners-Guide-Brian-Youngblood-ebook/dp/… 您甚至不需要配置 WMS。将数据源添加到 GeoServer 后,WMS 基本上就准备好了。 Geoserver 文档非常好。显然,一旦你有了 WMS,内容就会变成静态的(正如 lexicore 所说),所以如果你想与标记交互,你需要另一种方法,例如 OpenLayers 中的集群/bbox 策略。 @JohnBarça 实际上,“静态”的意思是不同的。例如,如果您有正射影像或非常静态的几何体(例如状态边界),则可以将其预渲染为图块集并通过 WMTS 提供。这将非常快,因为几乎需要零处理。然而,OP 似乎有一些动态的标记,所以这不会那么容易(除非你使缓存无效)。你说得对,GeoServer 有很好的文档记录,所以 MSSQL 数据源上的 WMS 层应该没有问题。 @lexicore。是的。明白了,我在 WMTS 和 WMS 方面做了很多工作。 OP 需要澄清他是否需要动态且可以选择或只想显示的标记。我同意你的一切:D

以上是关于请教各位用Openlayers+geoserver怎么实现这种效果的主要内容,如果未能解决你的问题,请参考以下文章

openlayers 3加载GeoServer发布的wfs类型服务

GeoServer中配置的图层使用OpenLayers为啥读不出来

使用 Openlayers 和 GEOServer 显示特征名称

GeoServer 和 OpenLayers 在显示大量点时有啥限制?

Geoserver 2.10 Openlayers 3 TextSymbolizer 标签未显示

Openlayers 和 geoserver - 没有这样的属性:bbox