问题:

  1) 项目应用中要求将CAD规划成果合理的入库GIS SDE中,在建立一套比较规范的标准为前提下,如何“低技术、傻瓜式”实现规划数据更新管理、版本化是个迫切难题。

  2) CAD作为数据源,不同于其他直接以GIS作为数据源,有一个转换过程,转换存在语义、元数据、模式等相关方面问题,势必会造成数据一定程度的丢失、损坏,如何最低限度降低这种损坏同时合理的进行数据转换也是需要考虑的。

  3) 项目运用追求产品化,建立CS桌面模式的一对一还是建立BS网络模式的一对多,根本上还是以需求为指导,那么如何将转换过程是以桌面方式还是以服务方式进行尚需考虑。

分析:

FME作为转换利器,可直接写脚本,可直接写插件,可二次开发,可发布服务,所有都以FME Engine为核心,体现在FME Desktop和FME Server上。

1

FME Desktop开发有2种:FMEObjects和FMEPlugin,结构:

图1 FME Desktop软件结构

1)       FME Objects基本支持各种常用开发语言,开发的软件工具必须要在FME Runtime下才能运行,就是说要安装FME Desktop才能运行。

2)       FME Plugin可自定义扩展新的格式和转换器,如可开发自己一种扩展名为“.yzz”格式并设置对应的数据转换,开发函数类似于FME的上百种转换函数。

此形式开发需要开发人员需要一定的编程经验,而且也不是3-5天就可以做的出,根据不同应用对应着不同的目标结构,可能随时需要修改相关参数,难度大,任务重。

2

发布服务也分2类:FME Server和FME托管Amazon的云服务

     FME Server是用于网络的转换器,可以将开发的FME脚本发布称REST服务,为基于FME Workpace(模型)的调用。 使用FME Workbench建模并保存为模型文件,或者发布为一个基于Web的服务,应用系统对模型文件或服务的调用类似对一个管道进行操作,需要关心的只是输入和输出。

图2 FME建模实施过程

    此种只需开发人员协调,以实施人员为主体,当服务发布制定后,第三方人员根据服务进行在线数据转换、提取、下载,可实时进行数据同步更新。

FME云服务作为最新一种,以亚马逊为平台,提供PAAS,意指:将FMEServer部署在云环境中,其他措施和FMEServer一样,收费甚少。

解决探讨:

1)       FMEObject C#开发,基于单机扩展,可灵活控制转换过程与步骤,也可执行脚本转换,但开发周期长,灵活性较差,没有通用性。

2)       FMEPlugin,只支持C++和Java,扩展难度极大,但针对某个特定项扩展成功则类似于使用某种软件成品,一般无特殊要求不推荐。

3)       FME脚本发布服务,由开发人员或技术支持、实施人员进行脚本开发,制作待需特定脚本,将其发布到FMEServer中,客户只需输入输出即可,无需关心转换过程,要求授权FMEServer和熟练FME服务使用。(详细待续)

总结

CAD规划成果转换入库GIS SDE,小批量可由开发人员或实施人员进行手动转换,但随着应用展开和项目需求,有自动化软件工具有必然性。FME脚本制作一定程度上依赖对CAD数据的把握和目标数据的需求,同时对转换经验和熟练也有一定要求,合理的做到快捷、损坏少、便于管理,个人意见:开发人员根据规范开发FME脚本,对数据更新、管理、同步版本化进行相关测试,而后通过FMEServer发布脚本,在局域网或互联网公开服务地址,在应用不断积累中完善服务性能,客户最终使用服务完成数据转换。

    说明:总结分析仅供参考,详细设计以实际锻炼为主。

参考:

[1] FME2011帮助文档;

[2] 安图163官方博客

