span8
span4
问:什么是KML文件夹以及如何设置它们?
一个KML文件显示在谷歌地球。位置窗格在左侧,显示嵌套结构中的两个文件夹。文件夹ArtNearTransit包含74个特性。
KML文件夹定义
KML文件夹在谷歌Earth Places窗格中定义了嵌套的树结构(如上所示)。这个树控件帮助组织用户的数据表示,以便用户可以打开和关闭感兴趣的层。它还有助于将特性分组在一起,这样用户就不会看到上千个特性的列表。例如,与上百种不同的分区类型不同,您可能希望将您的区域特性组织成区域类别,如商业、住宅、工业、交通和开放空间。
FME允许您以两种方式创建KML文件夹结构:
1)特征类型扇出方法
2)通过使用KML_IDs
这两种方法用于KML而不是KMZ(它是一个压缩的KML文件)。在本例中,我们将关注特性类型扇出方法。从CSV文件中使用温哥华的Skytrain station,从MapInfo文件中使用温哥华zone,我们将创建一个按区域将车站分组的KML。这是一种组织谷歌Earth legend中特性的好方法,特别是当您有许多特性可以按逻辑方式聚合时。
在空白的FME工作区中,添加区域。选项卡为MapInfo选项卡(MapInfo)格式,保留所有默认参数。
接下来,使用CSV读取器将rapid_transit_stations.csv添加到您的工作空间。将属性定义设置为Manual,坐标系统设置为UTM84-10N。在读取器参数中,将x设置为类型x_coordinate,将y设置为属性部分中的y_coordinate。这将告诉FME读取这些CSV点作为坐标点。
数据检查器中显示的源数据。天空火车站是蓝色的点,多边形是区域。
我们将使用PointOnAreaOverlayer变压器将区域补偿属性合并到站点上。一定要选中合并属性在transformer参数的属性累积部分中。
你可能已经注意到区域没有覆盖所有的火车站,所以现在我们将剪辑我们的车站到区域区域。连接区域作为限幅器到限幅器变压器,和点输出端口的pointonareoverlayer作为aClippee。
这里我们用区域多边形裁剪火车站点,因为我们希望每个车站都有一个区域属性。
附加一个AttributeManager到内部输出端口。通过在Output属性中编辑STATION,我们将使用它将STATION重命名为“STATION”。使用减号删除属性_overlaps和_clipped,因为我们将不再需要这些属性。
到目前为止,我们已经将火车站缩小到演示的范围内。我们有分类,我们想要与我们的站,称为区域ecategory。接下来,我们将使用aTestFilter。快速浏览一下data Inspector中的CSV和区域数据,我们可以看到,在7个可能的区域中,我们的火车站只属于3个区域:商业、开发和轻工业。我们将过滤掉这些,以便稍后可以对输出应用不同的样式。
如下表所示填写测试条件:
测试条件 | 输出端口 | |
如果 | ZoneCategory =商业 | 商业 |
其他的如果 | 综合开发 | 发展 |
其他的 | <所有其他条件> | 轻工 |
联系一个人KMLStyler到TestFilter的每个输出端口。我们将有3 KML文件夹:商业,综合开发,轻工业,当我们把我们的扇形向区域环保。这一步只是为了可视化,所以我们可以快速地区分这些点。在图标部分中将它们设置为您想要的任何图标或颜色。我选择使用图标gx_rail,而颜色则分别为黄、蓝、品赤。
请注意,TestFilter的每个输出都连接到一个单独的KMLStyler,以将它们分开,以便在谷歌Earth中快速可视化。
当写入KML时,选择特性类型CSV。接受默认值并在工作区中打开写入器参数。在用户属性选项卡中,添加两个新属性:
的名字 | 类型 | 宽度 |
站 | kml_char | 40 |
ZoneCategory | kml_char | 40 |
要设置特性类型fanout,请切换到特性类型参数中的Parameters选项卡。在“特性类型名称”的文本框中:键入或选择属性ZoneCategory。如果属性在下拉菜单中不可见,请检查添加到用户属性中的ZoneCategory属性是否与源MapInfo文件zone中的ZoneCategory属性的拼写和大小写匹配。对于要自动连接的属性,一定要注意区分大小写。
既然我们已经在ZoneCategory属性上设置了一个特性类型扇out,我们可以期望我们的火车站将按照它们的区域类别聚合到文件夹中。
特征类型扇形结果与谷歌地球观看。
成功!我们的火车站分为商业、综合开发、轻工业三个分区。因为我们设置了KMLStylers,所以为了可视化的目的,特性是按类别进行颜色编码的。
问:如果我不知道这些电台只属于这三个类别会怎么样?
答:如果我们没有提前检查数据检查器,以确定我们的站点只属于七种可能的区域类别中的三种,那么我们可以简单地将writer特性类型连接到Clipper的内部输出端口。这将给我们所有的站点在许多类别(因此,文件夹),因为他们落入。这是正确的!创建文件夹就这么简单!
在谷歌地球的输出,如果我们已经附上了与特征扇出后Clipper。请注意,因为要点只分成了三个类别,所以只写了3个文件夹,而不是7个。
这里使用的数据来源于由温哥华的城市不列颠哥伦比亚省。它包含在开放政府许可证下的信息-温哥华。
嗨@stewartharper,这是篇有用的文章,谢谢:)
我在KMZ上尝试了第二种方法。在我的观察中,看起来像kml_document属性设置为“医生”总是在编写KMZ文档时。KML和KMZ之间有故意的区别吗?另见附件:kmz-folder-tree-test.fmw
©2020安全亚搏在线软件公司法律