【发布时间】:2021-11-30 11:23:35
【问题描述】:
有人可以帮我处理 geoserver 上的这个 CSS sld 吗?
如果有人有更好的选择而不是我的方法,请提出建议。
[activity_group_id = 20] [application_status = 'PreSanction-Pending']{
mark:symbol('ttf://ESRI Business#39');
:symbol {
fill:#FF0000;
}
}
[activity_group_id = 20] [application_status = 'Payment-Done']{
mark:symbol('ttf://ESRI Business#39');
:symbol {
fill:#00FF00;
}
}
[activity_group_id = 20] [application_status = 'Work-Completed']{
mark:symbol('ttf://ESRI Business#39');
:symbol {
fill:#0000FF;
}
}
[activity_group_id = 20] [application_status = 'PreSanction-Received']{
mark:symbol('ttf://ESRI Business#39');
:symbol {
fill:#00FFFF;
}
}
这工作正常 但我想使用 if-then-else 来简化它 我被困住了
因为那里有 30 多个唯一的“activity_group_id”
我有每行有两个变量“activity_group_id”和“activity_status”的点数据, 我正在使用 ttf 符号显示为图层,但条件是, 每个点都需要根据其状态分配颜色(填充) 它总共有 4 个独特的价值,因为我是 sld 引用文档的新手,但没有找到任何解决方案。
编辑:- 为点位置图层添加一些测试数据
activity_group_id application_status desk4_longitude desk4_latitude
20 "Work-Completed" 77.8912643252645 20.7848792063826
20 "PreSanction-Pending" 77.8912791454753 20.7796634062134
20 "Payment-Done" 77.874307404545 20.7786504284761
20 "PreSanction-Pending" 77.8748653559629 20.7777572907007
20 "Payment-Done" 77.8935239518168 20.7742195299066
20 "PreSanction-Pending" 77.8887775696933 20.7848194877974
20 "PreSanction-Received" 77.8829004567405 20.7622202218188
【问题讨论】:
-
似乎有一种方法可以使用 ogc 过滤器,请参阅gis.stackexchange.com/a/262356
-
@Jose Hermosilla Rodrigo 我使用了这里的 css 链接,并从您的建议中得到了参考,谢谢。 docs.geoserver.org/stable/en/user/styling/css/examples/…