E00 (Esri ArcInfo Coverage/Esri ArcInfo Export)特性表示

本节讨论在表示E00文件中各种文件中的记录的特性上定义几何形状和属性的方法。

E00阅读器发出的特性与自动生成的工作空间形成的特性之间存在差异。本主题主要关注E00阅读器的原始输出。输出特性类型提供对生成的工作区创建的特性的描述。

读者所表达的特征和作者希望写出来的特征之间也存在差异。最值得注意的是,读取器使用子文件的名称作为从E00文件读取的每个FME特性的特征类型,而写入器使用FME特性类型来确定将特性写入的E00文件的名称。此外,读取器定义了从E00文件读取的特性的某些属性,例如,E00_FEAT_ROLEE00_RECORD_NUM- E00写入器未使用。

除了FME工作台添加到所有特性中的通用FME特性属性之外(参见关于Feature Type属性),该格式添加了本主题中描述的特定于格式的属性。

几何组成

在E00文件中定义了四种基本的几何类型:

  • 弧(线)
  • 多边形
  • 文本

几何图形是通过在某些标准子文件和某些信息文件之间形成关系而形成的。阅读器本身并不形成这些关系,但提供了允许工作空间形成这些关系的特性上的属性。通过子文件和信息文件之间的必要连接,自动生成用于读取E00文件的工作区,在自定义工作区以读取E00数据时,这些工作区是一个很好的起点。看到功能类型输出以获取特性输出的描述。

下表总结了几何图形类型,并列出了完全定义几何图形所需的附加属性,文本特性也是如此。

几何类型

描述

额外的
属性要求

e00_arc

一串不与自身相连或交叉的地理点。从ARC子文件中读取的特性包含弧作为其几何形状。

没有一个

e00_poly

有外部边界和零个或多个洞的固体区域。没有特征是由读者给出一个多边形几何。它们必须由映射文件中的工厂构成。

没有一个

e00_point

简单的(x,y)坐标。E00阅读器为从CNT和LAB标准子文件读取的特性创建点。

没有一个

e00_text

在特定位置定义注释文本,从水平方向逆时针旋转以度数计算,文本高度以地面单位计算。文本特征的几何部分是定义其位置的单个(x,y)点。

e00_text_string

e00_rotation

e00_text_height

e00_no_geom

特征没有相关的几何。

没有一个

功能类型

E00阅读器和E00写入器视图的特性类型不同:

  • 从E00读取器发出的特性有一个特性类型,该特性类型依赖于产生该特性的子文件或信息文件。
  • E00写入器使用基于E00文件名称的特性类型。

下表总结了为每个子文件生成的特性类型。如果下表中的子文件名包含星号,则匹配信息文件名确实是一种模式。这种约定是必需的,因为信息文件的名称因覆盖面的不同而不同。

+符号用于包含两个通配符表达式的文件的备用星号。因此,信息文件定义的文本属性犯错的注释层HYDR_SUR覆盖被命名为HYDR_SUR。TATERR,被称为*.答+在下表中。表行其余部分中的引用将展开HYDR_SUR+犯错

注意:表中列出的Reader Feature Type只适用于读取E00数据,不适用于写入E00数据。如上所述,E00将特性类型解释为目标E00文件的名称。控制E00输出描述将特性重定向到特定子文件的方法。

子文件的名字

读者特征类型

几何

额外的属性

e00_arcdef

e00_arc

E00_FEAT_ROLE = " e00_arc_def "
LPOLY = <左多边形>的id
RPOLY = <右侧多边形>的id
FNODE =
TNODE =
Cover_id =
Cover_num =

e00_centroid

e00_point

E00_FEAT_ROLE = e00_poly_cnt

实验室

e00_label

e00_point

E00_FEAT_ROLE = " e00_label "
Poly_id =
boundBoxMin。X = <限定框>的最小X
boundBoxMin。Y = <限定框>的最小Y
boundBoxMax。限定框>的最大值x = 的最大Y值

日志

e00_log

e00_no_geom

Text = <日志文件>的整行文本

MTD

e00_mtd

e00_no_geom

FME目前跳过此子文件

朋友

e00_polyarc

e00_no_geom

