Research on the Deficiency and Extension of OGC SLD/SE Standard in Thematic Cartography

  • TIAN Xin ,
  • ZHAO Wenji , *
Expand
  • College of Resources Environment and Tourism, Capital Normal University, Beijing 100048, China
*TIAN Xin, E-mail:

Received date: 2021-03-08

  Request revised date: 2021-06-22

  Online published: 2022-04-25

Copyright

Copyright reserved © 2022

Abstract

Nowadays, web cartography or web mapping has become an important direction for the development of web GIS. The production of thematic maps on the web is extremely important. The SLD/SE standard proposed by the OGC is currently the standard and specification of web mapping. However, SLD/SE standard is often at a fundamental level, which leads to poor quality of maps. With web cartography development, besides the SLD/SE standard, some new web styling languages are emerging. Compared with the SLD/SE standard, the emerging map styling languages have advantages in making thematic maps. This research selects Mapbox GL and CartoCSS from the existing emerging map styling languages for comparison with the SLD/SE standard, and then summarizes the defects of the SLD/SE standard in expressing thematic maps. The study found that the SLD/SE standard lacks the function of setting a classification method. Meanwhile, it also lacks the function of accurately expressing the unclassified proportional symbol map. Because of the shortcomings, this study proposed the extensions of Classify and ProportionalSymbol. Example data of Overijssel province in Netherlands were used to prove that the new extensions were feasible, while the verification data of Beijing were used to prove that the extensions were applicable to all vector data used to create thematic maps. The SLD/SE standard is still in the stage of continuous development. In future standardisation, the two extensions proposed in this research can greatly simplify the work of cartographers and improve the ability of current standard to express unclassified proportional symbol maps.

Cite this article

TIAN Xin , ZHAO Wenji . Research on the Deficiency and Extension of OGC SLD/SE Standard in Thematic Cartography[J]. Journal of Geo-information Science, 2022 , 24(2) : 352 -364 . DOI: 10.12082/dqxxkx.2022.210114

1 引言

由于地理空间信息的异构性,网络地理空间信息服务需要具有统一的标准。开放地理空间联盟(Open Geospatial Consortium,OGC)为实现网络地理信息共享制定了用于数据获取、传输、处理等多种标准[1],其制定的标准在业内已成为具有权威性的开放地理空间信息服务标准[2,3]。其中样式图层描述符(Styled Layer Descriptors,SLD)[4]和符号编码标准(Symbology Encoding,SE)[5]是用于样式化和符号化发布到网络上显示的地图数据,这2个标准已在大多空间数据基础设施中用于地理空间数据的符号化和样式化[6,7]。然而目前的SLD/SE标准仍存在有待改进的问题,例如标准中定义的地图样式单一、难以表达复杂的地图符号。很多学者针对当前SLD/SE标准存在的问题也提出了扩展方案[6,7,8,9,10,11,12]
在众多地图种类当中,专题地图占据重要地位[13,14]。专题地图通过科学的地图符号传达与地理位置相关的统计信息,有着比普通地图更为广泛的应用领域。随着国家经济建设和科研教育的迅速发展,专题地图已发展到所有区域性学科及其许多的生产部门,在国民经济和社会生活等方面的应用越来越广泛[15]。其中,分区统计图、比例符号图、图表图等多种类型的专题地图在新冠疫情的数据显示与共享中起到了重要作用[16,17,18]。然而,目前SLD/SE标准能描绘的专题地图类型有限[6,9],为SLD/SE标准的推广与使用造成阻碍。因而扩展SLD/SE标准描绘专题地图的能力有着较为实用的意义。
与SLD/SE标准相比,网络上逐渐兴起的一些地图样式语言结构简短,也同样具有描绘专题地图的能力,例如Mapbox GL[19]、CartoCSS[20]、MapCSS[21]等。这些样式语言的编码方式与SLD/SE标准不同,一般是基于JSON格式或类似于CSS格式的编码方式[7]。这些样式语言并不被视为标准,因为他们不具备SLD/SE标准在异构地理空间信息之间支持可互操作的特性。但这些新兴地图样式语言中的一些制图机制可被借鉴到SLD/SE标准当中,以丰富SLD/SE标准描绘专题地图的能力。
综上所述,本文旨在发现SLD/SE相比于网络中其他样式语言的缺陷,并对这些缺陷提出扩展方案并验证可行性,最终扩充当前SLD/SE标准制作专题地图的能力。本研究的主要目标是:通过对比SLD/SE标准与网络上现存的新兴地图样式语言,总结出当前标准在专题制图方面存在的缺陷,并提出扩展以改善缺陷。目前,国内针对OGC的SLD/SE标准的研究主要处于应用阶段,对于SLD/SE标准的拓展研究寥寥无几,而国外针对该领域则已有一些研究。Dietze等[22]提出名为专题符号编码(TSE)的扩展方案,将ThematicSymbolizer元素添加到SE标准中,使得分级统计专题地图的SLD样式文件更为简便,同时为SE标准 增加了描绘图表专题地图的机制。Abson等[23]为SLD/SE标准提出了专题地图样式理论上的扩展模型,命名为SLD-T[24]。该扩展模型旨在为SLD/SE标准增加专门用于描绘专题地图的机制,同时缩短SLD样式文件的长度并减少冗余。该理论扩展模型支持比例符号地图、叠置符号地图、并置符号地图以及部分类型(饼图和柱状图)的图表地图的描绘,但这一扩展模型并未在实际中得到实现和验证。Rita等[25]通过名为ScapeToad的开源JAVA库扩展了SLD/SE标准描绘Cartogram的能力。并且,该研究从Abson等[23]提出的SLD-T扩展模型中继承了部分内容,结合Google Chart API实现了图表专题地图的扩展。为满足环境监测与管理的复杂可视化需求,欧洲委员会在ORCHESTRA和SANY项目中开发了“地图和图表”(Map and Diagram Service)的web服 务[26]。该web服务的目的是实现地理空间数据的可视化以及地理空间数据属性信息的符号化,并且地图使用者可以与web端的地图进行交互。上述研究中的一些研究仅对当前的SLD/SE标准提出了理论上的扩展,其他研究虽然针专题体地图的不同种类提出了SLD/SE标准的扩展方案,但尚不能完全解决当前标准中存在的所有制作专题地图上的问题。此外,随着网络地图制图学的发展,网络中涌现出许多用于描绘地图的样式语言。目前,国内外尚没有研究将这些新兴的地图样式语言与当前SLD/SE标准进行比较研究。而一些新兴样式语言在表达专题地图方面的能力已经显而易见[27,28]。若能将新型样式语言中存在的一些优势综合到SLD/SE标准中,将对SLD/SE标准有很大提升,并且使SLD/SE标准的应用领域更广,使用者更加丰富。

