黄文强-FME在二维视图下建筑物拔高的应用.pdfVIP

黄文强-FME在二维视图下建筑物拔高的应用.pdf

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
FME 在二维视图下面要素拔高的应用 摘要 本次实验的目的是基于简单面要素在FME 中实现二维视图下的拔高。基本思 路是通过在平面横纵坐标上的平移,得到构建2.5D 面要素的侧面线、底面线及 顶面线要素。侧面线通过提取面折点并对这些折点编号后平移折点,连接相同编 号的折点,从而得到侧面线。底面线通过对角线与多边形边的相交关系,对相交 线打断并筛选出多边形边从而得到底面线。顶面线则由底面线平移得到。最后以 侧面线、底面线及顶面线构建2.5D 面。 1 实验及数据简介 1.1 实验简介 在本实验前,我接触了一个电子地图制图类的项目。用户向开发者提出了对 场景内建筑物进行拔高的要求,并要求数据量小、显示速度快。开发者基于用户 的要求对建筑物进行了简易的2.5D 拔高,而非通过三维场景中搭建三维模型来 实现,既满足了建筑物的三维即视感也满足数据量小、显示速度快的要求。作为 FME 爱好者,我设想了如何在FME 实现上述功能,以下是对于本实验的介绍与 解释。 1.2 数据简介 为了使实验过程简洁,只需要准备数个面要素即可(可直接在ArcGIS 中随 机绘制面要素)。 2 程序设计及实施 2.1 程序设计 1)将准备的面要素作为底面,根据底面的折点生成点要素。 2 )将上述的点要素在水平方向及竖直方向各平移一定的距离,将平移后点要 素与原点要素两两连线,构成侧面线。 3 )将准备的面要素根据折点生成线要素并在水平方向及竖直方向各平移一定 的距离,生成底面线要素和顶面线要素。 4 )根据侧面线要素、底面线要素及顶面线要素构面,生成2.5D 的面要素。 2.2 程序实施 2.2.1 面要素折点转点 将面要素折点转为点要素,首先需要得到面要素所有折点的坐标信息,再将 坐标信息转为点要素,从而得到面的各个折点。 1)获取面要素上所有点的坐标: 使用转换器CoordinateConcatenator,由于程序只在平面上执行,故只获取X 坐标与Y 坐标。如图2-1 是该转换器的基本设置。 图2-1 通过转换器CoordinateConcatenator 得到了面要素所有折点的坐标,但是坐标 是以 “,”分割X 坐标与Y 坐标,以“|”分割不同点之间的坐标,储存在同一 字段下(字段名为_coordinates ),故需要将该字段裂开并且将X 坐标,Y 坐标分 别储存到不同字段中。 图2-2 2 )将不同点的坐标裂开: 裂开属性使用转换器AttributeSplitter 。裂开后的不同坐标仅是存储在FME 列 表(列表名为_list )中,为了方便后续操作,应将列表中“_list ”中的坐标信息 暴露出。暴露属性用转换器ListExploder 。 图2-3 图2-4 在“_list ”列表中,面要素的点坐标信息以“_list{1} ”、“_list{2} ”等分别储 存,而暴露出列表信息的要素中名为“_element_index ”的字段正是“_list{0} ”、 “_list{1} ”中的0、1,可理解为同一面的折点的编号。 在暴露出“_list ”列表后,生成了一些新要素,该新要素中储存有面的各个 折点的坐标信息,则该新要素可视为每个折点与其原始面要素的复合要素。对这 些要素编号,可视为对各折点编号,编号使用转换器Counter,起始编号设为1。 3 )将相同点的X 、Y 坐标裂开: 与2 )中裂开不同点的坐标的思路相似,但分割符号应设置为“,”。得到的 X 、Y 坐标分别储存到新列表中,列表名为别为“_list1{0} ”、“_list1{1} ”。那么, 经过“_list1 ”列表暴露后生成的新要素中“_element_index ”为0 的是带有X 坐 标信息的要素,“_element_index ”为1 的是是带有Y 坐标信息的要素。 图2-5

您可能关注的文档

文档评论(0)

弓长張 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档