2021FME博客大赛 —— FME与“快递小哥”的故事

作者:黎贵明

 

一、摘要

基于FME读取地籍dwg数据,批量制作宗地图,辅助制作宗地信息二维码,批量将二维码贴入各自宗地图信息框内和总图宗地红线内。

(关键字:FME、批量、宗地图、二维码)

二、任务背景

不动产测绘目前如火如荼,特别是近年的“房地一体”业务,无数测绘工作者的全力奋斗中,而这一测绘过程,像极了快递小哥的快递工作,比如:1.测绘人员需要去挨家挨户收集权属资料(下单取件);2.测量人员需要将收集的资料整理录入,然后打印宗地图、房产图、地籍调查表等(打码贴标签、集散);3.公示、制证、打印、发证(运输派件)等等一系列工作流程,所以我借“快递小哥”这个专用名称来讲这个故事更为亲切。基于FME充当本次快递小哥,收件、批量制作宗地图,批量贴二维码标签,批量派件到每家每户。

三、基于FME的技术路线

技术路线:1、根据宗地编号、权利人、门牌号等注记,通过点面叠置分析,赋值到宗地面;2、取宗地面外接矩形框,根据长边和宗地图模板短边,计算出图比例尺;3、把宗地偏移到宗地图框中心位置,并关联比例尺属性;4、关联权利人信息表;5、计算宗地面积;6、宗地面根据比例尺缩放到宗地图框内;7、统计宗地数量;8、关联宗地数量,并克隆出相同数量的宗地图框;9、宗地和宗地图框关联;10、宗地标注赋值;11、输出宗地图;12、用于二维码生成的.py和用于贴二维码到宗地图的.bat文件生成;13、执行.py生成二维码图片,在Photoshop下调整二维码图片成统一尺寸大小;14、缩放并偏移二维码图片到右上角指定位置;15、输出带二维码的宗地图;16、获取权利人标注位置;17、关联宗地;18、缩放偏移到宗地内部;19、输出带二维码的地籍总图。

已有数据说明:

1)基础数据包括:地籍底图.dwg、权利人信息表.xlsx

 

备注:本文展示的所有权利人信息、位置等是计算机随机生成的虚拟信息,如有雷同纯属巧合。

2)参考数据:宗地图模板.dwg(模板比例尺为1:100)

 3)除FME外,还需使用到Python(包含qrcode包,用于辅助生成二维码图片),Photoshop(用于调整二维码图片成统一尺寸大小为400*400像素)。

 

1、下单取件

输入:地籍底图+宗地图模板+权利人信息表

输出:宗地图+ python生成二维码.py+ bat宗地图加二维码.bat

详细过程:

1)常规点面叠置分析PointOnAreaOverlayer,把注记信息挂接到宗地面;

 

2)本次模板的目的是把图套入到框内,还有一种是把框套入图外,区别在于谁是固定不变的,谁是需要缩放平移的,现采用的是框不变,图形缩放平移到空的宗地图模板中,宗地图模板的内容高、宽分别是18、20,左下角坐标是0,0如下图所示:

 

为了使图形不超出图框,而且为了美观性,离边框需要保持一点间距,所以采用了经验值12(12/18约0.67,接近黄金比例0.618)作为1:100的比例尺基数。

 

3)图形平移Offsetter到空的宗地图模板中,根据上一步骤,X、Y分别偏移自身中心坐标值,回到0,0原点,在分别加上图框宽、高的一半,即可平移到宗地图框中心位置;

 

 

4)关联FeatureMerger权利人,以为权利人身份证、手机号等信息记录在权利人信息表中,我们需要挂接信息到模板中;

5)计算宗地面积AreaCalculator,并StringFormatter(.2f)保留2位小数为了标注宗地图中的面积;

 

 

 

6)宗地面根据比例尺缩放Scaler到宗地图框内,本次模板不添加其他地形等要素,需要其他DLG图形也可以用同样的方法进行裁切、平移、缩放;

 

7)Counter编号,Aggregator聚合统计宗地数量;

8)关联宗地数量,并克隆Cloner出相同数量的宗地图框(因为每个宗地都需要套上一个图框,所以我这里采用的是克隆的方法,也可以采用bat等批处理方法逐个宗地分别运行,具体批处理方法参考下文介绍的【02打码贴标】);

 

9)宗地和宗地图框关联,上面的步骤7统计宗地的时候有赋值一个_count、8克隆的时候有赋值一个_copynum属性,他俩可以关联,把图框和宗地形成n份数据;

10)宗地标注赋值StringReplacer替换标注权利人等信息;

 

11)输出宗地图,采用扇出的模式,逐宗输出一个dwg文件;

 

12、用于二维码生成的.py和用于贴二维码到宗地图的.bat文件生成;

 