2 研究技术路线

根据研究目标,本文将具体的研究内容分为 4部分: ① 从网络上现存的新兴地图样式语言中选取开源的,具有完善定义且应用广泛的新兴地图样式语言与当前SLD/SE标准进行对比研究;② 选取特定类型专题地图作为测试基准,得出SLD/SE标准和选取的新兴地图样式语言在描绘特定类型专题地图上的优势与劣势,并发现新兴地图样式语言可借鉴到SLD/SE标准中的机制;③ 根据对比得出的结果,提出可以添加到当前标准中的扩展方案;④ 利用GeoTools开源Java工具包实施扩展并验证扩展的可行性,已实现丰富SLD/SE标准描绘专题地图能力,从而增加SLD/SE标准实用性的目的。具体点的研究技术路线如图1所示。
图1 研究技术路线

Fig. 1 Work flow of this research

3 基于专题地图制图能力的SLD/SE 标准优缺点研究

3.1 新兴地图样式语言的选取

当前,网络环境中兴起的地图样式语言众多,其中一些为企业开发并用于在线可视化软件的地图制作当中,另一些则可内嵌于Javascript中直接访问原数据并进行样式化。因而很多新兴地图样式语言不开源或没有完整定义。本文将网络上现存的新兴地图样式语言总结于表1中,并列出了它们所使用的网络地图制图平台。从表1中可以看出Mapbox GL是应用最广泛的新兴地图样式语言,其次是CartoCSS。从3种地图样式语言的定义中发现Mapbox GL和CartoCSS都具有完整的定义规范,而MapCSS只在网页中有一些描述而没有完善的定义规范。因此本文以开源、具有完整定义且在网络可视化软件中使用广泛的新兴地图样式语言作为与标准选取Mapbox GL和CartoCSS这两种地图样式语言作为新兴地图样式语言的代表,与SLD/SE标准进行比较。
表1 网络现存新兴地图样式语言及其使用平台

Tab. 1 Online mapping platforms and their styling languages

