问题标签 [sld]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
209 浏览

styles - 有条件的地理服务器样式

如何根据属性值使用不同的图像(OnlineResource)?我有一个带有“数字”属性的功能,我需要执行以下操作:如果数字 = 0,则 OnlineResource = image 1 else OnlineResource = image 2

0 投票
0 回答
173 浏览

java - 在geotools源代码中修改哪些文件以具有不同的方向锚点(N,W,E,S,NW,...)用于maxDisplacement的点标签?

如果使用 maxDisplacement,在 geotools 或 geoserver 源代码中修改哪些文件以具有不同的方向锚点(N,W,E,S,NW,...)用于点标签?如果我在 geoserver sld 文件中使用带有 maxDisplacement 供应商选项的锚点 (1, 0.5),则所有剩余方向 (N,W,E,S,...) 将带有锚点的点文本标签放置在 sld 中,我想更改锚点指向剩余方向或角度,如何实现这一点,我在geotools源代码中找到了这个文件“...\geotools-24.1-project\geotools-24.1\modules\library\render\src\main\java\org\geotools \renderer\label\LabelCacheImpl.java",我更改了 RIGHT_UP_ANCHOR_CANDIDATES,RIGHT_DOWN_ANCHOR_CANDIDATES,... 在这个文件中没有成功,有什么建议吗?

Point_Label_AnchorPoint

提前致谢

0 投票
0 回答
359 浏览

leaflet - 当我添加一个 Geoserver 时出现“渲染过程失败”错误对于我的 WMS 请求的 env 参数

我在 Geoserver 中创建了一个图层,其中包含城市数据库,使用 SQL VIEW 查询仅检索对我感兴趣的年份有效的城市。该图层包含城市位置。每个城市都有其名称、人口、一个布尔值作为属性,用于指定是否定义了人口。

我创建了一个 SLD 脚本来设置这个数据库的样式。它包含 3 条规则:

  • 如果没有人口,我放一个小灰圈
  • 如果有人口,我放一个与人口成正比的圆圈
  • 在所有情况下,我都会在圆圈上方显示城市名称

当我通过 Leaflet 中的 WMS 请求显示这一层时,它工作得非常好。

然后我在我的 WMS 请求的 env 变量中添加了一个标签参数来选择是否查看名称。当标签为真时,我想看到带有城市圆圈的名称,但不是当标签为假时。

在 SLD 方面,这会导致名称规则中的 ogc:Filter 仅当 env 中的标签参数为 true 时才显示名称:

这个简单的添加使我的 WMS 请求由于某种原因而崩溃。即使图层预览不再起作用,它也会显示错误:

这个错误告诉我列 population_exists 不存在(这个列让我知道我是用一个小的灰色圆圈还是一个与人口成比例的圆圈来表示我的城市)。但在我添加 ogc:Filter 行之前,这不是问题。

更奇怪的是,我在另一个显示国家而不是城市的图层上添加了相同的过滤器,并且它没有问题地工作。

GeoServer 日志中的错误如下所示:

您是否了解此错误的来源以及如何解决?

0 投票
1 回答
42 浏览

gis - 如何按属性值过滤来自 WMS 服务的数据?

我正在尝试通过某个属性的值从 WMS 服务中过滤掉数据。这是 WMS 链接:https ://openmaps.gov.bc.ca/geo/pub/WHSE_LAND_AND_NATURAL_RESOURCE.PROT_CURRENT_FIRE_PNTS_SP/ows?SERVICE=WMS&REQUEST=GetCapabilities

本质上,我试图过滤掉“火灾状态”属性的值为“Out”的点,并保持所有其他点不变。我研究了 SLD 属性,但我不确定是否有更简单的方法来解决这个问题。

0 投票
0 回答
48 浏览

styles - 有没有办法将符号样式文件 .sld 与带有 QGIS 的 geojson 文件相关联

我有一个QGIS项目,我想导出一个带有样式的点Geojson文件。给定的样式是每个点的符号。我可以生成.sld文件,但我正在使用的应用程序仅将 Gesojson 作为其输入。

0 投票
1 回答
83 浏览

python - 使用 pyQgis 导出 sld

有没有办法通过 sld 文件中的 pyqgis 导出图层的样式?
我没有在文档中找到它。我在 3.x 版本的 Qgis

0 投票
0 回答
105 浏览

javascript - 动态更改 Geoserver 图层样式

我正在使用以下代码将图层从 Geoserver 加载到 OpenLayers:

在 Geoserver 中,我创建了一个 sld 样式“style.sld”并将其分配给图层

现在,假设我有 5 种样式:“style_1.sld”、...、“style_5.sld”

有没有办法添加一条线,我可以在其中指定我希望我的图层显示的 whish 样式。

0 投票
0 回答
109 浏览

javascript - 动态编辑地理服务器样式

我正在使用 Geoserver 来设置多边形图层的样式,该图层包含多个“整数”类型的属性。

当我正在创建一个 WebGIS 时,用户可以选择使用哪个属性来设置图层特征的样式(根据属性值为每个特征赋予颜色)。

如您所见,我将不得不在 Geoserver 中创建几种样式。然后,我将使用下面的行:

其中变量“layer”将被 layer_name 替换,变量“style_1”将是在 Geoserver 中创建的样式名称,并由先前函数生成的关于用户选择的属性。

这是一种方法。但是,正如您所说,当属性数量很大时(我可能有多达 30 个属性),它会变得很重。

现在,让我们看一下我正在使用的样式示例:

这种样式只是用#f7fbff 为具有属性(refer_AA < 1000)的多边形着色,用#deebf7 为具有(1000<refer_AA < 2000)的多边形着色。

我的目标之一是通过 JavaScript 或其他方式动态编辑此样式。例如,一种我可以个性化属性名称和我为每个过滤器使用的颜色的方法。就像是 :

0 投票
0 回答
72 浏览

geoserver - 如果使用 RasterSymbolizer Colormap 将灰色线光栅化为 RGB 色线,如何使用矢量图层(线串几何)制作 Geoserver SLD?

我是 Geoserver 的初学者。

我用 lineSymbolizer SLD 样式创建了 lineString 矢量图层。并且矢量图层通过 postgis 连接,并且该层只有线串几何行数据。其他属性值不存在(仅 linstring 坐标)

灰度层 灰度层

我想按数量将此层灰度颜色转换或设置为 RGB 着色。输出应该像这张图片

RGB 颜色图 RGB 颜色图

Geoserver RasterSymbolizer

我尝试使用 geoserver 中的“RasterSymbolizer Colormap”制作新的 SLD,但我失败了..

是否可以在线串矢量图层图中使用 rasterSymbolizer ?

0 投票
2 回答
89 浏览

geoserver - Geoserver 上的动态 SLD

有人可以帮我解决geoserver上的这个CSS sld吗?

如果有人有更好的选择而不是我的方法,请提出建议。

这工作正常,但我想使用 if-then-else 来简化这个我坚持这个

因为那里有 30 多个唯一的“activity_group_id”

我有点数据,其中每行有两个变量 'activity_group_id' 和 'activity_status',我使用 ttf 符号显示为图层,但条件是,每个点需要根据其状态分配颜色(填充) 总共有它的 4 个独特价值,因为我是 sld 引用文档的新手,但没有找到任何解决方案。

编辑:- 为点位置图层添加一些测试数据