E00_FEAT_ROLE = " e00_poly_arc "
arcnum{n} = < segment #n>的ARC记录号
弧{n}。arcnum = < segment #n>的ARC记录号
弧{n}。fnode = < ARC记录段#n>的起始节点
弧{n}。lpoly = . left polygon id of ARC record for segment #n> . left polygon id
boundBox。minX = <包围盒>的最小x坐标
boundBox。minY = <包围盒>的最小y坐标
boundBox。限定框>的最大x坐标
boundBox。max = <包围盒>的最大y坐标

撮合下

e00_projection

e00_no_geom

E00_FEAT_ROLE = " e00_proj "
datum = < datum的名称>
投影= <投影名称>
单位= <单位类型>
xshift =
yshift =
zunits = <是的/不>
zone =
> . no_param {n}.name = <非标准参数名称#n
unknown_param {n}。价值=

RPL

e00_polyarc

e00_no_geom

E00_FEAT_ROLE = " e00_region_arc "
arcnum{n} = < ARC记录号
记录段#n>
弧{n}。arcnum = < segment #n>的ARC记录号
弧{n}。fnode = < ARC记录段#n>的起始节点
弧{n}。lpoly = . left polygon id of ARC record for segment #n> . left polygon id
boundBox。minX = <包围盒>的最小x坐标
boundBox。minY = <包围盒>的最小y坐标
boundBox。限定框>的最大x坐标
boundBox。max = <包围盒>的最大y坐标
E00_region_subclass = . name of region subclass> . name of region subclass> . name of region subclass> . name of region

(见地区的支持查阅区域相关记录的描述。)

RXP

e00_regionxref

e00_no_geom

E00_FEAT_ROLE = " e00_region_xref "
名称= <容忍类型>的名称
Id = <容忍类型>的数字Id
State = <容忍度状态>
值= <容忍值>

(见地区的支持查阅区域相关记录的描述。)

托尔

e00_tolerance

e00_no_geom

E00_FEAT_ROLE = " e00_tolerance "
名称= <容忍类型>的名称
Id = <容忍类型>的数字Id
State = <容忍度状态>
值= <容忍值>

(见公差值参阅公差记录的描述。)

三种

e00_text

e00_text

E00_FEAT_ROLE = " e00_text_def "
e00_anno_name = " "
e00_anno_id = < TXT文件内的记录号>
<文本几何形状的属性>

