练习5 | 处理意外输入 |
数据 | 城市公园(地图信息选项卡) 步行道(csv) 喷泉(文件地理数据库) 停车场(开放式街道地图) 道路(开放式街道地图) |
总体目标 | 创建一组用于映射娱乐活动的数据 |
演示 | 处理意外输入 |
启动工作区 | C:\fmedata2016\workspaces\desktopbasic\components-ex5-begin.fmw |
结束工作区 | C:\fmedata2016\workspaces\desktopbasic\components-ex5-complete.fmw |
让我们继续你的筹款步行项目的工作。
在项目的这一部分中,我们将查看我们收到的意外输入警告是否是我们需要关注的问题。
1)启动工作台
启动Workbench(如果需要)并从练习4中打开工作区。或者,您可以打开c:\fmedata2016\workspaces\desktopbasic\components-ex5-begin.fmw。
2)运行工作区
运行工作区(如果以前没有),提醒自己弹出的警告对话框。
3)考虑便利设施数据
让我们看看便利设施数据集。我们读这个是为了让一组停车场进入工作区。停车场是我们唯一需要的功能类型。例如,我们不需要医院或学校出现在我们的数据中。
因此,可以安全地忽略意外的输入对话框。亚搏在线关于缺少功能类型的警告只适用于我们不需要的数据层。
4)考虑道路数据
就像便利设施一样,我们想从公路数据集中读取的唯一功能类型是公路主要功能。我们可以安全地忽略的其他特性类型。亚搏在线除了……
瓷砖由地图查询
…我只能在地图上看到一个单一的道路特征。没有路标告诉我们如何去停车场。这些必须是不同的功能类型。事实上,如果我检查源数据(如果您愿意,也可以检查),我会看到调用了我需要的两种特性类型公路主要连接线和公路未分类-这两个都被报告为意外输入:
因此,意外的输入对话框告诉我们需要修复的有用信息。
5)修路
我们先修好非保密道路。如上所述,如果工作区中缺少必需的源功能类型,最简单的方法是添加它。我们可以使用导入特征类型工具来实现这一点。
所以,从菜单栏中选择“读卡器>导入要素类型”。提示时,选择要添加到的高速公路读卡器,然后定义要从中读取的高速公路数据集:
读卡器格式 | OpenStreetmap(OSM)XML |
读卡器数据集 | C:\fmedata2016\data\openstreetmap\highway.osm |
读卡器参数 | 特征类型:使用特定特征 |
最后,当提示时,取消选择数据集中除公路未分类.将添加功能类型,并可以这样连接:
5)固定主链接
现在让我们修复主要连接(这些是连接主要道路和非机密道路的短道路)。我们可以使用相同的导入工具添加特征类型,但让我们换一种方式试试。
单击齿轮按钮打开主要公路特征类型。您将看到“常规”选项卡的一个部分被标记为“合并要素类型”。
单击“合并要素类型切换”设置将其打开:
好啊。默认情况下,合并筛选器设置为允许所有内容进入。这是一种将所有数据从单个数据集读取到单个功能类型的好方法。如果现在运行工作区,您将看到我们从“道路”数据集中读取了所有数据(未分类道路除外,它们有自己的特性类型)。
瓷砖由地图查询
这显然不是我们需要的(尽管注意,现在在意外的输入对话框中没有显示任何公路功能)。所以我们必须更加微妙。在合并筛选器设置中,将筛选器类型更改为正则表达式。将合并筛选器更改为:
^主要公路*
基本上,这将允许功能类型仅在以“highway_primary”开头时通过。结果如下:
瓷砖由地图查询
万岁!现在我们有了要进入工作区的数据。现在可以忽略任何其他意外输入的报告。
6)接钳
你可能已经注意到OSM数据覆盖了整个城市,再次,我们只想要那些覆盖活动正在进行的公园的。因此,将reproject:reprojected端口连接到现有的clipper:clippe端口:
运行工作区以证明输出正确。我们现在已经完成了这个项目的阅读部分!
祝贺你 |
通过完成本练习,您已经学习了如何:
|