基于FME二开产品:NewGIS integration介绍

目录

前言

一、模板上传

二、模板在线运行

1.模板参数解析

2.模板运行

三、成果管理

总结


前言

爆肝两个月,我和我的团队终于打造出了一款能完美适配所有FME模板的在线模板管理平台,目前支持FME2021版本的所有模板的在线运行、管理。整体技术框架前端Vue ,后端Go语言实现。


一、模板上传

整体界面如下

点击上传按钮,弹出上传表单

有些模板是有config依赖的,上传的时候将config和fmw打包在同一压缩包上传即可,后端会根据情况自动解压并配置config。

二、模板在线运行

1.模板参数解析

点击运行按钮,后端会根据上传的FMW,解析其运行参数,并过滤私有参数,映射成前端的动态表单。忽略所有写模块,写模块由后端统一配置,后端会将写模块将所有写出的内容打包成zip提供下载。需要注意的是为保证shp,gdb等碎文件数据的完整性,统一要求上传为zip,rar压缩包格式。

2.模板运行

模板是通过Go语言底层接入FMEAPI实现,对比BAT调用的方法耦合性更高,启动速度更快,并且能动态获取模板运行情况。并发通过Go语言的channel和goroutine实现,因为go语言天生自带高并发以及其本身优越的性能,后端能实现百万级的任务管理。

模板运行分为3个状态,分别为:队列中,运行中,已完成。运行完成后点击成果预览。

完成后状态更新,同时下载按钮可用,如果部分模板没有写模块参数,则下载按钮为不可用。

三、成果管理

可以在模板外部查看该模板是否有任务在运行,每使用一次模板,则运行次数+1

点击下载按钮,自动下载zip成果包


总结

基于fmedesktop2021.2版本开发,目前只是一个雏形,后期会增加在线网络接口配置,将模板配置为web后端接口,并增加权限管理功能,统计分析功能等。欢迎精通FME,又精通go语言的小伙伴加入我们的团队完成该产品的开发。

相关推荐
OxyTheCrack3 小时前
【Golang】简述make与new内置函数以及两者的区别
开发语言·golang
会编程的土豆6 小时前
Go 方法接收者超清晰笔记(类型名 vs 变量名)
开发语言·笔记·golang
程序员卷卷狗8 小时前
Java转Go面试速记:Go基础22问,一篇理清高频易错点一篇理清高频易错点
java·面试·golang
会编程的土豆9 小时前
Go interface 底层的 itab 到底是什么
开发语言·后端·golang
non-action_pilgrim13 小时前
Go 高并发踩坑:关于在 for 循环里使用 time.After 后所进行的问题分析
golang
Yang961114 小时前
0.5 米超短盲区!鼎讯信通 GO-50PRO 光时域反射仪科普
开发语言·后端·golang
Reisentyan15 小时前
[Pro]GoLang Learn Data Day 5
开发语言·后端·golang
geovindu16 小时前
go: Bounded Parallelism Pattern
开发语言·后端·设计模式·golang·有界并行模式
小羊在睡觉1 天前
力扣84. 柱状图中最大的矩形
后端·算法·leetcode·golang·go
Curvatureflight1 天前
前端国际化 i18n 落地实践:语言包、动态文案和格式化问题怎么处理?
前端·c++·vue