映射文件示例

以下映射文件示例示出了多编写器如何用于将功能分成GIF和PNG文件。此示例说明了如何使用通用和特定关键字来配置多编写器使用的各个编写器。特别地,注意到了黑色的编写器专门用于创建250x250像素图像,而绿色写入器使用默认的500x500设置。此外,绿色黑色的作家创建GIF数据集Writer创建一个PNG数据集。

当在此模式下使用时,必须配置多稿器,使得它可以通过FME传递给它的多个可能的Multi_Writer_ID值,否则它将拒绝它未准备的功能。为了说明,如果一个功能multi_writer_id.有3个是在Teefactory.在这个例子中,它将被多写器拒绝,因为它的目的地是未知的。

#---------------------------------------------------------------------
#指定一个空读取器(CreationFactory用于创建测试特性)
reader_type null.
NULL_DATASET零

#---------------------------------------------------------------------
#设置Multi-Writer以显式打开两个GIF writer
WRITER_TYPE MULTI_WRITER
multi_writer_type {0} gif
MULTI_WRITER_KEYWORD{0}绿色
multi_writer_type {1} gif
MULTI_WRITER_KEYWORD{1}砖
multi_writer_type {2} gif
MULTI_WRITER_KEYWORD{2}黑色

#---------------------------------------------------------------------
#通用配置为所有的GIF作者
GIF_DEF亮绿GIF_RED 0 GIF_GREEN 255 GIF_BLUE 0
GIF_DEF BrickRed GIF_RED 160 GIF_GREEN 64 GIF_BLUE 64
GIF_DEF黑色GIF_RED 0 GIF_GREEN 0 GIF_BLUE 0
GIF_DEF白色GIF_RED 255 GIF_GREEN 255 GIF_BLUE 255
GIF_HEIGHT 500
GIF_WIDTH 500

#---------------------------------------------------------------------
#第一个GIF作者的特定配置
GIF GREEN_DATASET“C: / / image_0.gif”

#---------------------------------------------------------------------
#特定配置为第二个GIF作家
GIF BRICK_DATASET“C: / / image_1.png”

#---------------------------------------------------------------------
#第三个GIF作者的具体配置
GIF BLACK_DATASET“C: / / image_2.gif”
black_height 250.
BLACK_WIDTH 250

#---------------------------------------------------------------------
#创建一个功能,并为每个作者复制一份
factory_def * creationfactory \
2d_geometry 0 0 0 1 1 1 1 0 0 0 \
输出FEATURE_TYPE广场

FACTORY_DEF * tefactory \
输入feature_type * \
@supplyattributes(gif_type,gif_polygon)\
@supplyattributes(gif_fill_color,white)\
输出feature_type * \
multi_writer_id 0 \
@FeatureType BrickRed \
输出feature_type * \
multi_writer_id 1 \
@FeatureType \(亮)
输出feature_type * \
multi_writer_id 2 \
@FeatureType(黑)

#---------------------------------------------------------------------
#关联从输入到输出的所有内容
零*
multi_writer *

以下映射文件示例示出了多编写器如何用于将功能写入不同类型的数据集中。它使用多稿器在单个FME运行中创建一个设计数据集和两个AutoCAD数据集。请注意,如何为单独配置每个AutoCAD编写器需要编写特定的关键字,但配置单个设计编写器需要无需。

#---------------------------------------------------------------------
#使用空读取器
reader_type null.
NULL_DATASET零

#---------------------------------------------------------------------
#设置Multi-Writer,明确地打开一个和两个设计writer
# AutoCAD的作家
WRITER_TYPE MULTI_WRITER
MULTI_WRITER_TYPE {0} igd
MULTI_WRITER_TYPE {1} DWG
multi_writer_keyword {1} dwg_1
MULTI_WRITER_TYPE {2} DWG
multi_writer_keyword {2} dwg_2

#---------------------------------------------------------------------
#设计作者的特定配置
IGDS_DATASET“C:/design/output.dgn”
igds_seed_file“$(fme_home)/design/seed2d_m.dgn”
IGDS_UNITS IGDS_MASTER_UNITS

#---------------------------------------------------------------------
#为第一个AutoCAD作者的特定配置
DWG_1_DATASET“C: / cad /盒/ output.dwg”
DWG_1_VERSION SERECES2000
DWG_1_DEF盒\
autocad_color 2 \
autocad_linetype连续

