“导出到 DLG”(Coverage) 的工作原理
描述
输出 DLG
写入内部要素编号 (cover#) 以作为输出数字线划图 (DLG) 要素编号。
在 DLG 文件中保存 coverage 拓扑时使用的约定与在 coverage 中存储拓扑的方式相似(例如,多边形按顺时针定义,岛屿则按逆时针定义,每个要素都有一个唯一的标识号,线的负数表示反方向等等)。
对于每个输入 coverage 多边形,多边形的内部编号、标注点位置 (x,y)、定义多边形的弧的列表以及任何主/次属性对均保存在输出 DLG 的区域 (A) 记录中。
对于每段输入 coverage 弧,弧的内部编号、起始结点和终止结点编号、坐标、左右多边形编号、定义线的 x,y 坐标集以及任何主/次属性对均保存在输出 DLG 的线 (L) 记录中。
对于每个输入 coverage 结点,结点的内部编号、其 (x,y) 位置、起始或终止于结点的弧的列表以及任何主/次属性对均保存在输出 DLG 的结点 (N) 记录中。
对于每个输入点 coverage 点要素,其 x,y 位置以及任何主/次属性对均保存在零长度线 (L) 记录中。这些要素在 DLG 中称为退化线。点的要素编号是连续的,并会从写入文件的最后一条线 (L) 记录开始偏移。还将为每条退化线记录创建无属性信息的结点 (N) 记录(按照 DLG 格式规范)。
Coverage 属性
“Coverage 至 DLG”在输入 Coverage 中寻找线、多边形和结点要素的主/次属性对,在点 Coverage 中寻找点要素的主/次属性对。
MAJOR1 MINOR1
MAJOR2 MINOR2
: :
MAJORn MINORn
“Coverage 至 DLG”首先在由“DLG 至 Coverage”创建的要素属性表中寻找以下示例项。如果这些文件不存在,则搜索相应的 CODE 表。
Input Coverage Attribute
Table CODE
Table
Major/Minor Attribute Pairs
<in_cover> AAT ACODE ARC attributes written to Line
(L) records in DLG file
<in_cover> PAT PCODE POLY attributes written to Area
(A) records in DLG file
<in_cover> NAT (none) NODE attributes written to Node
(N) records in DLG file
{in_point_cover} PAT XCODE POINT attributes written to Line
(L) records in DLG file
Coverage 坐标
输入头文件控制点和 coverage 要素两者的 x,y 坐标将自动缩放以适合 DLG 坐标记录格式,除非未选中“变换坐标”选项。在“变换坐标”选项处于默认选中的情况下,将使用相同的仿射变换方程变换所有坐标。该变换可保留坐标精度。
DLG 属性始终为包含一至六位数字的整数对。必须将各项配对并定义为数值项。实数在写入 DLG 时将被截断。由于零被认定为有效属性值,所以可使用 -99999 表示无数据。如果 -99999 与主代码或次代码冲突,则属性值在输出 DLG 中为空,而不是 -99999。
Coverage 坐标不会被“导出到 DLG”投影。只用于描述 coverage 坐标的投影坐标系的投影参数保存在输出 DLG 文件头记录中。
输入投影文件的格式应与“定义投影”和“投影”工具要求的格式相同。投影信息首先从输入投影文件中获取,然后再从输入 coverage 投影定义文件中获取。
可使用“定义投影”工具定义输入 coverage 的投影参数。如果尚未定义 coverage 投影也未使用输入投影文件,则不会将任何信息写入到输出 DLG 文件。
通常,会从 coverage 坐标中减去一个常量值,尤其对于三百万至六百万范围内的 y 坐标 (UTM)。这样做的目的是保留单精度 coverage 的精确性。该值称为 x 平移或 y 平移,坐标写入 DLG 文件时应加回该值。可用多种方式指定 x 平移和 y 平移。
以下为“导出到 DLG”在确定要使用的值时遵循的优先顺序。
- X 平移和 Y 平移选项。
- 位于输入投影文件中的 X 平移和 Y 平移参数。
- 位于输入 coverage (PRJ) 文件中的 X 平移和 Y 平移参数。
- 如果未找到以上任何值,默认值为零。
x 和 y 平移值自动应用于输入头文件控制点和写入到输出 DLG 文件的要素坐标。
头文件
文件头信息文件使用系统的文本编辑器创建。该文件可能包含下一论述主题中列出的任意或全部关键字。
如果某个关键字不包含在头文件中,则为该关键字使用默认值。关键字在文件中的顺序并不重要。
不会将输入 coverage 中的控制点写入输出 DLG 文件。要保留控制点位置,使用输入头文件选项并在输入头文件中将控制点的 x,y 位置指定为 CONTROLPOINT。
如果未在输入头文件中指定 CONTROLPOINT,“导出到 DLG”使用 coverage 的 BND 信息将值写入到 DLG 文件头。
关键字和描述
TEXT {string} — 写入第三条 DLG 记录;最多 41 个字母数字字符。默认设置为空。
MAPNAME {string} — 写入第二条 DLG 记录;最多 40 个字母数字字符。默认设置为空。
CATEGORY {string} — 数据类别或图层的名称;最多 20 个字母数字字符。默认设置为 coverage 名称。
SOURCEDATE {date}{revision_date}{revision_code} — 源日期、修订日期和修订代码(如果存在)。日期的输入形式为 YYYY。代码为:
P - photo revision
I - photo inspection
D - digital revision
默认设置为当天日期且无修订代码。
RESOLUTION {factor} — 数据分辨率;默认设置为 1.0(实际值)。
SCALE {denominator} — 地图比例;默认设置为 0(整数值)。
CONTROLPOINT {SW|NW|NE|SE}{lat}{long}{x}{y} — 四个控制点、经度和纬度以及每个控制点对应的 x,y 位置的列表。纬度和经度坐标使用 DD 单位,x,y 坐标使用 coverage 单位。
使用的任何 {x_shift}、{y_shift} 或 {TRANS} 值还将应用于控制点 x,y 坐标,然后 ARCDLG 才会将坐标写入 DLG 文件。每个字段的默认值均为 0.0。
SECTIONINDICATOR {indicator_sequence} — 用于部分大小的 S、F 或 T 代码,其后接序号。
LARGESTCONTOUR {interval_unit} — 最大主等值线间距,其后接等值线间距单位(1 = 英尺,2 = 米)。只有存在两个或更多主等值线间距时它才存在。
LARGESTBATHYMETRIC {interval_unit} — 最大主深海探测等值线间距,其后接等值线间距单位(1 = 英尺,2 = 米,3 = 英寻)。只有存在两个或更多主等值线间距时它才存在。
SMALLESTCONTOUR {interval_unit} — 最小或唯一主等值线间距,其后接等值线间距单位(1 = 英尺,2 = 米)。
SMALLESTBATHYMETRIC {interval_unit} — 最小或唯一主深海探测等值线间距,其后接等值线间距单位(1 = 英尺,2 = 米,3 = 英寻)。
HORIZONTALDATUM {datum} - Horizontal Datum of DLG.
0 or blank = NAD 27 (default)
1 = NAD 83
2 = Puerto Rico
3 = Old Hawaiian
4 = Local (Astro)
5 = Guam
VERTICALDATUM {datum} - Vertical Datum of DLG.
0 or blank = NGVD 29 (default)
1 = NAVD 88
2 = Local Mean Sea Level
DLGCENTER {long}{lat} — 区域中心点的经度和纬度(DMS 单位)。
示例
在本例中,一个名为 D1COV 的 coverage 被转换为 DLG。“导出到 DLG”将使用为此 coverage 定义的 coverage 投影信息将投影参数添加到 DLG 文件头记录。Coverage 坐标不会被“导出到 DLG”投影。投影参数只描述 coverage 坐标的投影坐标系。
对于通常具有区域编号的坐标系,DLG 格式(“针对 DLG 的 USGS 标准”附录 2-D)要求 DLG 的文件头部分必须包含区域编号和区域点或数据中心点的经纬度值。
在投影定义文件中,可在 INPUT 部分按 ZONE 编号指定区域,或在 PARAMETERS 部分按数据中心点的经纬度值来指定区域,但投影文件不能同时支持这两种形式。要编写同时包含这两种形式的 DLG,在投影文件中指定区域编号,并在输入头文件中使用 DLGCENTER 关键字指定区域点。
以下为 coverage 投影文件中的信息:
Coordinate System Description
Projection UTM
Zone 13
Units METERS
Datum NAD27
Spheroid CLARKE1866
Xshift 0.0000000000
Yshift 0.0000000000
Parameters
以下名为 HEADER.FIL 的文件头信息文件将用于在输出 DLG 中创建适当的信息。
Header file HEADER.FIL
MAPNAME DURANGO, CO
CATEGORY HYDROGRAPHY
SOURCEDATE 1995
RESOLUTION 2.54
SCALE 100000
SECTIONINDICATOR F02
LARGESTCONTOUR 5002
VERTICALDATUM 1
CONTROLPOINT SW 37.250000 -107.750000 256087.53 4125947.50
CONTROLPOINT NW 37.500000 -107.750000 256898.08 4153690.33
CONTROLPOINT NE 37.500000 -107.500000 279000.18 4153071.89
CONTROLPOINT SE 37.250000 -107.500000 278265.94 4125332.02
DLGCENTER -107 37 30 37 22 30
命令行:arc_arcdlg d1cov example.dlg # utm.prj # # header.fil NO_TRANSFORM
下面列出了名为 EXAMPLE.DLG 的输出 DLG 文件的一部分: