原文发布时间:2011-04-19
作者:叶子
现在有一个行政区界线(黑色的是县界、红色的是村界,绿色的是社界)
下图中黄色的是地类图斑,红色的是已发生改变的地类图斑。
现在的要求就是根据1:1万国家标准分幅,进行出图,包括把行政区及其名称和图斑及其地类名称,并添加标准分幅的分幅名称和角点坐标。由于出图的时候要生成图片,所以需要将矢量数据栅格化,生成的其中的一幅效果如下:
首先分析下这个数据,如果想把行政区显示在图上,需要把它们转成线叠加在地类图斑上,并生成文本来得到注记。再将地类图斑栅格化,然后使用矢量栅格叠加转换器,把行政区和字体叠加到生成的影像上。
为能在四个角点显示对应的坐标和以图幅名命名的标题,对图幅框做一个缓冲,使得图幅框能比实际的大些来容纳坐标点和标题。
整个过程的流程是:
使用转换器BoundsExtractor得到坐标的范围,使用CoordinateExtractor和Offsetter转换器生成四个角点将图框的四个点坐标提取出来并使用Offsetter转换器进行相应的位移让四个坐标显示在适当的位置,同时对图框做一个缓冲可以在生成栅格的时候容纳这些多余的信息。然后使用PenColorSetter转换器对不同的要素类赋相应的颜色,将矢量图版栅格化。再使用TextStroker转换器对添加所需要的注记,使用Chopper转换器把行政区转换为线。最后使用VectorOnRasterOverlayer转换器。
当然,为了想得到更好的效果,可以分别把地类图斑和更改图斑生成两幅影像,然后使用RasterExpressionEvaluator函数来生成半透明的效果。