作家指令

下面列出了GeoConcept编写器处理的其他指令。显示的后缀以当前前缀< WriterKeyword > _在映射文件中。默认情况下,< WriterKeyword >GeoConcept的作者是GEOCONCEPT

数据集

中描述的GeoConcept编写器处理DATASET指令GeoConcept读者下,读者指令部分。

DEF

GeoConcept编写器按照GeoConcept读者下,读者指令部分。它没有利用ID年代指令。

此外,GeoConcept编写器有一个DEF参数GCM_DIMENSION,它的合法值是2D、3D、3DMONO和AUTO_DETECT。

在GeoConcept中,子类可以是2D、3D或3DMONO。后者只用于线和多边形,它指的是整个几何体处于特定高度/高度的3D线或多边形。3DMONO几何从第一个坐标取z值,并将其余的坐标存储为2D与理解它们是三维的,z值与第一个坐标相同。将3D几何图形写入2D子类是不可能的,因为在2D子类中z值是保留的。然而,可以将2D几何图形写入3D子类(其中z值未定义)。该参数的值决定所构造的子类是2D还是3D。如果设置为AUTO_DETECT,子类将由第一个特性读取的几何形状决定。

Workbench DEF线参数是“子类几何类型?”,默认设置为AUTO_DETECT。

该示例显示了带有此参数的DEF行,用于没有用户属性的特性。

gcm_point \ GCM_DIMENSION 3D

USE_CLASS_SUBCLASS_NAMES

要求/可选:要求

该指令控制将用于在输出GeoConcept映射中创建类和子类定义的字符串。如果设置了,则表示格式属性gcm_class_namegcm_subclass_name将分别用于GeoConcept类和子类定义。在GeoConcept到GeoConcept的转换中,这将被默认设置为YES,对于所有其他的转换,它将被默认设置为NO。

对于非GeoConcept到GeoConcept的转换,这个指令可以设置为YES,但是格式属性gcm_class_namegcm_subclass_name必须公开在目标特性类型定义上,并分配适当的值。每个特性类型必须接收唯一的类和子类值(通过格式属性)的组合。例如,对于只支持多边形几何的特征类型和只支持点几何的特征类型,将这些属性设置为相同的值将导致翻译失败,因为每个类和子类的组合只支持一种几何类型。即使两个特征类型的几何形状在值上一致,如果它们的属性不同,结果可能是数据的丢失,因为只有第一个特征类型定义的属性值将被接受。

下面是将此属性设置为YES的示例

GEOCONCEPT_USE_CLASS_SUBCLASS_NAMES是的

工作台参数:使用类和子类名称

TEMPLATE_MAP

要求/可选:要求

该指令指定映射文件的路径名,该文件将被用作目标映射的模板。精度、区段和模板映射中的任何层信息都会被保留,但是类定义不会。

由于模板映射设置了坐标的精度,因此选择具有适当精度的模板映射是很重要的。有两个可能的问题需要防范。首先是当精度太低时,直线和多边形的几何形状会受到这种精度不足的影响。例如,给定一条坐标为(1.001,4.002)和(1.05,4.082)的线,但精度仅为1的线类型对象的地图,但其坐标为(1.0,4.0)和(1.0,4.0);即,同样的一点!特别是,多边形可能会突然彻底改变形状,或者如果它们包含的点的差异值小于地图的精度,就会失去所有区域。

用户应该注意的另一个问题是设置的精度太高。GeoConcept地图将所有坐标存储为整数,并将坐标乘以10的幂,以保留坐标的小数元素。例如,当存储在精度为0.0001的地图中,坐标445533.023将存储为整数4,455,330,230。在32位机器上,整数的最大值是2,147,483,647。因此,很容易看出,对于精度极高的地图,在纬度和经度范围的高端的坐标可能会大于这个值。如果出现这种情况,转换将失败,并且日志文件将表明,对于给定的坐标,映射的精度过高。

下面的例子显示了模板映射指令被设置为特定的GeoConcept映射

GEOCONCEPT_TEMPLATE_MAP C: \ \ Alps.gcm地图

工作台参数:模板映射文件

TEMPLATE_MAP_STRUCTURE_TO_DELETE

要求/可选:可选

默认值:Class_Definitions

当一个模板地图被选中时,它被用来确定地图的范围和分辨率。这个关键字控制是否应该删除映射的类/子类结构及其中的所有对象。如果默认值Class_Definitions使用,然后,目标映射将从任何类和子类定义中完全清空。映射中保留的是区段、分辨率和任何已定义的全局字段。通过设置属性为没有什么目标映射保留为模板的副本。所以将其设置为Nothing会导致写入器直接将数据插入到现有的GeoConcept映射(副本)中。

这个例子显示了这个指令被设置为直接插入数据到一个现有的Geoconcept地图的(一个副本)中:

GEOCONCEPT_TEMPLATE_MAP_STRUCTURE_TO_DELETE什么

工作台参数:应该从模板映射中删除什么