用纯fme批量生成界址点成果表(模板格式全部自拟)

前言:今日悟空分享一期fme干货教程,用fme来从地籍图上面提取宗地、界址等各种信息并批量导出为界址点成果表,其中涉及了cass数据的基础转换分析、Excel表格的高阶处理等核心技术、以及fme的几个底层逻辑。还希望各位小伙伴能不惜自己的关注和点赞。

一、需求分析

首先我们需要从cass图中提取宗地线,然后获取界址信息、边长信息 、宗地面积、自然幢面积等信息。然后拟定一个界址成果表的模板,将信息通过模板导出为界址点成果表。当然这些在南方cass中有自带的界址点成果表生成工具,但是一旦涉及到界址点成果表模板微调,南方cass就不能支持了。比如下表头内的信息需要替换的时候,南方cass就不能满足我们的需求了。

 二、难点分析以及解决方案

1、表头信息如何像邮件合并一样完成替换

这里需要用到一个核心的转换器featurereader,将模板用reader进来,通过合并发起者信息。将要素数据和模板数据信息合并。

 可以看到自然幢面积等信息全部已经挂接到一个表上面。

 然后我们只需要用StringReplacer转换器,将前面的设置的特征字符替换成字段属性,然后导出表

格的时候,将模板设置进去,就完成了第一个难点的突破。

 2、界址信息抓取

这个就是涉及到对cass属性结构的认识了,一般宗地线都在jzd图层,里面扩展属性储存在autocad_extended_data_list{}中,我们只需要将扩展属性暴露出来,就可以获取到里面的宗地权利人等信息了。然后就是界址点信息提取,这里我们需要将界址点打散,获取坐标信息,并按宗地代码计数,然后统计获得界址点号最大的那个,然后将最大的号设置为j1。

 这样就成功抓取到了界址信息

 3、合并单元格处理

通过对界址点成果表模板的分析,我们可以知道fme对于合并单元格,是将合并单元格打散并赋值相同内容的信息,那么将数据导入进合并单元格也只需要提取将数据克隆出来,就能实现合并单元格的导入了。所以我们需要用到clone转换器

 

 将我们需要导入的信息复制为双份 ,然后再写模块设置好模板和扇出。就能够实现,邮件合并和字段信息导入两个功能。

这里附上fme模板全貌,因为特殊需求增加了几个功能,比如图斑号相同但是有多条宗地线的情况,我加了个自动编码功能。这里就没做详细阐述。

 三、效果展示

 

 总结

这套模板的价值不在于解决了界址点成果表输出的问题,而是解决了批量制作Excel复杂表格的问题,成果解决了合并单元格,扇出,动态数据导入等问题,需要该套模板的小伙伴可以私聊我获取,当然不是免费,还望理解。其实还可以用python+fme来做,这是我这边觉得fme已经几乎能满足Excel的全部需求了,并且维护起来也比代码方便,所以就不是很推荐用python来做。

  • 15
    点赞
  • 40
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
FME是一款功能强大的地理信息系统(GIS)数据转化和处理软件。如果我们想要生成界址坐标,我们可以利用FME的功能来实现。 首先,我们需要准备包含有界址信息的数据源。这可以是一个包含界址坐标的 shapefile 文件,或者是一个数据库的数据。在FME,我们可以直接导入这些数据源。 接下来,我们可以使用FME的转换器和转换功能来生成界址坐标。转换器是FME用来处理数据的工具,可以对数据进行过滤、裁剪、转换等操作。 我们可以使用一个FeatureReader转换器来读取界址数据,然后使用一个FeatureWriter转换器来写入生成界址坐标。可以选择合适的输出格式,例如CSV文件或者Excel格,以便后续使用。 在生成界址坐标时,我们可以根据需要对数据进行筛选和处理。例如,我们可以根据特定的属性或者空间条件来选择只包含特定类型的界址,或者只包含特定区域内的界址。 最后,我们可以运行FME工作空间,将数据源界址信息转换成坐标FME会根据我们的设置和转换操作,将数据转化并输出到指定的文件或数据库。 总结来说,通过FME生成界址坐标可以实现对界址数据的筛选、转换和输出,为后续的地理信息数据处理提供了便利。使用FME强大的功能和灵活的转换器,我们可以根据实际需求生成符合要求的界址坐标
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

努力的悟空

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值