CAD规划成果入库GIS_SDE转换之分析
问题:
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转换之分析的更多相关文章
- Logstash:Data转换,分析,提取,丰富及核心操作
Logstash:Data转换,分析,提取,丰富及核心操作 Logstash plugins Logstash是一个非常容易进行扩张的框架.它可以对各种的数据进行分析处理.这依赖于目前提供的超过200 ...
- CAD图DWG解析WebGIS可视化技术分析总结
背景 AutoCAD是国际上著名的二维和三维CAD设计软件,用于二维绘图.详细绘制.设计文档和基本三维设计.现已经成为国际上广为流行的绘图工具..dwg文件格式成为二维绘图的事实标准格式. 但由于Au ...
- Python 温度转换实例分析
#TempConvert.py Tempstr=input('请输入要转换的温度值:') if Tempstr[-1] in ['C','c']: F=1.8*eval(Tempstr[0:-1])+ ...
- Python学习之温度转换实例分析篇
#TempConvert.py Tempstr=input('请输入要转换的温度值:') if Tempstr[-1] in ['C','c']: F=1.8*eval(Tempstr[0:-1])+ ...
- python温度转换代码分析
将用户输入的温度信息保存在TempStr变量中 if分支条件,判断TempStr类型是否在f及F列表之中 如果用户输入的在f及F列表之中,则用户输入的是一个华氏温度值,对华氏温度进行摄氏温度的转换,e ...
- FME之于规划CAD数据质量检测
最近琢磨规划CAD数据转换入库GIS方面的技术问题,看过一些前辈的文章/文献,对于使用FME WorkBench方面,有了一些了解,往往直接转换数据丢失比较严重,而且GIS对图形属性和空间拓扑比较严格 ...
- FME规划数据GIS更新入库
规划数据经过转换处理入库GIS,城市规划的特殊性,使得GIS里面数据经过分析处理后直接导出为CAD数据的话,肯定难以满足原来规划的要求,这个是硬伤.又要用GIS来进行空间分析处理统计,数据管理就必须了 ...
- cad快捷键与命令大全
一入绘图深似海,从此各种快捷键就要不分昼夜在脑海,忘记了哪一个,对于效率来说都是一个考验. 快捷键用处怎么大,那么的实用,需要背诵哪些呢?史上最全快捷键汇总,大神都在使用快捷键操作,这里给你来一个大汇 ...
- 2019年ArcGIS规划专业专项培训(四天)
2019年ArcGIS规划专业专项培训(四天) 商务合作,科技咨询,版权转让:向日葵,135-4855__4328,xiexiaokui#qq.com 第一天:GIS入门 第一章 GIS概述及其应 ...
随机推荐
- python之路-Day10
操作系统发展史介绍 进程.与线程区别 python GIL全局解释器锁 线程 语法 join 线程锁之Lock\Rlock\信号量 将线程变为守护进程 Event事件 queue队列 生产者消费者模型 ...
- Android_AsyncTask异步任务机制
今天我们学习了 AsyncTack, 这是一个异步任务. 那么这个异步任务可以干什么呢? 因为只有UI线程,即主线程可以对控件进行更新操作.好处是保证UI稳定性,避免多线程对UI同时操作. 同时要把耗 ...
- .net 实现上传文件分割,断点续传上传文件
一 介绍 断点续传搜索大部分都是下载的断点续传,涉及到HTTP协议1.1的Range和Content-Range头. 来个简单的介绍 所谓断点续传,也就是要从文件已经下载的地方开始继续下载.在以前版本 ...
- mysql 存储过程 游标 判断游标是否为空
BEGIN DECLARE id long; DECLARE Done INT DEFAULT 0; DECLARE cashamount DECIMAL(10,2) DEFAULT 0.00; DE ...
- 查linux端口连接情况用命令netstat
查linux端口连接情况用命令netstat netstat -apn |grep cdnbest 或netstat –apn | grep 3320
- UML类图画法及其之间的几种关系(转)
UML类图画法及其之间的几种关系 最近做重构项目,需要画一下类图,发现类图的画法及其之间的几种关系已经淡忘了很多,所以整理总结一下,有问题的地方大家可以一起讨论下. 文章目录如下: 类图画法 类之间的 ...
- sql遍历
DECLARE @BTime DATETIME,@ETime DATETIME;DECLARE @Temp TABLE (ID BIGINT IDENTITY(1,1),aid BIGINT,newc ...
- as3自定义事件
package EventPackage { import flash.events.Event; /** * * @author tqr <br /> * 创建时间:2015-2-6 下 ...
- hdu 1251 统计难题 (字典树入门题)
/******************************************************* 题目: 统计难题 (hdu 1251) 链接: http://acm.hdu.edu. ...
- sql删除前导和后缀
1.patindex用法 patindex('%pattern%', expression) pattern--> 正则表达式,需要匹配的前导内容,可以进通配: expression--> ...