“生成”(Coverage) 的工作原理
生成工具可根据存储在文本文件中的原始坐标创建 coverage。只要能将坐标用适当的“生成”格式表示,任何坐标数据都可以被加载。例如,如果要生成线,就需要创建一个文本文件,该文件中包含各条线的 User-ID 编号,User-ID 后面紧随定义线的一系列 x,y 坐标对。将针对每种要素类型对这些文件的确切格式加以描述。
注记
向 coverage 添加注记。
注记坐标的格式如下:
<ID> <X> <Y> <angle> <size> <text...> end
- ID - 所添加的注记的 ID 编号。
- X 和 Y - 确定输入文本字符串的左下方起始点的 coverage 坐标。
- 角度 - 文本相对于水平位置(也就是零度位置)逆时针旋转所形成的角度(以度为单位)。如果角度为零,则生成的注记将是包含一个点的注记。如果角度不为零,则生成的注记将是包含两个点的注记。
- 大小 - 以 coverage 单位表示的注记高度。
- 文本 - 要生成的文本字符串(长度最多为 80 个字符)。要在另一行上继续输入文本字符串,请使用行继续符 (~) 结束第一行。~.
- end 语句表示要素坐标的结束。
注记坐标格式的示例:
1 2 1 90 .3 This is annotation 1 2 3 4 -90 .3 This is annotation 2 end
圆
生成具有指定圆心和半径的圆。
圆坐标的格式如下:
<ID> <X> <Y> <radius> end
- ID - 所添加的圆的 ID 编号。
- X 和 Y - 确定圆心的 coverage 坐标。
- 半径 - 使用 coverage 单位指定的圆的半径。
- end 语句表示要素坐标的结束。
圆坐标格式的示例:
201, 3, 7, 2.0 202, 9, 4, 3.0 end
曲线
根据三个点生成曲线:起点、中心点和终点。
曲线坐标的格式如下:
<ID> <start_point> <center_point> <end_point> end
- ID - 所添加的曲线的 ID 编号。
- 起点 - 确定曲线起点的 coverage 坐标。
- 中心点 - 确定曲线中心点的 coverage 坐标。
- 终点 - 确定曲线终点的 coverage 坐标。
- end 语句表示要素坐标的结束。
曲线坐标格式的示例:
301, 1,0 2,2 5,3 end
渔网
创建由矩形像元组成的渔网。将在每个像元的交叉点处创建结点。以下坐标文件格式定义了渔网输出:
- 渔网原点坐标 (X, Y) - 渔网的左下角。
- Y 轴坐标 (X, Y) - 位于相对于原点的 y 轴正方向上的点,用于确定渔网的方向。
- 像元大小(宽度,高度) - x 和 y 方向上的像元的大小。像元大小以 coverage 单位表示且应反映 coverage 的地图投影。例如,0.5 的像元大小在地理坐标系中表示 0.5 度,而在 UTM 中表示 0.5 米。
- 行数、列数与像元大小结合使用,以确定渔网的大小。
- 渔网的右上角 (X,Y) - 渔网右上角的坐标。
如果将像元大小指定为零,则将根据坐标文件中接下来的两行自动计算该像元大小:行数和列数以及渔网的右上角。
如果像元大小的值大于零并且行数和列数所对应的行等于零,则将在坐标文件的下一行中指定网格的右上角。指定的像元大小将用于自动计算由原点和右上角定义的区域恰好容纳(不会超出拐角坐标)的行数和列数。
下表介绍了不同像元大小值的坐标格式。
像元大小 |
像元大小 = 0 |
---|---|
0,1 - 渔网原点坐标 (X,Y) |
0,0 - 渔网原点坐标 (X,Y) |
1.1 - Y 轴坐标 (X,Y) |
0,1 - Y 轴坐标 (X,Y) |
4,4 - 像元大小(宽度,高度) |
0 - 像元大小(宽度,高度) |
4,4 - 数量(行,列) |
4,4 - 数量(行,列) |
4,4 - 渔网的右上角 (X,Y) |
示例
在本例中,将生成一个包含两行和三列的渔网。渔网原点为 (0,0);(0,2) 是位于渔网的 y 轴正方向上的点,渔网具有 1(宽度)乘 1(高度)的像元大小,并且包含两行和三列。
0,0 0,2 1,1 2,3
在本例中,渔网原点被平移到 (2,0),(2,2) 是位于渔网 y 轴上的点。渔网的 y 轴方向还可以使用类似 (2,1)、(2,3)、(2,4) 等其他点进行定义。
2,0 2,2 1,1 2,3
在本例中,渔网原点被平移到 (3,2)。请注意渔网的 x 轴和 y 轴是如何进行相应更改的。
3,2 3,4 1,1 2,3
在本例中,渔网原点保持在 (0,0)。但是,格网的 y 轴相对于直角坐标系的 y 轴进行了旋转。(2,2) 是位于旋转后渔网的 y 轴上的点。还可以使用类似 (1,1)、(3,3)、(4,4) 等点代替 (2,2) 来定义渔网 y 轴的旋转。任何落在渔网 y 轴正方向上的点均可以。
0,0 2,2 1.414,1.414 2,3
在本例中,渔网原点被移动到 (1,2)。与上一个示例相同,渔网的 y 轴旋转了 45 度。(3,4) 定义渔网 y 轴正方向上的点。
1,2 3,4 1.414,1.414 2,3
以下三个示例说明了用不同方法生成 4x4 渔网。
指定像元大小和行/列数:
0,0 0,1 1,1 4,4
指定行/列数和渔网的右上角。将像元大小设置为零。
0,0 0,1 0 4,4 4,4
指定像元大小和渔网的右上角。将行/列数设置为零。
0,0 0,1 1,1 0 4,4
线
向 coverage 添加弧线。
线坐标的格式如下:
<ID> <X,Y> end end
- ID - 所添加的线要素的 ID 编号。
- X 和 Y - 每个折点的 x,y 坐标对(每行一对)。每对坐标可使用逗号或空格进行分隔。
- end - 指定结束线要素。
- end - 指定结束文件中的坐标。
线坐标格式的示例:
501 2,8 5,8 5,5 end 502 1,2 4,5 end end
链接
向 coverage 添加链接。
连接线坐标的格式如下:
<ID> <X,Y> <X,Y> end end
- ID - 所添加的连接线要素的 ID 编号。
- X 和 Y - 定义连接线的第一个点的 x,y 坐标(每行一对)。每对坐标可使用逗号或空格进行分隔。
- X 和 Y - 定义连接线的第二个点的 x,y 坐标(每行一对)。每对坐标可使用逗号或空格进行分隔。
- end - 指定结束连接线坐标。
- end - 指定结束文件中的坐标。
连接线坐标格式的示例:
3,10.5 6,10.5 3,0 4,0 end
为确保每条连接线都输入了两对坐标,要进行相应检查。通过为两对 x,y 坐标指定相同的坐标,可以添加标识连接线。
点
向 coverage 添加标注点。
点坐标的格式如下:
<ID> <X,Y> {Angle} {Scale} end
- ID - 所添加的点要素的 ID 编号。
- X 和 Y - 点要素的 x,y 坐标。
- 角度 - 点要素的角度(以十进制度为单位)。默认角度为 0。
- 比例 - 点要素的比例。默认比例为 1。
- end - 指定结束文件中的坐标。
生成一个简单点 coverage,参数 {角度} 和 {比例} 的值分别为默认值 0 和 1:
601,3,7 602,9,7 603,5,4 end
生成一个点 coverage,为每个点分别指定 {角度} 和 {比例} 值:
601,3,7,45,2.5 602,9,7,-30,0.5 603,5,4,90,1.5 end
面
向 coverage 添加面和标注点。
面坐标的格式如下:
<ID> {AUTO | X,Y>} X,Y end end
- <ID>,{AUTO | X,Y>}ID - 面要素的 ID 编号以及面标注的 x,y 坐标。如果未指定 X,Y 值,则使用默认的 AUTO 选项自动放置面标注。请勿使用 -99999 作为面 ID。该值具有特殊含义。“取消生成面”将使用此特殊 ID 标记所有岛屿面。“生成面”将忽略所有 ID 为 -99999 的面。
- X,Y - 面中下一个折点的 x,y 坐标。每行指定一对坐标。如果使用分号进行分隔,则可以在一行中输入多对坐标。
- end - 指定结束面坐标。如果输入的最后一个折点与第一个折点不同,则面会自动将最后一个折点与第一个折点闭合。
- end - 指定结束文件中的坐标。
通过指定的标注点生成面:
701,7,7 3,9 4,5 8,4 9,7 6,9 3,9 end end
在本例中,代码将自动生成面标注点并添加闭合折点。
701, auto 3,9 4,5 8,4 9,7 6,9 end end
控制点
向 coverage 添加控制点。
添加控制点坐标的格式如下:
<ID> <X,Y> end
通过为每个控制点指定 User-ID 和 x,y 坐标,每行输入一个控制点。使用 END 来指定结束文件中的控制点坐标。以下示例将四个控制点添加到输出 coverage:
801,0,0 802,0,10 803,10,10 804,10,0 end