新兴样式语言(编码格式) 使用的网络制图平台
MapCSS (类CSS格式) OpenStreetMap
CartoCSS (类CSS格式) OpenStreetMap、Carto
Mapbox GL (基于JSON格式) Mapbox,Kepler.gl,Deck.gl,Luma.gl,react-map-gl
OGC提出的SLD标准允许用户自定义地图样式,拓展了网络地图服务(Web Mapping Service,WMS)显示地图时样式的局限性。若不使用SLD标准,则通过WMS显示的地图只能使用服务器中的预设样式渲染地图。SE标准定义了样式化地图符号的规范,该标准需要内嵌于SLD标准中使用,SLD和SE标准共同使用才能完成样式化地图数据的工作[4,5]。SLD/SE标准以可扩展标记语言(Extensible Markup Language,XML)为编码格式,该编码方式为嵌套结构,其中的数据通过命名的元素进行存储,以起始标签<tag>和结束标签</tag>标识文档中的每一个元素,元素与元素之间的结构关系由XSD(XML Schema Definition)进行定义。XML编码方式的优势在于其可扩展性和可互操作性[4,5],因而SLD/SE标准一直多被用于空间数据基础设施(Spatial Data Infrastructures)中描绘地形图而较少用于描绘专题地图。
CartoCSS样式语言是以类似层叠样式表(Cascading Style Sheets,CSS)的格式进行编码,其与普通CSS格式的区别在于加入了用于表述地理空间数据的属性。这种编码格式的优势在于不需要通过双标签来标识数据,也没有复杂的嵌套结构。因而这种结构更利于用户阅读与使用。Mapbox GL样式语言以JSON为编码格式,是以数据驱动地图样式语言(Data-Driven Styling),即允许用户基于矢量数据的属性信息对地理空间数据进行样式化,这一特点恰巧适用于专题地图的制图需求。这2种地图样式语言中定义的地图样式更为丰富,因而在网络地图制图中多被用于实现网络专题地图制图。 3种地图样式语言的异同见表2
表2 SLD/SE标准、CartoCSS和Mapbox GL的区别

Tab. 2 Online mapping platforms and their styling languages

地图样式语言 编码格式 优势 劣势
SLD/SE标准 XML格式 可扩展性、可互操作性 编码冗长,样式定义单一
CartoCSS 类CSS格式 编码简短,易读性强 缺乏可互操作性
Mapbox GL 基于JSON格式 编码简洁,易读性强
数据驱动编码利于处理矢量图层的属性信息
缺乏可互操作性

3.2 测试基准的选取

专题地图种类丰富,在一篇文章中难以涉及全部专题地图类型[29,30]。本文总结了当前SLD/SE标准所能表达的专题地图类型[14,31-35]表3),由表3可知,SLD/SE标准只能描绘具有简单地图符号的专题地图,具有复杂地图符号的专题地图就无法使用SLD/SE标准进行描绘。本文将从SLD/SE标准可以描绘的专题地图类型和不能描绘的专题地图类型中各选2种类型作为测试基准,其一可以比较针对SLD/SE标准能描绘的地图类型,这3种地图样式语言存在哪些异同;其二可测试CartoCSS和Maobox GL是否能描绘SLD/SE标准不能表达的专题地图类型。在SLD/SE标准能描绘的专题地图类型中,分区统计图和比例符号图的表达涉及到属性数据分类、颜色填充以及图形符号的样式显示,可以测试SLD/SE标准、CartoCSS和Mapbox GL表达这三种样式的区别。此外,这2种专题地图类型也是最常用的专题地图类型,他们可以表达特定地理区域中的人口分布,经济发展差异,医疗水平等多种社会问题[14,31-32],在很多政府部门的官方网站中都有所应用。若能将当前标准表达这两种专题地图的能力提高,可以提高和完善当前SLD/SE标准描绘专题地图的能力。在当前标准不能描绘的专题地图类型中,图表统计图可以显示特定地理区域中多于一类的统计数据,在实际应用中的利用率很高。而等值线填充图则可反映气象、地形、地质现象等的梯度变化,在地理科学研究中具有重要意义。图表统计图和等值线填充图也是在实际中应用广泛的2种地图类型,因此本文选取分区统计区、比例符号图、图表统计图和等值线填充图这 4类专题地图作为测试基准,来测试SLD/SE标准、CartoCSS和Mapbox GL表达基准的能力,并得出与CartoCSS和Mapbox GL相比,SLD/SE标准存在的缺陷。
表3 当前SLD/SE标准描绘专题地图的能力

Tab. 3 The ability of the current standard to express thematic maps

专题地图类型 是否能被SLD/SE标准描绘
分区着色图
分级统计图 分类的
未分类的
比例符号图 分类的
未分类的
图表统计图
价值-区域图
叠置符号图
并置符号图
点密度图
标准等值线图
等值区填充图
流向图

3.3 SLD/SE标准与CartoCSS、Mapbox GL对比研究