#---------------------------------------------------------------------
#特定于第二个AutoCAD编写器配置
DWG_2_DATASET“C: / cad /平方/ output.dwg”
DWG_2_VERSION SELELE14
DWG_2_DEF广场\
autocad_color 6 \
autocad_linetype连续

#---------------------------------------------------------------------
#创建一个功能,并为每个作者复制一份
factory_def * creationfactory \
2d_geometry 0 0 0 1 1 1 1 0 0 0 \
输出FEATURE_TYPE广场

FACTORY_DEF * tefactory \
输入feature_type * \
输出feature_type * \
multi_writer_id 0 \
@Featuretype(2)\
igds_type igds_shape \
igds_style 3 \
fme_fill_color 0.5,1,0 \
输出feature_type * \
multi_writer_id 1 \
@FeatureType \(盒)
fme_color 0 1 0 \
autocad_entity autocad_polygon \
输出feature_type * \
multi_writer_id 2 \
@Featuretype(正方形)\
fme_color 0,1,1,1 \
autocad_entity autocad_polygon

#---------------------------------------------------------------------
#关联从输入到输出的所有内容
零*
multi_writer *

下面的映射文件示例展示了如何使用Multi-Writer将特性写入相同类型的多个数据集。它使用Multi-Writer在一次FME运行中创建多个Shape数据集,其中所有数据集都具有相同的模式。请注意,没有为任何Shape写入器提供特定的配置。

#---------------------------------------------------------------------
#指定一个空读取器(CreationFactory用于创建测试特性)
reader_type null.
NULL_DATASET零

#---------------------------------------------------------------------
#设置多稿以为每个编写型号
在特性管道中指定的数据集
WRITER_TYPE MULTI_WRITER
MULTI_WRITER_TYPE{*}的形状
MULTI_WRITER_DATASET{*}“C: /形状/ dset_ < multi_writer_id >”

#---------------------------------------------------------------------
#所有形状编写器的通用配置
SHAPE_DEF广场\
shape_geometry shape_polyline \
SOMEATTR char (20)

#---------------------------------------------------------------------
#创建一个功能,并为每个作者复制一份
factory_def * creationfactory \
2d_geometry 0 0 0 1 1 1 1 0 0 0 \
输出FEATURE_TYPE广场

FACTORY_DEF * tefactory \
输入feature_type * \
输出feature_type * \
multi_writer_id 0 \
SOMEATTR零\
输出feature_type * \
multi_writer_id 1 \
someattr一个
输出feature_type * \
multi_writer_id 2 \
Someattr二

#---------------------------------------------------------------------
#关联从输入到输出的所有内容
零*
multi_writer *

下面的映射文件示例展示了如何使用Multi-Writer将特性写入相同类型的多个数据集。它使用Multi-Writer在一次FME运行中创建多个GIF文件。它演示了multi_writer_id如何成为reader关键字multi_writer_type {*}用来。此示例利用该知识来控制数据集配置color_3.作家。

#---------------------------------------------------------------------
#指定一个空读取器(CreationFactory用于创建测试特性)
reader_type null.
NULL_DATASET零

#---------------------------------------------------------------------
#设置Multi-Writer为每个打开一个GIF writer
在特性管道中指定的数据集
WRITER_TYPE MULTI_WRITER
MULTI_WRITER_TYPE {*} GIF
GIF MULTI_WRITER_DATASET{*}“C: / / image_ < multi_writer_id > GIF”

#---------------------------------------------------------------------
#通用配置为所有的GIF作者
GIF_DEF亮绿GIF_RED 0 GIF_GREEN 255 GIF_BLUE 0
GIF_DEF BrickRed GIF_RED 160 GIF_GREEN 64 GIF_BLUE 64
GIF_DEF黑色GIF_RED 0 GIF_GREEN 0 GIF_BLUE 0
GIF_DEF白色GIF_RED 255 GIF_GREEN 255 GIF_BLUE 255
gif_height 100.
GIF_WIDTH 100.
#---------------------------------------------------------------------
#Color_3编写器的特定配置
color_3_dataset“c:/gif/image_3.gif”

#---------------------------------------------------------------------
#创建一个功能,并为每个作者复制一份
factory_def * creationfactory \
2d_geometry 0 0 0 1 1 1 1 0 0 0 \
输出FEATURE_TYPE广场

