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

相关推荐
喵了几个咪1 小时前
GoWind CMS 拆解:在 Go 里给 TipTap 搭一套 Yjs 协同后端
开发语言·后端·golang
gc_22998 小时前
使用VS Code终端创建Vue项目报错:“npm : 无法加载文件 ...\npm.ps1,因为在此系统上禁止运行脚本”
vue·vs code
l1t9 小时前
测试用go语言执行脚本把数据保存到SQLite数据库
数据库·golang·sqlite
Agent世界12 小时前
千问Go上线我的应用:一句话生成可部署 AI 软件的技术拆解
开发语言·人工智能·golang·ai智能体
小阿鑫12 小时前
尤雨溪 : Vue 4 已经在规划中了!
vue·vite·vite+·程序员海军·vue4
念何架构之路13 小时前
Go reflect包值操作 Value 的读写、可设置性与 interface 布局
开发语言·后端·golang
紧跟先前的步伐15 小时前
Go AI Agent 实战 18|Tool Calling 的基本原理与完整执行流程
前端·数据库·人工智能·ai·golang·1024程序员节
紧跟先前的步伐15 小时前
Go AI Agent 实战 17|模型适配层设计:让模型可替换
开发语言·人工智能·后端·ai·golang
l1t16 小时前
DeepSeek辅助编写连接sqlite的CLI
数据库·golang·sqlite
计算机就业还在扩大16 小时前
第2期-cmp.Ordered+类型推断+刻意未支持的特性
后端·面试·golang