此研究中使用GeoServer[36]、Mapbox Studio[37]和Carto[38] 3个网络地图制图平台,分别测试SLD/SE标准和另2种地图样式语言描绘上述4种专题地图的能力。通过测试发现,SLD/SE标准、Mapbox GL和CartoCSS都具有描绘分区统计图和比例符号图的能力,但三者都无法描绘图表统计图和等值线填充图(表4),因此在制作图表统计图和等值线填充图方面,3种地图样式语言不具有可比性。虽然 3种地图样式语言都具有描绘分区统计图和比例符号图的能力,但他们所能表达的精准程度不尽相同。因此本文将SLD/SE标准与CartoCSS和Mapbox GL进行比较,并将描绘分区统计图和比例符号图时SLD/SE标准的优缺点总结如下:
(1)优势
通过测试发现SLD/SE标准可使用插值函数描绘未分类的分区统计图,而CartoCSS不具备这样的函数。因此,与CartoCSS相比,具有插值函数这一机制是SLD/SE标准的优势。除此之外,SLD/SE标准与CartoCSS和Mapbox GL相比并无其他优势。
(2)缺陷
在制作分类的分区统计图和分类的比例符号图示,CartoCSS中的ramp()函数可通过设置分类函数和类别数量来描绘需要对数据属性值进行分类的专题地图。这2种机制非常有利于制作分类的分区统计图和分类的比例符号图,因为这2种类型的专题地图在制图前需要先将要被符号化的数据属性值进行排序整理。通过属性值的分布律,判断使用哪种分类方法对数据进行分类,并判断合适的类别数量[20]。在传统专题地图制作中该步骤需要制图者在对地图进行样式化前在其他数据处理软件中完成,这使得专题地图的制作工序更为复杂。而CartoCSS在其样式语言中增加了设置分类函数和类别数量这2种机制,因此制图者只需在样式文件中设定分类方法的名称和需要的类别数量即可,无需自己完成分类工作。SLD/SE标准中具有用于分类的Categorize函数,但该函数中没有设置分类方法和类别数量的机制。因此,与CartoCSS相比,设置分类函数和类别数量为SLD/SE标准的一个缺陷。
表4 3种地图样式语言中用于描绘基准的机制

Tab. 4 The mechanisms used to express three benchmarks in the three styling languages

基准 SLD/SE CartoCSS Mapbox GL
分区统计图 分类的 <Rule>元素和 <Filter>元素 Filters Case语句
Categories函数 Ramp()函数 Step函数
未分类的 Interpolation函数 - Interpolation函数
为每一属性值设置对应颜色
比例符号图 分类的 <Rule>元素和<Filter>元素 Filters Case语句
Categories函数 Ramp()函数 Step函数
未分类的 Interpolation函数 - Sqrt()函数
为每一属性值设置对应符号大小
图表统计图 不包含可表达该类型专题地图的机制
等值线填充图 不包含可表达该类型专题地图的机制
Symbol Size = max Siz e × attr Value max Value
根据专题地图的制图理论[32],未分类比例符号图需按式(1)制作,其中SymbolSize为比例符号地图中每个符号的尺寸;maxSize参数为制图者设定的属性之中的最大值对应的符号尺寸;attrValue参数为被符号化属性的某一属性值;maxValue参数为属性值中的最大值。SLD/SE标准只能使用插值函数近似计算出每个地图要素上的符号尺寸而没有对应式(1)的计算函数,因此无法制作精确的未分类比例符号图。而Mapbox GL中的sqrt()函数可用于描绘此类型专题地图,制图者只需在样式文件中设定公式中的3个参数即可。Mapbox的后台渲染引擎可自动解析样式文件中的参数,并直接计算出每一个属性值所对应的符号尺寸,最终将正确大小的符号显示在对应的位置上。因此SLD/SE标准在制作未分类比例符号图方面可向Mapbox GL借鉴sqrt()函数这一制图机制。

4 SLD/SE标准扩展方案

通过基准对SLD/SE标准的测试,发现标准中存在的2个大问题:① SLD/SE标准缺少设置分类方法和类别数量的机制;② SLD/SE标准中缺少可用于制作未分类比例符号的数学函数。为针对这2个缺陷提出扩展,本文基于当前SLD/SE标准的XSD定义模式提出了2个扩展,Classify扩展函数和ProportionalSymbol扩展函数。图2为制作分区统计图和比例符号图的SLD文档的XSD模型图,使用这种UML模型图可将SLD/SE标准的模式结构清晰展示,同时能一目了然的显示扩展函数添加的位置,对扩展的实现具有辅助作用。UML模型中的每一个矩形框都代表SLD/SE标准中的一个元素标签,在UML模型中把这些矩形框成为类(class)。XSD模式可以通过特定的映射规则可生成UML模型,新扩展即可作为新的UML类添加到原有UML模型中,最终具有新扩展的UML模型图可通过相同的映射规则转换为XSD定义模式,这是新扩展的XSD定义模式就形成了。图2中白色类为最后一级子元素标签,这类元素标签没有下一级元素,也不具有添加扩展元素标签的可能。蓝色类为抽象类,这类元素标签包含子元素标签,且子元素标签一般为抽象元素的具体化元素。例如图2中的“Symbolizer”元素则为一个抽象类元素,其包含PointSymbolizer、LineSymbolizer和PolygonSymbolizer等多个类型的符号化器元素,这些符号化器中分别具有描绘点状符号,线状符号和面状符号的元素。由于制作SLD文档的UML模型图过于庞大,本文将其中的参数省略,只显示了SLD样式文档中出现的主要元素。本文提出的Classify扩展和Proportionalsymbol扩展作为处理属性信息的函数,应添加为“Function”元素的子元素(图3),其中黄色类为枚举类,若某一类中的属性值具有确定的多种选项,则使用枚举类列举属性值的被选内容。
图2 带扩展的SLD/SE标准定义模式的UML模型