FACTORY_DEF * tefactory \
输入feature_type * \
@supplyattributes(gif_type,gif_polygon)\
@supplyattributes(gif_fill_color,white)\
输出feature_type * \
multi_writer_id color_1 \
@FeatureType BrickRed \
输出feature_type * \
multi_writer_id color_2 \
@FeatureType \(亮)
输出feature_type * \
multi_writer_id color_3 \
@FeatureType(黑)
#---------------------------------------------------------------------
#关联从输入到输出的所有内容
零*
multi_writer *

以下映射文件示例示出了多编写器如何用于将功能写入相同类型的许多数据集,而是具有不同的预测。它使用多稿器在单个FME运行中创建多个MapInfo数据集,每个数据集具有不同的投影。该示例说明了如何将多编写的多编写器关键字更改为输出,然后在用于多写器配置和相关线中使用。

#---------------------------------------------------------------------
#指定一个空读取器(CreationFactory用于创建测试特性)
reader_type null.
NULL_DATASET零

#---------------------------------------------------------------------
#设置Multi-Writer为每个打开一个MapInfo writer
在特性管道中指定的数据集
WRITER_TYPE MULTI_WRITER
WRITER_KEYWORD输出
output_type {*} mapInfo
OUTPUT_DATASET{*}“C: / MapInfo / dset_ < multi_writer_id >”

#---------------------------------------------------------------------
#所有MapInfo作家的通用配置
MAPINFO_DEF广场\
SOMEATTR char (20)

#---------------------------------------------------------------------
#创建一个功能
factory_def * creationfactory \
2d_geometry 0 0 0 1 1 1 1 0 0 0 \
输出FEATURE_TYPE广场

#---------------------------------------------------------------------
#复制该功能并设置一个副本转到多写器0和另一个副本
#要转到多稿器1.此外,请将第一个功能恢复为UTM10-83和
另一辆开到LL-83。
FACTORY_DEF * tefactory \
输入feature_type * \
@supplyattributes(mapinfo_type,mapinfo_polyline)\
输出feature_type * \
multi_writer_id 0 \
SOMEATTR零\
fme_color 0 1 0 \
utm10 @Reproject (ll - 83 - 83) \
输出feature_type * \
multi_writer_id 1 \
someattr一个
fme_color 0,1,1,1 \
@Reproject (ll - 83 ll - 83)

#---------------------------------------------------------------------
#关联从输入到输出的所有内容
零*
输出*

下面的映射文件示例展示了如何使用Multi-Writer将一个特性分割成一组相邻的块。它使用Multi-Writer在一次FME运行中创建多个Shape数据集,其中每个数据代表一个相邻的tile。

#---------------------------------------------------------------------
#指定一个空读取器(CreationFactory用于创建测试特性)
reader_type null.
NULL_DATASET零

#---------------------------------------------------------------------
#设置多稿以为每个编写型号
在特性管道中指定的数据集
WRITER_TYPE MULTI_WRITER
MULTI_WRITER_TYPE{*}的形状
multi_writer_dataset {*}“c:/ shape / t

#---------------------------------------------------------------------
#设置Shape的作者
SHAPE_DEF划线\
shape_geometry shape_polyline \
SOMEATTR char (20)

#---------------------------------------------------------------------
#创建四个贴图边界
factory_def * creationfactory \
2d_geometry 0 0 0 1 1 1 1 0 0 0 \
输出FEATURE_TYPE tileBoundary \
multi_writer_row 0 \
multi_writer_column 0

factory_def * creationfactory \
2d_geometry 0 1 0 2 1 2 1 1 0 1 \
输出FEATURE_TYPE tileBoundary \
multi_writer_row 1 \
multi_writer_column 0

factory_def * creationfactory \
2d_geometry 1 1 1 2 2 2 2 1 1 1 1 \
输出FEATURE_TYPE tileBoundary \
multi_writer_row 1 \
multi_writer_column 1

factory_def * creationfactory \
2d_geometry 1 0 1 1 2 1 2 0 1 0 0 \
输出FEATURE_TYPE tileBoundary \
multi_writer_row 0 \
multi_writer_column 1

#---------------------------------------------------------------------
#创建一个跨越四个瓷砖的循环线段
factory_def * creationfactory \
2d_geometry 1 1 \
输出FEATURE_TYPE linework \
@Arc(1,1,50,0,0,359)

#---------------------------------------------------------------------
根据贴图的边界将线条分割成段
FACTORY_DEF * OverlayFactory \
INPUT POLYGON FEATURE_TYPE tileBoundary \
INPUT LINE FEATURE_TYPE linework \
输出线Feature_type *

#---------------------------------------------------------------------
#关联从输入到输出的所有内容
零*
multi_writer *