• FME实现CAD带属性转SHP数据方法


    FME实现CAD带属性转SHP数据方法

    已有数据:某地区标准分幅的dwg格式地形图,高程点所在图层为TER,几千幅,在同一个文件夹下。

    需求:从所有地形图中提取高程点图层,边转换为GIS格式。

    处理过程:

    1.数据查看。

    在FME Data Inspector软件中查看分幅cad数据,对高程点数进行查看。

    高程点数据在cad中样式如下:

    为一个空心圆圈,在FME中,表示为autocad_ellipse,autocad_hash两种图形类型,经过测试,只需要转换其中一个即可。

    另外,上述两种类型,转换到gis中为polygon,需要使用FME将面转换为点。

    高程点所在图层为 TER,cass中编码为 202101

    之前处理遇到的高程属性一般写在 autocad_elevation属性中,但是本数据集,很多该属性为null。后发现,高程写在height属性中

    上述属性会在接下来的提取中使用。

    2.数据处理与转换 FME Workbench

    1.添加Reader

    格式选择dwg格式,数据集选择右侧+号,

    在弹出的界面中选择需要添加到转换中的数据集,选择文件夹下所有的dwg文件即可。点击确定,

     

    在弹出的界面中选择图层 TER,其他图层取消选择。

    点击确定,Reader添加成功。

    2.暴漏dwg文件属性

    双击reader,在弹出的属性窗中选择 Format Attributes,检索中输入 extended,找到如下属性,勾选,即可暴漏该格式属性。

    按照同样的方式,勾选 autocad_elevation,autocad_entity,fme_attrib_info{}.height属性。

    点击OK,之前勾选的属性即可暴漏出来。此时reader如下图所示

    3.要素筛选

    由于TER图层中包含大量的地形要素,本次只需筛选出高程点要素即可。使用转换器Tester对数据进行筛选。

    (1)添加Tester转换器

    在工作台空白处输入test,弹出的下拉框中选择 Tester转换器,即可将转换器添加至工作台中。

    (2)配置连接

    (3)配置筛选条件

    双击Tester转换器,左侧选择 属性 autocad_extended_data{0}.string{0},

    Operator选择 =,

    Right Value设置为 202101

    点击确定,即可完成筛选器配置。

    4.面转点

    (1)添加 CenterPointReplacer转换器

    在空白处输入center,选择 CenterPointReplacer转换器。

    (2)配置连接

    注意,筛选器中选择Passed输入至面转点转换器

     

    5.添加writer

    菜单栏添加Writer,选择File Geodatabase,配置存储数据集位置。

    点击确定后,在Allowed Geometries属性中选择geodb_point

    在user attributes选项卡中添加如下属性

    点击确定即可添加。

    配置连接,最终如下图

     

    6.执行转换

    点击工具栏按钮 

    等待执行完成

     

     

     

     

     

     

     

  • 相关阅读:
    微服务微服务生态组件之Spring Cloud OpenFeign详解和源码分析
    创新案例分享 | 建设排污许可证后执法监管系统,完善当地生态环境数据资源
    [Dubbo3.0.8源码解析系列]-25-为调用器对象增加容错和过滤器等功能
    竞赛 深度学习+python+opencv实现动物识别 - 图像识别
    SQL 注入漏洞详解
    【Golang】发布Go package和import第三方包
    Makefile调试中信息打印
    ES6 class类关键字super
    08_selenium实战——学习平台公开数据批量获取
    AD知识总结
  • 原文地址:https://blog.csdn.net/u012685544/article/details/126054978