原文发布时间:2011-10-28
作者:跑
联系:QQ44295133
1 引子
利用FME可以创建空间要素所覆盖的图幅面。其中,国家基本比例尺涵盖1:100万~1:5千,按规定的经、纬差分幅;工程大比例尺包括1:5000~1:500,按5×5或4×5网格分幅(图纸网格单位为10CM)。
对于基本比例尺地形图,它以1:100万地形图编号为基础,采用行列编号方法,如图1;对于大比例尺地形图,采用图幅左下角纵、横坐标标注方法。
2 数据分析
基本上,可以由BoundingBoxAccumulator分幅、ExpressionEvaluator编号。考虑到功能模块的集成与共享,制作成自定义转换器。
3 实施
(一)PrimaryScaleMapsheeter
这里对流程里的几处转换器设置做个简介。
1) 第一个BoundingBoxAccumulator获取外接矩形。由于该转换器会丢弃除分组字段以外的所有字段,因此把它放在前面。
2) 获取外部参数,得到比例尺。
3) 换算比例尺代码。
4) 计算行列数。
5) 计算网格单位。
6) 提取前述外接矩形四角坐标,先改化为网格单位整倍数,然后重新生成矩形。
7) 切片。
8) 计算各切片左下角行列号。
各符号意义可参见《国家基本比例尺地形图分幅和编号》(GB/T 13989—92)。
(二)LargeScaleMapsheeter
其实现过程类同,这里不再重复,只补充一点。
大比例尺图幅一般只需生成与输入要素接触的部分即可,因此输出时需要按空间关系过滤。如图9
4 思考
对于国家基本比例尺地形图图幅的创建,由于其基于椭球面分幅,这就要求输入要素为地理坐标系,因此输入端要进行人为的判断,必要时还需进行投影变换。
借助Python可实现坐标系的自动变换,有兴趣的可以尝试。