CAD规划成果入库GIS_SDE转换之分析的更多相关文章

  1. Logstash:Data转换,分析,提取,丰富及核心操作

    Logstash:Data转换,分析,提取,丰富及核心操作 Logstash plugins Logstash是一个非常容易进行扩张的框架.它可以对各种的数据进行分析处理.这依赖于目前提供的超过200 ...

  2. CAD图DWG解析WebGIS可视化技术分析总结

    背景 AutoCAD是国际上著名的二维和三维CAD设计软件,用于二维绘图.详细绘制.设计文档和基本三维设计.现已经成为国际上广为流行的绘图工具..dwg文件格式成为二维绘图的事实标准格式. 但由于Au ...

  3. Python 温度转换实例分析

    #TempConvert.py Tempstr=input('请输入要转换的温度值:') if Tempstr[-1] in ['C','c']: F=1.8*eval(Tempstr[0:-1])+ ...

  4. Python学习之温度转换实例分析篇

    #TempConvert.py Tempstr=input('请输入要转换的温度值:') if Tempstr[-1] in ['C','c']: F=1.8*eval(Tempstr[0:-1])+ ...

  5. python温度转换代码分析

    将用户输入的温度信息保存在TempStr变量中 if分支条件,判断TempStr类型是否在f及F列表之中 如果用户输入的在f及F列表之中,则用户输入的是一个华氏温度值,对华氏温度进行摄氏温度的转换,e ...

  6. FME之于规划CAD数据质量检测

    最近琢磨规划CAD数据转换入库GIS方面的技术问题,看过一些前辈的文章/文献,对于使用FME WorkBench方面,有了一些了解,往往直接转换数据丢失比较严重,而且GIS对图形属性和空间拓扑比较严格 ...

  7. FME规划数据GIS更新入库

    规划数据经过转换处理入库GIS,城市规划的特殊性,使得GIS里面数据经过分析处理后直接导出为CAD数据的话,肯定难以满足原来规划的要求,这个是硬伤.又要用GIS来进行空间分析处理统计,数据管理就必须了 ...

  8. cad快捷键与命令大全

    一入绘图深似海,从此各种快捷键就要不分昼夜在脑海,忘记了哪一个,对于效率来说都是一个考验. 快捷键用处怎么大,那么的实用,需要背诵哪些呢?史上最全快捷键汇总,大神都在使用快捷键操作,这里给你来一个大汇 ...

  9. 2019年ArcGIS规划专业专项培训(四天)

    2019年ArcGIS规划专业专项培训(四天) 商务合作,科技咨询,版权转让:向日葵,135-4855__4328,xiexiaokui#qq.com   第一天:GIS入门 第一章 GIS概述及其应 ...

随机推荐

  1. 虚拟机virtualBox设置共享文件后,linux配置

    1.在/mnt下创建共享目录 mkdir /mnt/share 2.关联外部目录 mount -t vboxsf 共享文件夹名 /mnt/share/ 如:mount -t vboxsf BaiduS ...

  2. Android菜鸟成长记8 -- 布局实践(微信界面的编写)

    前面我们简单的介绍了一下android的五大布局,那么现在我们来实践一下,写一个简单的微信界面 首先,我们新建一个weixin.xml的linnerlayout布局 我们日常使用的微信,从简单的方面来 ...

  3. spring mvc 4.3.2 + mybatis 3.4.1 + mysql 5.7.14 +shiro 幼儿园收费系统 之 动态组合条件查询

    实际应用中,系统设计无法预料到用户最终的查询条件是怎样的.通常的做法是给出一些限制死的查询条件让用户查询.业务稍有改动,就要重新设计界面,增加查询字段等,费时费力. 比较好的做法是,除了常用的查询外, ...

  4. photoshop cs5 key

    序列号: 1330-1164-2870-9234-4243-7879 1330-1027-8489-4513-0233-4890 1330-1176-2865-0373-1551-0175 1330- ...

  5. Android剪贴板操作----ClipboardManager

    andrid developers java.lang.Object ---android.text.ClipboardManager ------android.context.ClipboardM ...

  6. [题解]USACO 1.3 Wormholes

    Wormholes Farmer John's hobby of conducting high-energy physics experiments on weekends has backfire ...

  7. js分秒必争

    将函数和对象合写在一起时,函数就变成了“方法”(method): //当函数赋值给对象的属性,我们称之为 //方法.所有的JavaScript的对象都含有方法 var a=[];        //创 ...

  8. 关于本地缓存localStorage

    localStorage的优势 1.localStorage拓展了cookie的4K限制 2.localStorage会可以将第一次请求的数据直接存储到本地,这个相当于一个5M大小的针对于前端页面的数 ...

  9. vim 查看文件二进制格式

    用vim打开文件,vim -b file,选项-b是二进制模式打开   然后输入 :%!xxd,就可看到二进制编码     其实在linux下,直接输入xxd file 也是可以看到的文件二进制格式的

  10. java 多态2

    http://www.cnblogs.com/wqq0402/p/6180685.html package test05; public class DuoTai_Test02 { /**多个对象,一 ...