基于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语言的小伙伴加入我们的团队完成该产品的开发。

相关推荐
源代码•宸15 分钟前
Leetcode—3314. 构造最小位运算数组 I【简单】
开发语言·后端·算法·leetcode·面试·golang·位运算
无心水1 小时前
1、Go语言工作区和GOPATH实战指南:从项目初始化到部署
开发语言·后端·架构·golang·go·gopath·go mod init
w***76551 小时前
PHP vs Go:动态与静态语言的巅峰对决
开发语言·golang·php
Allen_LVyingbo1 小时前
构建医疗AI数据集建设平台:Go语言工程方案详解
开发语言·人工智能·自然语言处理·golang·知识图谱·健康医疗
wanzhong23332 小时前
开发日记13-响应式变量
开发语言·前端·javascript·vue
wanzhong23332 小时前
开发日记14-vite配置多环境
服务器·前端·vue
浮尘笔记11 小时前
Go语言临时对象池:sync.Pool的原理与使用
开发语言·后端·golang
刘一说12 小时前
Vue3 组合式 API(Composition API):逻辑复用的革命性实践
vue.js·vue
Clarence Liu15 小时前
AI Agent开发(2) - 深入解析 A2A 协议与 Go 实战指南
开发语言·人工智能·golang
天天打码20 小时前
Svelte-无虚拟DOM、极致性能的现代高性能Web开发框架!
前端·node.js·vue·svelte