Fig. 2 The UML model of the SLD/SE standard with new extensions

图3 Classify扩展和ProportionalSymbol扩展添加位置的UML模型

Fig. 3 The UML model of the positions of the Classify and ProportionalSymbol extensions

Classify扩展函数是根据CartoCSS中的ramp()函数提出的,该扩展函数包括4个参数。其中lookupValue参数代表被符号化的属性字段;clasNum参数代表分类数量;clasMethod参数表示所使用的分类方法名称,该参数有3个备选参数值equal interval(等间距分类法)、quantiles(分位数法)和jenks(自然间断法);最后一个参数colorschema代表每一类别对应的颜色模式,一般用十六进制颜色值表示。Classify扩展函数的XSD模式如图4所示。根据XSD模式创建的用于描绘分类分区统计图的SLD样式文件如图5所示,图中“PolygonSymbolizer”元素中的“Fill”子元素定义了以何种方式对多边形数据内部进行填充。若使用单一颜色填充一个多边形数据中的所有要素,则可直接将“CssParameter name=" fill "”元素的参数值设置为一个十六进制颜色值。若想制作分类的分区统计图,则可用当前SLD/SE标准中已定义的“Categorize”函数进行描绘。但“Categorize”函数无法根据具体分类方法对数据属性值进行分类,需要制图者提前计算分类的阈值,之后再手动填写到SLD样式文件中。图5中的“Classify”扩展替代了“Categorize”函数的位置,<ogc:PropertyName>标签对应着XSD模式中的“lookupValue”参数,接下来的所有<ogc:Literal>标签按顺序对应类别数量(ClasNum)、分类方法(ClasMethod)和颜色梯度的设置(ColorSchema)。颜色梯度在XSD中被定义为最大出现次数为无限大(maxOccurs="unbounded"),意味着该参数在SLD文件中出现的次数不受限制,可以等于类别数量。
图4 Classify扩展函数的XSD定义模式

Fig. 4 The XSD schema of the Classify extension

图5 使用Classify扩展描绘分类分区统计图的SLD样式文件示例

Fig. 5 Example of the SLD file using Classify extension for expressing classified choropleth map

ProportionalSymbol扩展函数专门为简化未分类比例符号图的SLD样式文件而设计。该扩展借鉴了Mapbox GL中的sqrt()函数,只需要在创建SLD样式文件时设定式(1)中所需的3个参数,地图渲染引擎就会根据这些参数计算出每一个属性值对应的符号尺寸。其中lookupValue参数代表被符号化的属性字段;maxSize参数和maxValue参数代表的含义和式(1)中对应参数代表的含义相同。ProportionalSymbol扩展函数的XSD模式如图6所示。根据该扩展XSD模式创建的用于描绘未分类比例符号图的SLD样式文件如图7所示,图中 <Size>标签是用于设置比例符号尺寸的,若将所有符号尺寸设置为相同值,则只需在<Size>标签内设置一个数值参数。“ProportionalSymbol”扩展函数取代了单一的数值,其中<ogc:PropertyName>标签同样对应着XSD模式中的“lookupValue”参数,其后所有<ogc:Literal>标签按顺序对应最大符号尺寸(maxSize)和最大属性值(maxValue)。
图6 ProportionalSymbol可扩展函数的XSD定义模式

Fig. 6 The XSD schema of the ProportionalSymbol extension

图7 使用ProportionalSymbol扩展描绘未分类比例符号图的SLD样式文件示例

Fig. 7 Example of the SLD file using ProportionalSymbol extension for expressing unclassified proportional symbol map

5 SLD/SE标准扩展实现与验证

5.1 SLD/SE标准扩展的实现