py属性设置如下(调用qrcode包,用于生成二维码,具体用法和下载参照https://pypi.org/search/?q=qrcode):

 

bat属性设置如下(用于下一步骤批量打码贴标):

得到以下两个文件,分别根据以下方法,制作统一规格大小的二维码图片,便于后续使用FME批量贴图到宗地上:

在python环境下(左边)执行,得到二维码图片(右侧)

 

在Photoshop环境下执行,得到分辨率为400pix的二维码图片(参考https://jingyan.baidu.com/article/ff411625b1b91a12e482370c.html

附:动作文件文件在…/py生成二维码路径下

 


用于执行【02打码贴标.fmw】批处理,详见下文分享。

 

 

2、打码贴标

输入:二维码图片+宗地图

输出:带二维码的宗地图

详细过程:

1)使用StringSearcher正则表达式,根据比例尺注记获取比例尺信息;

 

 

2)使用Aggregator聚合宗地图,BoundingBoxReplacer取外接矩形框,CoordinateExtractor获取内部中心点坐标;

3)用FeatureMerger使二维码关联宗地图信息(根据fme_basename关联)

 

4)因为二维码图片直接1:1贴入dwg中,尺寸不合适,所以用Scaler进行缩放到适合大小(这里是固定值缩放,因为本次模板操作的是图框固定不变,若宗地图是根据图形缩放图框的,则采用对应比例尺缩放和偏移),再用Offsetter平移到宗地图右上角指定位置;

5)输出带二维码的宗地图;

 

备注:以上模板不需要单独执行,双击运行<…/宗地图加二维码>路径下的<bat宗地图加二维码.bat>执行,即可进行批处理,得到带二维码的宗地图成果如下:

3、运输派件

输入:二维码图片+地籍底图

输出:带二维码的地籍总图

详细过程:

 

1)CoordinateExtractor获取权利人标注位置,因为我想把二维码图片放在权利人正北位置,实际可根据需要调整到任意位置;

 

2)根据宗地号FeatureMerger关联权利人坐标给二维码图片;

3)Scaler缩放调整二维码大小,Offsetter偏移到权利人正北位置;

4)输出带二维码的地籍总图。

 

得到带二维码的地籍总图效果如下:

 

四、效果与成效

1、下单取件,使用FME读取dwg和Excel表格,使用点面叠置分析,快速关联信息,类似寄件人下单后,快递小哥挨家挨户收集快递,并整理好信息,这个步骤的关键在于收完快递之后,批量打包成一个个的包裹(宗地图),还有为下一步骤做准备,一同生成<二维码生成的.py>和<bat宗地图加二维码.bat>两个关键文件;

2、打码贴标,使用bat批处理执行.fmw模板,极大的优化和提高了运行效率,快速把对应的标签贴到了包裹(宗地图)上;

3、运输派件,使用FME做空间分析,并做缩放和平移,就像快递秒存进驿站快递箱,又如迅速派件到指定收件地点,达到事半功倍的效果。

五、技术创新性、应用创新性以及不足

本次二维码是通过FME编程,形成一个.py文件,但美中不足是在Python执行的,这个可以优化到PythonCaller,然后二维码本来是想采用黑白的,但是FME无法读取或者读取成一片黑,所以最终采用了红色白底,等待高手指导优化,二维码图片还使用了Photoshop进行图片尺寸调整,FME应该也可以做到,或者可以直接读取图片分辨率,再Scaler缩放到适合大小,但是这个缩放比例我还没有找到计算方法或公式。故事到这里,又回到快递小哥,打码贴标我认为是本模板的创新性应用,只要二维码打上了,就如快递般,可以查询,亦可修改收件人地址,收件人电话,反正这个年代就是一码在手,天下我有,感谢FME。

六、行业推广应用价值

在“房地一体”或其他不动产业务中,往往需要打印不动产公示图和公示表,公示图通常又存放不下大量属性信息,打印过多的公示表也会造成纸张浪费,环境污染,故可以采用FME批量生成带二维码的公示图表,只需要占据很小的位置,就能储存大量的信息,不仅限于文本,还可以是图片,表格,文档,三维模型,位置信息,超链接,而超链接又可以扩展到网页,系统平台等等,比如网页,可以把公示信息用网页展示给权利人核对,信息有误或者存疑,可以直接通过网页发起反馈,这样一来,权利人反馈信息后,后台可以直接修改更新数据,短信或其他方式通知权利人再次在线公示确认,然后后端可以根据公示时间控制,公示结束后停止该网页,这个的前提是没有考虑盖章,如需盖章也可以采用电子公章,或者安全的加密方式,另一种是二维码链接到客户端、系统平台(如FMEserver),我们可以设置不同权限登陆方式,查看甚至编辑信息,同步更新,动态展示。再次感谢FME!

  • 6
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值