(见文本表示有关文本几何形状的信息。

TX6或TX7

e00_text

e00_text

E00_FEAT_ROLE = " e00_text_def "
E00_anno_name = < anno子类> . name of anno
E00_anno_id = . txt . txt
E00_anno_level = <级别的文本特性>
E00_num_coords = <定义文本位置的坐标数量>
参数{}= <未命名TX6/TX7参数>
<文本几何形状的属性>

(见文本表示有关文本几何形状的信息。

e00_textarrow

e00_arc

E00_FEAT_ROLE = " e00_text_arrow "
E00_anno_name = < anno section> . name of anno section
E00_anno_id = .

LNK

LNK

e00_point

E00_FEAT_ROLE = " LNK "

*.AAT

* _arcattr

e00_no_geom

E00_FEAT_ROLE = " e00_arc_attr "
FNODE_ = . #启动节点
TNODE_ = <结束节点覆盖#>
LPOLY_ = <左多边形覆盖#>
RPOLY_ = <右多边形覆盖#>
*_ID = .标识符
*# = <覆盖#的弧>
长度= <弧长>
<用户定义的属性>

*.BND

* _bounds

e00_no_geom

E00_FEAT_ROLE = " e00_bounds "
XMIN = <限定框>的最小x
YMIN = <限定框>的最小y
XMAX = <限定框>的最大x
YMAX = <限定框>的最大y

Reprojectable:是的(XMIN YMIN、XMAX YMAX)

*.帕特

* _polyattr

e00_no_geom

E00_FEAT_ROLE = " e00_poly_attr "
AREA = <多边形>的面积
周长= <多边形>的周长
*_ID =
*# = <覆盖#的多边形>
<用户定义的属性>

* _pointattr

e00_no_geom

E00_FEAT_ROLE = " e00_point_attr "
面积= 0.0
周长= 0.0
*_ID =
*# = <覆盖#的点>
<用户定义的属性>

*.抽搐

* _tic

e00_no_geom

E00_FEAT_ROLE = " e00_tic_point "
IDTIC =
XTIC =
YTIC =

可重映:可以(XTIC, YTIC)

*.答+

* _ + _textattr

e00_no_geom

E00_FEAT_ROLE = " e00_text_attr "
E00_anno_name = <标注层>的名称
*# = <覆盖号为文本>

*.XCODE

* _textattr

e00_no_geom

E00_FEAT_ROLE = " e00_text_attr "
e00_anno_name = " "
*# = <覆盖号为文本>

*。+

*。+

e00_no_geom

E00_FEAT_ROLE = " + "
<用户定义的属性>

除了该表中显示的属性外,从E00文件读取的所有特性都有一个名为的属性E00_RECORD_NUM,其值对应于定义特性的记录的子文件中的位置。对于每个文件,记录编号从1开始,并为每个记录递增。这个数字提供了定义某些几何图形及其属性之间的关系所需的位置信息。

注意:有关文本特性编号的详细信息,请参阅文本表示。

注意:读者还指定大多数特征类型的特征E00_FEAT_ROLE属性,该属性定义覆盖范围内特性的角色。当映射文件处理的不同文件可能具有不同的信息文件名时,需要这样做,以便更容易创建通用映射文件。例如,文件BART.E00可能有一个名为BART.TIC在哪里乔西。E00有一个信息文件名为乔西。抽搐.为这两个信息文件发出的特性类型为BART_ticJOSIE_tic,但这两个信息文件的特性都具有值e00_tic_point为他们的E00_FEAT_ROLE属性。角色被赋予来自标准子文件的特性,以及具有一个已知后缀-的信息文件.AAT.BND.PAT.TIC.TAT +

如果子文件中的特性具有特定的几何形状类型,那么它们将具有一个名为e00_type,其值为几何类型。例如,ARC子文件中的特性将附加线几何形状,并将具有e00_type属性的值e00_arc

文本表示

控件中的记录定义了文本特征的主要几何形状TX6TX7,或三种E00覆盖的子文件。这个几何图形包括一个文本字符串,一个绘制文本的位置,以及可选的一串点,这些点形成一条曲线,沿着曲线放置字符。此外,文本功能来自TX6TX7子文件可能有与它们相关联的箭头1注意,E00编写器目前不支持与文本特性相关的任何形式的文本箭头。这个功能可能会在以后的版本中添加。作者也不支持文本风格的文本记录;只能生成tx6风格的文本。

当这些特性被读入FME时,形式会略有变化。如果读者参数文本曲线被设置为忽略,文本行的开始点和结束点用于计算字符的平均旋转,行中的第一个点成为文本的位置。文本特性的几何形状是定义位置的一个点,以及定义其余特性的以下属性。

属性名称

描述

e00_anno_name

包含文本的注释层(子类)的名称。

e00_anno_id

注释层内文本特性的序列号。

e00_rotation

文本显示的旋转,从水平方向逆时针方向以度数测量。

Reprojectable:是的

e00_text_height

一行文字的高度,以地面单位计算。

Reprojectable:是的

e00_text_width

文本行高,以地面单位计算。当特性包含多行文本时,这将是文本的最长行宽度。

Reprojectable:是的

e00_tbox_height

整个文本块的高度,以地面单位计算。如果文本包含回车字符,因此跨越多行,这个数字将大于e00_text_height的值;否则这两个会有相同的值。

Reprojectable:是的

e00_text_string

正在显示的文本字符串。

e00_text_just

(可选)文本特征相对于其基线的合理性。这是一个整数,取值范围为1到12(含1到12)。默认的对齐值为“1”,表示文本字符的底部与定义弧的第一个点对齐。

e00_num_coords

(可选)当编写TX6或TX7特性时,该属性定义了多少坐标用于定义文本的位置。取值范围为1 ~ 3之间的整数(含1 ~ 3);如果没有e00_num_coordds属性,将使用三个坐标表示文本位置。

e00_text_level

(可选)表示文本特性级别的数值。

e00_text_symbol

(可选)表示ArcInfo将用于呈现文本的符号的数值。

如果读者参数文本曲线被设置为适合,且文本特征由两个以上的坐标定义,FME计算文本中每个字符的位置和旋转,为每个字符生成单独的特征。(空白字符不会生成任何特性。)在这种情况下,对应于给定ArcInfo文本元素的所有特性将具有相同的值e00_anno_name属性,并为e00_anno_id属性,并将包含另外两个属性:

属性名称

描述

e00_whole_text_string

原始文本字符串,该特性的单个字符是从该字符串中提取的。

e00_pos_in_whole_text

该特性的字符在原始文本字符串中的位置。第一个字符的位置是“1”,第二个字符的位置是“2”,以此类推。

a的内容TX6TX7一个E00覆盖范围内的子文件可能包含在几个不同的注释层(子类)中的注释。每个特性都属于一个子类,这个子类的名称包含在特性的名称中e00_anno_name属性。给定子类中的特性在读取时被编号e00_anno_id属性被分配特征的序列号,从1开始,在层内。

如果覆盖范围中没有命名的注释子类—从三种子文件-所有文本特性将有一个空字符串(”“)作为他们的价值e00_anno_name属性。

如果文本具有相关的箭头,则生成单独的行特征。这个特性是typee00_textarrow,并包含其相同的值e00_anno_namee00_anno_id关联的属性e00_text特性。

定义的每个文本特征TX6TX7E00覆盖范围的子文件具有来自特定信息文件的一组相关的用户定义属性。信息文件的每条记录都作为特性从E00读取器返回,该特性具有定义在其上的属性。这些特征有一个E00_FEAT_ROLE的属性e00_text_attr和一个特征类型<前缀> _ < anno_name > _textattr, <前缀>是一个任意前缀,而<anno_name>是包含该特性的注释层的名称。如果注释层未命名,则定义用户属性的特性类型为<前缀> _textattr

根据文本几何图形在文件中的位置,将其与用户定义的属性相关联。换句话说,在文本几何图形和定义用户属性的特性之间存在一对一的关系。这种关系是通过连接文本特征的e00_anno_namee00_anno_id具有属性特性的属性e00_anno_nameE00_RECORD_NUM属性。

文本特征三种子文件没有命名注释子类,因此其行为类似于TX6TX7文件的e00_anno_name包含一个空字符串。

注意:属性中定义的文本的用户属性三种子文件来自一个不同的信息文件,而不是来自TX6 / TX7子文件-*.XCODE而不是*.答+但是E00阅读器从两个信息文件中生成的特性是相同的。

公差值

E00覆盖包含10个公差值的列表,在ArcInfo中有特定的含义。每个公差有一个范围为1..10,一个状态,一个浮点值。

E00阅读器从TOL子文件生成10个特性。每个特性包含以下属性:

属性名称

描述

id

给公差的原始数字id。

的名字

公差记录的标准名称。这个名称提供了有关容错的描述,实际上只是上面ID的文本版本。

1 = >模糊

2 = >概括

3 = > NODE_MATCH

4 = >摇摆

5 = > TIC_MATCH

6 = >编辑

7 = > NODESNAP

8 = >杂草

9 = >粮食

10 = >吸附

状态

宽容的状态。

1=公差已被验证

2 =公差未得到验证

价值

公差的大小。这是一个浮点数,通常小于1.0。

预测

一个E00覆盖可能包含一个名为PRJ的子文件,它定义覆盖范围内坐标的地理投影。E00阅读器将该子文件中的所有信息收集到该类型的单个特性中e00_projection.中列出了该特性的属性功能类型

PRJ子文件包含一个命名参数列表,后面是一个明显未命名的参数列表。在e00_projection特性上,任何可以识别名称的命名参数都被定义为标准属性——数据、投影、单位等。命名参数(其名称无法被读者识别)被放置到属性中unknown_parameter {} . nameunknown_parameter {} value.未命名的参数放在属性列表中参数{}value

E00试图从投影特征解释坐标系统信息。如果E00文件中的参数来自已知的坐标系统或投影,则坐标系统信息将被传递到FME的其余部分进行正常处理。否则将在日志文件中记录一条警告消息。在任何一种情况下,描述撮合下文件将被传递到FME特性流。

同样,E00写入器试图创建一个撮合下记录从附加在特征上的坐标系统信息。这些特性必须都属于一个单一的坐标系统。如果不能从FME坐标系找到与E00投影记录的映射,则将向日志文件写入警告。