SLD/SE标准仅定义了创建SLD样式文件的规范,规范的实现需要通过网络服务器的后端渲染引擎完成。若要向SLD/SE标准中添加扩展,就需在实现标准的后端渲染引擎中添加用于实现扩展函数的新程序。
GeoServer是目前应用最为广泛的网络地图渲染服务器之一,而且支持SLD/SE标准的使用。该网络地图服务器使用GeoTools开源Java GIS工具包作为后端的程序开发工具。本研究在Eclipse集成开发环境下使用Maven进行工程开发包的管理与配置,利用GeoTools工具包中的源码开发用于实现扩展函数的新程序。GeoTools工具包中提供的函数扩展功能很有助于扩展函数的实现。根据GeoTools中提供的添加流程,新扩展函数被创建为Classify Java类和ProportionalSymbol Java类。每一Java类中必须包含用于计算附图符号的颜色或尺寸等视觉变量信息的evaluate成员函数和用于存储新建的类名称的FunctionName成员函数。FunctionName成员函数可将新建类的名称添加到GeoTools中,这样该类才能在GeoTools渲染地图时与SLD样式文件中使用的函数匹配并被调用。当某一函数类被调用后,该类中的evaluate函数就会实现读取矢量原数据中属性信息并计算符号的视觉变量信息的过程。图8为GeoTools渲染地图的整个流程。本研究所有代码均可在Github链接中访问(https://github.com/XinTian-student/Better-Standards-for-Cartographic-Styling.git),具有可复现性。
图8 GeoTools渲染地图流程

Fig. 8 Workflow of the GeoTools rendering engine

本研究使用荷兰上艾瑟尔省矢量数据为应用实例,通过Classify扩展函数制作了荷兰上艾瑟尔省所有城市的人口密度分区统计专题地图,并分别使用3种分类方法对该数据进行分类,分类结果如图9所示。原SLD/SE标准在没有Classify扩展的情况下同样可以制作这3种不同分类方法的分区统计图,但需要制图者提前确定被可视化属性的分类方法和分类数量,以计算每一个类别的阈值。在创建SLD样式文件时手动输入每一个类别的阈值和对应的颜色参数,有几个类别就要反复操作几次。这个过程需要制图者提前了解矢量数据的属性信息,且非常耗费制图时间。而使用Classify扩展制作的专题地图则可省去制图前期工作,直接在样式文件中写入类别数量,分类方法名称即可。不需要制图者对地图的属性数据有所了解也可完成地图的制作。将Classify扩展添加到当前标准中可节约制图者的制图时间,同时降低了制图者的专业要求,有利于SLD/SE标准的改进与推广。
图9 Classify扩展函数描绘的荷兰上艾瑟尔省人口密度分类的分区统计

Fig. 9 Three classified choropleth map of Overijssel province in Netherland expressed by Classify extension

利用ProportionalSymbol扩展函数描绘的荷兰上艾瑟尔省各城市人口分布图如图10所示。通过对比使用SLD/SE标准中的插值函数得出的符号尺寸和使用ProportionalSymbol函数计算出的符号尺寸可以发现,在最小和最大符号尺寸相等的情况下二者计算出的符号尺寸差异较大(图11)。这种差异会误导读者同时也会扩大或缩小不同地图间的差异。图11说明插值函数无法替代未分类比例符号图的符号计算公式,且证明ProportionalSymbol扩展可改进SLD/SE标准无法准确描绘未分类比例符号的问题。
图10 ProportionalSymbol扩展函数描绘的荷兰上艾瑟尔省人口分布比例符号图

Fig. 10 Proportional symbol map expressed by ProportionalSybmol extension, it shows the population of Overijssel province in Netherlands

图11 插值函数与ProportionalSymbol扩展函数计算的符号大小对比

Fig. 11 Symbol size calculated by interpolation function and proportional symbol extension

5.2 扩展函数验证

GeoTools及其扩展函数在读取矢量数据属性表时会根据属性表中每一列的索引号来读取需要的信息,而不是根据每一列属性的名称。而不同矢量数据属性表中的属性字段不同,渲染数量数据的程序在读取属性时也有所差异,因此需要测试实施扩展函数的程序是否能使用与所有矢量数据,即新添加的扩展程序的普适性。本研究使用北京地区矢量数据作为检验数据,通过用新扩展函数描绘不同矢量数据来验证新扩展函数的普适性。图12为使用国家测绘局发布的标准北京地区矢量数据验证的结果,使用北京各区县的人口数据验证了ProportionalSymbol扩展函数(图12(a)),使用北京各区县的人口密度数据验证了Classify扩展函数(图12(b))。由图12可知当使用其他矢量数据制作专题地图时,Classify和ProportionalSymbol扩展函数均可正常被渲染引擎识别,新添加扩展程序可以正确根据不同属性表索引到需要被可视化的属性列。证明用于实现扩展的新程序具有普适性。
图12 北京地区矢量数据验证结果

Fig. 12 The results of verification used Beijing vector data

6 结论

OGC提出的SLD/SE标准已在各个地理空间数据基础设施中广泛使用,其可扩展性和可互操作性是的标准具有不可替代的优势。然而当前标准在描绘专题地图方面仍存在缺陷,因此扩展当前标准表达专题地图的能力能丰富标准的制图功能,是SLD/SE标准更加完善。本文从拓展当前标准制图能力的角度出发,选择了网络上现存的新兴地图样式语言CartoCSS和Mapbox GL与当前的OGC SLD/SE标准进行对比研究,针对分区统计图、比例符号图、图表图和等值线填充图总结了SLD/SE标准中缺少的用于制作这四种专题地图的机制。
通过对比研究发现,SLD/SE标准中缺少用于分类的分类方法和类别数量的机制,同时还缺少用于描绘未分类的比例符号图的机制。为将新兴机制中存在的这2种机制添加到当前的SLD/SE标准当中,本文为标准提出了Classify和ProportionalSymbol共2个扩展函数。为证明这2个扩展函数可以被添加到当前标准中,并与当前标准中的原有机制兼容,本研究使用荷兰上艾瑟尔省的矢量数据为实例对新扩展函数进行实施。新扩展函数的实现证明本文所提出的扩展方案可行并且可以与实施SLD/SE标准的GeoTools中的源码兼容。此外,本文还使用北京地区的矢量数据验证了实现扩展函数的程序的普适性。验证表明针对不同矢量数据,实现扩展方案的程序都能完成地图数据的渲染工作。综上所述,本文提出的Classify扩展和ProportionalSymbol扩展函数是可行的。
由于专题地图种类繁多,本文只选择了4种类型常用的专题地图测试了SLD/SE标准和CartoCSS与Mapboax GL的制图能力。虽不能完全证明SLD/SE标准在制作专题地图上存在的不足,但可从已测试的地图类型中发现当前标准有待改进的问题。目前OGC成员组也一直在对SLD/SE标准的扩展提出测试方案,即使专题地图难以被某种地图样式语言全面覆盖,但在未来的标准化进程中,更过关于专题地图制作的机制将会被纳入到SLD/SE标准中,以丰富当前标准的制图能力并提高SLD/SE标准的可互操作性。
[1]
OGC. The Home of Location Technology Innovation and Collaboration[EB/OL]. 2021. from https://www.ogc.org/.

[2]
王金传. 基于OGC标准的分布式地理信息服务链构建方法研究[D]. 济南:山东师范大学, 2019.

[ Wang J C. Research on method of distributed geographic information service chain construction based on OGC standard[D]. Jinna: ShanDong Normal University, 2019. ]

[3]
Mishra S S, Chander R, Pradhan, et al. WebGIS for water level monitoring and flood forecasting using Open Source Technology[J]. Journal of Geomatics, 2020, 14(1):49-54.

[4]
Lupp M. Styled layer descriptor profile of the web map service implementation specification [Corrigendum][S]. Version 1.1. 0 (revision 4), 2007.

[5]
Muller M. Symbology encoding implementation specification[S]. Version 1.1. 0.(revision 4), 2006.

[6]
Bocher E, Ertz O. A redesign of OGC symbology encoding standard for sharing cartography[J]. PeerJ Computer Science, 2018, 4:e143. DOI: 10.7717/peerj-cs.143

DOI

[7]
Homburg T. Towards a linked-data powered, INSPIRE-based national data infrastructure: The case of the Federal Agency for Cartography Germany[J]. International Journal of Spatial Data Infrastructures Research, 2020, 15.

[8]
Christophe S, Duménieu B, Turbet J, et al. Map style formalization: Rendering techniques extension for cartography[C]. Expressive 2016 the joint symposium on computational aesthetics and sketch-based interfaces and modeling and non-photorealistic animation and rendering, 2016.

[9]
Neubauer S, Zipf A. Suggestions for extending the OGC Styled Layer Descriptor (SLD) specification into 3D-towards visualization rules for 3D city models[M]// Urban and Regional Data Management. CRC Press, 2007:145-454.

[10]
Iosifescu I M. Hugentobler, Hurni L. Cartographic web services and cartographic rules: A new approach for web cartography[Z]. XXIV international cartographic conference, Santiago 2009:1-10.

[11]
Neubauer S, Zipf A. Suggestions for extending the OGC Styled Layer Descriptor (SLD) specification into the third dimension: An analysis of possible visualization rules for 3D city models[C]. 26th Urban Data Management Symposium, 2007.

[12]
Semmo A, Kyprianidis J E, Trapp M, et al. Real-time rendering of water surfaces with cartography-oriented design[Z]. Proceedings of the Symposium on Computational Aesthetics 2013.

[13]
亢孟军, 徐召硕, 朱军, 等. 一种数据驱动的专题地图自动编制方法[J/OL]. 测绘科学, 2021:1-9.

[ Kang M J, Xu Z S, Zhu J, et al. A new approach for data-driven automatic rendering of thematic maps[J/OL]. Science of Surveying and Mapping, 2021:1-9] DOI: 10.7717/peerj-cs.143

DOI

[14]
Dent B, Torguson J, Hodler T. Thematic map design[M]. McGraw-Hill New York, New York, NY 2008.

[15]
詹梅香. 专题地图符号表示方法的探讨[J]. 现代测绘, 2010, 33(1):57-58,61.

[ Zhan M X. The matic map of symbolic representation[J]. Modern Surveying and Mapping, 2010, 33(1):57-58,61. ]

[16]
Mapbox. COVID-19[EB/OL]. 2020. from https://www.mapbox.cn/coronavirusmap/#3.35/28.47/109.74.

[17]
Li R. Visualizing COVID-19 information for public: Designs, effectiveness, and preference of thematic maps[J]. Human Behavior and Emerging Technologies, 2021, 3(1):97-106. DOI: 10.1002/hbe2.248

DOI

[18]
Mocnik F-B., Raposo P, Feringa W, et al. Epidemics and pandemics in maps: The case of COVID-19[J]. Journal of Maps, 2020, 16(1):144-152. DOI: 10.1080/17445647.2020.1776646

DOI

[19]
Mapbox. Mapbox style specification[EB/OL]. https://docs.mapbox.com/mapbox-gl-js/style-spec/.

[20]
Carto. Styling[EB/OL]. https://carto.com/developers/styling/cartocss/.

[21]
OpenStreetMap. MapCSS/0.2[EB/OL]. 2017. https://wiki.openstreetmap.org/wiki/MapCSS/0.2.

[22]
Dietze L, Zipf A. Extending OGC Styled Layer Descriptor (SLD) for Thematic Cartography[Z]. Proc. Symp. on LBS and Telecartography 2007.

[23]
Sae-Tang A, Ertz O. Towards web services dedicated to thematic mapping[J]. OSGeo Journal, 2007, 3(1):31-34.

[24]
Peterson M P. Online maps with APIs and WebServices[M]. Springer Science & Business Media, 2012. DOI: 10.1007/978-3-642-27485-5

DOI

[25]
Howard H H, McMaster R B, Slocum T A, et al. Thematic cartography and geovisualizationl[M] Upper Saddle River, New Jersey:Prentice Hall, 2008.

[26]
Iosifescu-Enescu I, Hugentobler M, Hurni L. Web cartography with open standards-A solution to cartographic challenges of environmental management[J]. Environmental Modelling & Software, 2010, 25(9):988-999. DOI: 10.1016/j.envsoft.2009.10.017

DOI

[27]
Ayca S S. Thematic mapping with CARTO[EB/OL]. 2019. https://www.gislounge.com/thematic-mapping-with-carto/.

[28]
Mapbox. Thematic map types[EB/OL]. https://labs.mapbox.com/education/thematic-map-types/.

[29]
Raposo P, Touya G, Bereuter P. A change of theme:The role of generalization in thematic mapping[J]. ISPRS International Journal of Geo-information, 2020, 9(6):371. DOI: 10.3390/ijgi9060371

DOI

[30]
Talbi F Z, Nouayti N, Omari H E, et al. Thematic maps of the impact of urbanization and socioeconomic factors on the distribution of the incidence of cutaneous leishmaniasis cases in Sefrou Province, Central North of Morocco (2007-2011)[J]. Interdisciplinary Perspectives on Infectious Diseases, 2020. DOI: 10.1155/2020/8673091

DOI

[31]
Kraak M J, Ormeling F. Cartography: Visualization of geospatial data[M]. CRC Press, 2020.

[32]
Nicole DeLorenzo A D. Choropleth Map[EB/OL]. 2012. https://www.arcgis.com/apps/MapJournal/index.html?appid=75eff041036d40cf8e70df99641004ca.

[33]
Rita E, Borbinha J, Martins B. Extending SLD and SE for cartograms[J]. Proceedings of the GSDI, 2010, 12.

[34]
Rautenbach V, Coetzee S, Iwaniak A. Orchestrating OGC web services to produce thematic maps in a spatial information infrastructure[J]. Computers, Environment and Urban Systems, 2013, 37:107-120. DOI: 10.1016/j.compenvurbsys.2012.08.001

DOI

[35]
Society T R G. A Guide to Isoline Maps[EB/OL]. https://www.rgs.org/schools/teaching-resources/a-student-guide-to-the-a-level-independent-investi/.

[36]
OSGF. GeoServer is an open source server for sharing geospatial data[EB/OL]. 2021. http://geoserver.org/.

[37]
Mapbox. Design beautiful maps with Mapbox Studio[EB/OL]. 2021. https://www.mapbox.com/mapbox-studio.

[38]
Carto. Unlock the power of spatial analysis[EB/OL]. 2021. https://carto.com/.

Outlines

/