配置参数

在GEODATABASE__DEF行中有许多配置参数,用于定义特性类的特征。下表对它们进行了描述。只有在定义新表时才需要配置参数。如果表已经存在,那么有以下行就足够了:

< WriterKeyword > _DEF <表>

当创建一个新表时,在表定义中找到的配置参数将覆盖等效的写入指令。但是,只有指定了配置参数GEODB_XYSCALE且不等于零时,与设置网格大小和x、y、z起点和刻度相关的参数才会覆盖写入器指令。

注意:重要的是要理解,参数设置的值是分配给写入器指令的,而不是分配给本节描述的配置参数。这样做是为了防止编写器指令的值在工作空间/映射文件中被更改,但永远不会被使用,因为它们被相应的配置参数覆盖。

参数

内容

geodb_type

为了确定要创建什么类型的表,必须指定有效的geodb_type。请查看这部分特征表示获取geodb_type的有效值。在DEF线上,将geodb_type设置为geodb_arc等同于geodb_polyline,将其设置为geodb_ellipse等同于geodb_polygon。

GEODB_UPDATE_KEY_COLUMNS

编写器在更新或删除特性时使用的字段名列表。该值是一个以逗号分隔的字段列表,这些字段与相应的FME属性值相匹配,以指定使用其他属性值更新哪些行。如果FME特性中没有相应的属性,则在查询该特定列时将使用null值。

通常,这应该标识一个独特的特性,但如果需要,也可以用来更新/删除多个特性。如果正在执行更新/删除,且该参数没有赋值,则写入器将使用对象ID列执行更新,并且FME特性上必须存在相应的对象ID属性。

下面的示例将更新字段设置为COUNTRY和CAPITAL:

GEODB_UPDATE_KEY_COLUMNS国家,资本

GEODB_DROP_TABLE

指定写入器在写入前删除表,并创建一个新表。如果该表不存在,则在写入数据时创建该表。

注意:只有当特性到达写入器时,此参数才有效。

下面的示例将drop表标志设置为false。

GEODB_DROP_TABLE没有

没有

价值观:是的|不

GEODB_TRUNCATE_TABLE

指定写入器在写入前截断表。如果该表不存在,则在写入数据时创建该表。

注意:只有当特性到达写入器时,此参数才有效。

下面的示例将截断表标记设置为false。

GEODB_TRUNCATE_TABLE没有

没有

价值观:是的|不

GEODB_OBJECT_ID_NAME

包含当前表对象id的列的名称。列的名称不能包含任何空格。如果值与用户属性冲突,那么写入器将忽略用户属性并记录警告。

注意:该参数对注释特性类没有影响。

下面的示例将保存对象id的列名定义为OBJECT_IDENT:

GEODB_OBJECT_ID_NAME OBJECT_IDENT

GEODB_OBJECT_ID_ALIAS

当前表的对象id列的别名。别名在ArcMap(可能在其他ArcGIS产品中)中使用,当查看数据时,对象ID列将被其别名标记。亚搏在线娱乐平台

下面的示例将对象ID列名的别名定义为Primary ID。注意别名必须用引号("")包围以支持空格。

GEODB_OBJECT_ID_ALIAS“主ID”

GEODB_SHAPE_NAME

包含当前特征类中特征的形状数据的列的名称。这只适用于特性类。列的名称不能包含任何空格。如果该值或其对应的LENGTH或AREA字段之一与用户属性冲突,则编写器将忽略用户属性并记录一个警告。

注意:该参数对注释特性类没有影响。

下面的示例将形状数据列名定义为Geometry:

GEODB_SHAPE_NAME几何

GEODB_SHAPE_ALIAS

形状数据列的别名。当在ArcMap(可能在其他ArcGIS产品)中查看数据时,形状数据列将被其别名标记。亚搏在线娱乐平台

下面的示例将形状数据列名的别名定义为“shape Geometry”。(注意,为了支持空格,别名必须用引号括起来。)

GEODB_SHAPE_ALIAS“几何形状”

GEODB_FEATURE_DATASET

特性类所属的特性数据集的名称。如果这个参数没有在DEF行中指定,那么特性类将被创建为一个独立的特性类。如果指定了这个参数,那么特征类将成为指定特征数据集的一部分,如果该数据集不存在,那么它将被创建。如果特性数据集是由FME创建的,那么假原点和刻度的值是从各自的写入指令(即X_ORIGIN、Y_ORIGIN、Z_ORIGIN、XY_SCALE和Z_SCALE)中获取的。如果没有指定指令,则使用该指令的默认值。然而,当写入基于文件的地理数据库时,这些指令不会被使用。相反,基于坐标系统集的默认值用于原点和分辨率。

