特征表示(VPF Writer)
VPF编写器功能集中的功能可以分类为元数据或要素类功能。
元数据特性用于为VPF数据库的元数据表中的条目提供值。从FME元数据特性到VPF元数据表有一个简单的映射:每个元数据特性表示VPF元数据表中的一行。
要素类功能是几何实体,该实体携带填充与要素类相关的VPF表所需的所有信息。典型的特征类由一个特征表组成,一组原始表,基本连接表和一组相关属性表。在编写几何特征时,VPF编写器会将传入功能缩小到原语中,填充其原始表,功能表和相关属性表,然后计算与这些表相关的索引。
VPF产品中的属性是区分大小写的。亚搏在线娱乐平台作者支持的所有输出产品都使用小亚搏在线娱乐平台写属性,所有FME特性属性也必须是小写的。
下表列出了VPF编写器编写几何信息的格式属性。功能属性的有效属性值可以在产品规范中找到。将功能写入表时,通常使用默认值。
属性名称 |
描述 |
定义了 |
vpf_type. |
特征类特征具有以下几何类型之一: vpf_area. vpf_line vpf_point vpf_text. 元数据特性的几何类型是vpf_none。 |
所有功能 |
vpf_text_string. |
用于类型为vpf_text的特性的字符串。 |
vpf_text. |
vpf_text_height |
vpf_text特性的高度。看到请注意. |
vpf_text. |
vpf_text_font |
用于显示VPF_Text功能的字体。看到请注意. |
vpf_text. |
vpf_text_color |
用于显示VPF_TEXT功能的颜色。看到请注意. |
vpf_text. |
vpf_text_style |
用于显示vpf_text几何图形的样式。看到请注意. |
vpf_text. |
vpf_rotation |
将显示文本的旋转位置。这是从文本行的左下和右下坐标计算出来的,用从正东逆时针方向的度数表示。如果文本几何图形在VPF数据中只有一个坐标,默认值为0.0。 |
vpf_text. |
vpf_text_scale |
标度从包含该特性的库中的库头表(LHT)中读取。如果vpf_text_height不存在,用于从fme_text_size计算一个新的高度。对于所有其他目的,该属性将被写入器忽略。 |
vpf_text. |
vpf_original_geometry. |
可选的。由VPF读取器在众所周知的文本(WKT)格式中读取的原始几何。仅在原始VPF文本原语具有超过1个坐标时才出现。如果文本功能具有与读取时相同的几何体,则此属性将为Writer提供几何图形。 |
vpf_text. |
注意:只支持VMAP0,VMAP1,VMAP2和UVMAP产品类型支持存储此符号信息的存储symbol.rat表格DNC不支持symbol.rat表。对于每个唯一的符号标识符,文本特征必须具有相同的符号信息symbol_id.提供在一个功能上。作者将忽略没有的特征符号信息symbol_id.属性。
![关闭](http://www.baooytra.com/docs/fme/2017.1/html/FME_Desktop_Documentation/FME_ReadersWriters/vpf/../Skins/Default/Stylesheets/Images/transparent.gif)
FME可以写下notes.rat表和每个特性类相关的Note Join表(.njt)。要创建注释表,请向具有注释的特性添加list属性。例如,给a加两个音符Maritima.特征类林覆盖率,添加属性:
Notes_rat {0}颅内水道项目深度为3.6米
注意:改进的通道可能会发生浅滩
notes_rat {}不需要在特性类型定义上。
![关闭](http://www.baooytra.com/docs/fme/2017.1/html/FME_Desktop_Documentation/FME_ReadersWriters/vpf/../Skins/Default/Stylesheets/Images/transparent.gif)
VPF编写器将尽可能多地履行原始的VPF特定属性。
如果一个vpf_text_height存在时,它将被用来写的象征。老鼠size属性。如果没有存在但是一个vpf_text_scale存在,那么vpf_text_height将被猜到fme_text_size.如果没有vpf_text_height也没有vpf_text_scale存在,然后将使用默认值2,只要文本功能有一个symbol_id.属性。
如果一个vpf_original_geometry.存在属性,并且FME文本功能的点几何形状仍然与原始几何形状的第一个坐标相同,然后将写入原始几何。如果是vpf_original_geometry.属性不存在或FME文本特征的点几何形状与原始几何形状的第一个坐标不相同,则当前点坐标将被写入第二个点,以表示当前旋转,前提是该点不为零。第二个点,表示字符串的右下角,将使用fme_text_size(以地面单位表示的高度)和字符以地面单位表示的宽度是其大小的一半的近似。
![关闭](http://www.baooytra.com/docs/fme/2017.1/html/FME_Desktop_Documentation/FME_ReadersWriters/vpf/../Skins/Default/Stylesheets/Images/transparent.gif)
特性的特性类型在编写VPF数据库中扮演着重要的角色。特征类特征上的特征类型告诉作者特征属于什么特征类;特性类的覆盖范围是什么;以及这些资料属于哪个图书馆。由于有可能在属于不同库但使用不同模式的相同覆盖下拥有相同的表名,因此将特性类型定义为唯一的唯一方法是使用库名、覆盖名和特性类名的组合。特性类特性类型的语法是:
<库名>\<覆盖名>\<特性类>
例如:
DNC:H001 \ CUL \译号VMAP0:Sasaus \ Trans \ Roadl
请注意,通过指定要素类分隔符读取器参数的值,可以将“\”分隔符更改为另一个字符。
识别的库,覆盖范围和特征类类型将根据Writer的产品类型而有所不同。例如,如果Writer的产品类型是DNC,并且编写器找到具有功能类型的功能浏览\ libref \ libref,它将知道所有即将到来的功能属于libr特征类libr报道的浏览DNC数据库中的库。
元数据特性的特性类型说明了元表在数据库中的位置。元数据特性的特性类型可以有一个分隔符,也可以没有分隔符,这取决于底层元数据表在数据库中的位置。用于数据库根级元数据表的特性将没有分隔符和以下语法:
<弥撒名称>
例如,如果传入的功能旨在命名的数据库标题表二氢睾酮这些特性的特性类型很简单二氢睾酮.
目的地用于数据库库级别存在的元数据表将具有语法:
<库名称> \ <元表名称>
例如,如果传入的功能旨在名为的库标题表lht.在DNC数据库的浏览库中,这些功能的功能类型将是浏览\ lht.
![关闭](http://www.baooytra.com/docs/fme/2017.1/html/FME_Desktop_Documentation/FME_ReadersWriters/vpf/../Skins/Default/Stylesheets/Images/transparent.gif)
所有VPF产品都亚搏在线娱乐平台有从级别0到级别3的四个公认的拓扑级别。(见军用标准,矢量产品格式,MIL-STD-2407,有关详细信息。)文本功能不参与拓扑建筑。由于拓扑在覆盖范围内定义,因此VPF编写器累积属于一个覆盖的所有功能,然后将它们抛入拓扑管道中。基于拓扑级别的覆盖范围属于,拓扑流水线将特征分裂为基元并构建所有拓扑关系。构建拓扑后,原语被写入相应的原始表和特征到特征表。
请注意,作者希望提供给它的数据是拓扑清洁的(即,它与VPF规范拓扑结构一致)。作者不对任何拓扑清洁负责。任何拓扑上不洁净的数据都可能导致输出数据不正确。
![关闭](http://www.baooytra.com/docs/fme/2017.1/html/FME_Desktop_Documentation/FME_ReadersWriters/vpf/../Skins/Default/Stylesheets/Images/transparent.gif)
VPF数据可以平铺或未平铺。当数据被平铺时,每个平铺的特性首先被剪切,然后被扔到拓扑构建的管道中。这个过程对每个贴图重复,因为每个贴图的拓扑应该是独立于其他贴图的。可以使用skip tile clipping跳过tile剪辑来提高性能。建议仅在特定条件下使用。
对于跨瓦片边界的特性,当前原语ID、外部瓦片和该瓦片中的原语ID的信息将作为原语上的三元组ID存储。默认情况下,VPF写入器不计算三元组id,因为该过程涉及巨大的开销。
要激活编写器中的剪裁,必须将跳过剪切剪切到不,必须写入每个库的Tileref功能类型。