GeoConcept地图编写器参数
模板映射文件
指定映射文件的路径名,该文件将用作目标映射的模板。精度、区段和模板映射中的任何层信息都会被保留,但是类定义不会。
由于模板映射设置了坐标的精度,因此选择具有适当精度的模板映射是很重要的。有两个可能的问题需要防范。首先是当精度太低时,直线和多边形的几何形状会受到这种精度不足的影响。例如,给定一条坐标为(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。因此,很容易看出,对于精度极高的地图,在纬度和经度范围的高端的坐标可能会大于这个值。如果出现这种情况,转换将失败,并且日志文件将表明,对于给定的坐标,映射的精度过高。
几何
该参数的值决定所构造的子类是2D还是3D。如果设置为Auto Detect(默认值),子类将由第一个特征读取的几何形状决定。
在GeoConcept中,子类可以是2D、3D或3D Mono。后者只用于线和多边形,它指的是整个几何体处于特定高度/高度的3D线或多边形。
3D Mono几何体从第一个坐标获取z值,并将其余的坐标存储为2D,并理解它们实际上是3D的,具有与第一个坐标相同的z值。将3D几何图形写入2D子类是不可能的,因为在2D子类中z值是保留的。然而,可以将2D几何图形写入3D子类(其中z值未定义)。
附加格式参数(Workbench Navigator)
在将阅读器或写入器添加到工作区之后,有些参数只能从Workbench Navigator中访问(也就是说,它们在阅读器或写入器参数对话框中不可见)。
当一个模板地图被选中时,它被用来确定地图的范围和分辨率。该参数控制是否应该删除映射的类/子类结构及其中的所有对象。
如果默认值Class_Definitions,则目标映射将从任何类和子类定义中完全清空。映射中保留的是区段、分辨率和任何已定义的全局字段。
设置为没有什么时,目标映射将保留为模板的副本;因此,写入器将直接将数据插入现有的GeoConcept映射(副本)中。
该参数控制将用于在输出GeoConcept映射中创建类和子类定义的字符串。如果设置了,则表示格式属性gcm_class_name和gcm_subclass_name将分别用于GeoConcept类和子类定义。在GeoConcept-to-GeoConcept的转换中,这将被设置为是的默认情况下,以及对于所有其他翻译,它将被设置为没有默认情况下。
对于不是GeoConcept-to-GeoConcept的转换,可以将此参数设置为是的,但格式属性gcm_class_name和gcm_subclass_name必须公开在目标特性类型定义上,并分配适当的值。每个特性类型必须接收唯一的类和子类值(通过格式属性)的组合。
例如,对于只支持多边形几何的特征类型和只支持点几何的特征类型,将这些属性设置为相同的值将导致翻译失败,因为每个类和子类的组合只支持一种几何类型。即使两个特征类型的几何形状在值上一致,如果它们的属性不同,结果可能是数据的丢失,因为只有第一个特征类型定义的属性值将被接受。