下面的例子指定了特性类属于一个名为Town的特性数据集:

GEODB_FEATURE_DATASET镇

GEODB_GRID {1}

该参数指定在层的坐标系统中的空间索引的大小。它仅在创建特性类时适用,并且仅在GEODB_XYSCALE参数包含非零值时使用。该值必须是大于零的实数。

当使用企业地理数据库或基于文件的地理数据库写入器时,如果值为0或没有指定,并且GRID_1指令的值为0,那么网格大小将自动计算。基于文件的地理数据库编写器还将自动计算网格2和3的大小。

下面的例子定义了一级网格的网格大小为200:

200年GEODB_GRID {1}

GEODB_GRID {2}

这个可选参数定义2级网格大小。如果不需要,则不应指定该值或将其设置为0。在可以指定级别2的网格大小之前,必须指定级别1的网格大小。该参数必须是大于零的实数。

下面的例子为2级网格定义了600的网格大小:

600年GEODB_GRID {2}

GEODB_GRID {3}

这个可选参数定义了3级网格元素的大小。如果不需要,则不应指定该值或将其设置为0。在可以指定3级网格大小之前,必须指定2级网格大小。该参数必须是大于零的实数。

下面的例子为3级网格定义了1800的网格大小:

1800年GEODB_GRID {3}

GEODB_AVG_Num_points

这个可选字段指定每个特征估计的平均点数。它用于为特性类创建空间索引。如果未指定此配置参数,则将根据特征类的几何类型为其分配默认值。如果几何体是一个点,默认值是1;如果几何体是一个多点,默认值是10;如果几何体是折线,默认值是20;如果几何体是一个多边形,默认值是40。必须为整数。

例如,如果要创建一个名为Roads的新特性类,并且我们认为来自Roads特性类的一个特性的平均点数是3,那么在Roads特性类的DEF行上,我们会发现:

GEODB_AVG_NUM_POINTS 3

GEODB_CONFIG_KEYWORD

此可选字段可用于指定要写入的表的配置参数。如果通过ArcSDE访问数据库,则可以有效地使用该指令。文件Geodatabases也支持配置参数。请参阅Esri ArcGIS帮助文档获取有效的关键字。

当写入个人数据库时,该指令被忽略。例如:

GEODB_CONFIG_KEYWORD TEST_CONFIG

默认值为“DEFAULTS”。

GEODB_XORIGIN

这与上面的写入指令X_ORIGIN相同,除了这个配置参数只应用于它所在的DEF行。此参数仅在GEODB_XYSCALE参数包含非零值且仅由独立特性类使用时使用。如果特性类是特性数据集的一部分,则忽略此参数。必须为实数。

例如:

GEODB_XORIGIN -53040

注意:基于文件的地理数据库编写器不使用此参数,因为默认值用于域和解析。使用的默认值取决于正在创建的特性类的坐标系统。

GEODB_YORIGIN

这与上面的写入指令Y_ORIGIN相同,除了这个配置参数只应用于它所在的DEF行。此参数仅在GEODB_XYSCALE参数包含非零值且仅由独立特性类使用时使用。如果特性类是特性数据集的一部分,则忽略此参数。必须为实数。

例如:

GEODB_YORIGIN 1043.89

GEODB_XYSCALE

这与上面的写器指令XY_SCALE相同,只是这个配置参数只应用于它所在的DEF行所在的表。如果该参数没有出现或被设置为0,那么所有的x,y,z起点和刻度以及网格1大小都将从写入器指令中获取,即使其中一些值是在DEF行中提供的。如果这个值被设置为一个非零值,那么所有的DEF线参数的x,y,z比例,起源和网格1大小必须被指定。此参数仅供独立特性类使用。如果特性类是特性数据集的一部分,则忽略此参数。必须为大于等于0的实数。

例如:

GEODB_XYSCALE 1000

GEODB_HAS_Z_VALUES

这个可选参数指定特性是否包含Z值。唯一有效的值是YES和NO。

例如:

GEODB_HAS_Z_VALUES是的

因为Geodatabase不允许在同一个特征类中混合2D和3D特征,所以如果您有混合维度,最好为该参数设置YES值。2D功能将被迫转换为3D。

如果您得到一个错误消息,说您的特性类不支持Z值,您不能简单地将这个配置参数添加到DEF行并再次执行翻译。由于此参数仅在创建特性类时使用,而不是在打开现有特性类时使用,因此必须删除现有特性类或转换为新的Geodatabase。

如果没有指定该配置参数,则默认值为NO。

GEODB_ZORIGIN

这与上面的写入指令Z_ORIGIN相同,除了这个配置参数只适用于它所在的DEF行。此参数仅在GEODB_XYSCALE参数包含非零值且仅由独立特性类使用时使用。如果特性类是特性数据集的一部分,则忽略此参数。必须为实数。

例如:

GEODB_ZORIGIN 0

GEODB_ZSCALE

这与上面的写入指令Z_SCALE相同,除了这个配置参数只适用于它所在的DEF行。此参数仅在GEODB_XYSCALE参数包含非零值且仅由独立特性类使用时使用。如果特性类是特性数据集的一部分,则忽略此参数。必须为大于0的实数。

例如:

GEODB_ZSCALE 10

GEODB_HAS_MEASURES

这个可选字段指定功能是否包含度量。唯一有效的值是YES和NO。如果没有指定该配置参数,则默认值为NO。例如:

GEODB_HAS_MEASURES是的

GEODB_MEASURES_ORIGIN

这与上面的写入指令MEASURES_ORIGIN相同,除了这个配置参数只应用于它所在的DEF行所在的表。如果这个参数没有出现,那么将采用指令MEASURES_ORIGIN的值。此参数仅供独立特性类使用。如果特性类是特性数据集的一部分,则忽略此参数。该参数必须为实数。

例如:

GEODB_MEASURES_ORIGIN -232

GEODB_MEASURES_SCALE

这与上面的写入指令MEASURES_SCALE相同,除了这个配置参数只应用于它所在的DEF行所在的表。如果这个参数没有出现,那么将采用指令MEASURES_SCALE的值。此参数仅供独立特性类使用。如果特性类是特性数据集的一部分,则忽略此参数。该参数必须是大于零的实数。

例如:

GEODB_MEASURES_SCALE 5489.6

GEODB_ANNO_REFERENCE_SCALE

这个可选字段指定何时使用什么参考比例创建注释特性类。参考比例决定了屏幕上文本的大小,即每个注释功能所显示的大小。当比例尺的值大于参考比例尺时,文本的大小就会小于标注特征的大小,反之亦然。如果该字段没有指定值,则FME将首先使用注释特性类的注释特性。如果该特性包含geodb_text_ref_scale属性,那么该属性的值将被用作参考比例。如果该属性不存在,则使用该属性的默认值1。

例如:

GEODB_ANNO_REFERENCE_SCALE 12000

GEODB_COMPRESSION_TYPE

这与上面的写入指令COMPRESSION_TYPE相同,除了这个配置参数只适用于它所在的DEF行。如果这个参数没有出现,那么将采用指令COMPRESSION_TYPE的值。

例如:

GEODB_COMPRESSION_TYPE LZ77

注意:该参数仅适用于写入光栅数据集。

GEODB_COMPRESSION_QUALITY

这与上面的写入指令COMPRESSION_QUALITY相同,除了这个配置参数只应用于它所在的DEF行所在的表。如果这个参数没有出现,那么将采用指令COMPRESSION_QUALITY的值。

例如:

GEODB_COMPRESSION_QUALITY LZ77

注意:该参数仅适用于写入光栅数据集。

GEODB_PYRAMID_RESAMPLE_TYPE

这与上面的写指令PYRAMID_RESAMPLE_TYPE相同,除了这个配置参数只适用于它所在的DEF行。如果这个参数没有出现,则取指令PYRAMID_RESAMPLE_TYPE的值。

例如:

GEODB_PYRAMID_RESAMPLE_TYPE双线性

注意:该参数仅适用于写入光栅数据集。

GEODB_PYRAMID_LEVEL

这与上面的写指令PYRAMID_LEVEL相同,除了这个配置参数只应用于它所在的DEF行所在的表。如果这个参数没有出现,则使用指令PYRAMID_LEVEL的值。

例如:

GEODB_PYRAMID_LEVEL 5

注意:该参数仅适用于写入光栅数据集。