OpenTCS客户端开发之Web客户端(一)

news2024/11/15 12:28:58

        越来越多人私信我关于OpenTCS的问题。可以感觉到很多人对OpenTCS的研究的人多了很多,很好。这些问题很多是关于算法方面的,也有一部分是关于UI方面的,毕竟OpenTCS本质上是一个算法项目,但是如果希望把它进行商业化,那免不了需要UI,然而OpenTCS的UI是使用Swing做的,比较古老的框架,而且说实话,个人觉得java也不太适合做桌面客户端。

        从本文开发,我会陆续记录一些关于开发OpenTCS客户端的一些文字以便给需要帮助的人。

        OpenTCS客户端如下:

       

         上面客户端其实做算法测试时比较好的,我也经常用,不过要交给用户用恐怕就有点为难了。

        这里抛开后端不说,推荐一种做法,使用OpenTCS Kernel + WebAPI + HTML5 开发一套后端用OpenTCS,前端用HTML5的完美架构。

给下此方案的效果:

在线监控vehicle的运行和路由

纯Web客户端建模

 

这里说下技术的实现,给大家作为参考:

1、前端推荐使用VUE框架进行开发。

2、Kernel部分需要定制下WebAPI,因为如果要做完整的话,现有的API是不够的。

3、关于建模,这部分可以说是最复杂的,这里推荐使用HTML5的Canvs进行图形的建模,也可以使用一些比较好的框架。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1816.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【微服务】服务拆分和远程调用

2.1 服务拆分原则 这里总结了微服务拆分时的几个原则: 不同微服务,不要重复开发相同业务微服务数据独立,不要访问其它微服务的数据库微服务可以将自己的业务暴露为接口,供其它微服务调用 2.2 服务拆分示例 以微服务cloud-demo为…

第三节:运算符【java】

目录 🎒运算符 📃1. 什么是运算符 📗2. 算术运算符 2.1 基本四则运算符:加减乘除模( - * / %) 2.2 增量运算符 - * % 2.3 自增/自减运算符 -- 📙3. 关系运算符 📕4.逻辑运算符(重点) 4.1 逻辑与…

隔离出来的“陋室铭”

被隔离了 日常锻炼身体就是去公司旁边的酒店游泳,结果酒店里除了小阳人,我就喜提次密称号,7天隔离走起;又因为不想耽误家里孩子上学,老人外出,就选择了单独隔离,结果就拉到了单独的隔离点&…

精通Git(三)——Git分支机制

文章目录前言分支机制简述创建分支切换分支基本的分支与合并操作基本的分支操作基本的合并操作基本的合并冲突处理分支管理与分支有关的工作流长期分支主题分支远程分支推送跟踪分支拉取删除远程分支变基基本的变基操作变基操作的潜在危害只在需要的时候执行变基操作变基操作与…

C++——vector容器的基本使用和模拟实现

1、vector的介绍 vector是表示可变大小数组的序列容器。 就像数组一样,vector也采用的连续存储空间来存储元素。也就是意味着可以采用下标对vector的元素 进行访问,和数组一样高效。但是又不像数组,它的大小是可以动态改变的,而且…

【动手学深度学习PyTorch版】18 使用块的网络 VGG

上一篇请移步【动手学深度学习PyTorch版】17 深度卷积神经网络 AlexNet_水w的博客-CSDN博客 目录 一、使用块的网络 VGG 1.1 AlexNet--->VGG ◼ VGG网络简介 1.2 VGG架构 1.3 总结 二、VGG网络的代码实现 2.1 VGG网络(使用自定义) 一、使用块的…

软件测试基本概念

目录本章要点什么是软件测试?软件测试的特定?软件测试和开发的区别?软件测试和软件开发中的调试有什么区别?软件测试在不同公司的定位?一个优秀的测试人员应该具备的素质(你为啥要选择测试开发)需求是衡量软件测试的依据从软件测试人员角度看需求为啥需求对软件测试人员如…

SpringBoot 面试题总结 (JavaGuide)

SpringBoot 面试题总结 (JavaGuide) 用 JavaGuide 复习 SpringBoot 时,找到一些面试题,没有答案,自己花了一天时间在网上找资料总结了一些,有些答案的来源比较杂忘了没有标注,望见谅。 1. 简单…

Visual Studio 2022开发Arduino详述

目录: 一、概述 二、软件的下载与安装 1、前言 2、Visual Studio 2022的下载与安装 3、Visual Micro扩展插件的导入 4、Visual Micro的使用 1)安装修改插件 2)搜索 : Visual.Micro.Processing.Sketch.dll 3)打开Visual.…

【Linux学习】基础IO

目录前言一、C语言文件IO1. C语言文件接口以及打开方式2. 对当前路径的理解3. 默认打开的三个流二、 系统文件IO1. 系统接口openwritereadclose系统接口和库函数2. 文件描述符及其分配规则文件描述符文件描述符分配原则3. 重定向及dup2系统调用重定向标准输出和标准错误的区别d…

Linux XWindow的安装和配置

1.开始安装XWindow必须需要的组件 输入指令:yum groupinstall "X Window System" yum groupinstall "X Window System" 选择y继续安装。 当看到complete表示已经安装成功了。 输入startx测试一下 看到如上界面就证明你的XWindow安装成功了。 2…

Python数据分析(3):pandas

文章目录二. pandas入门2.1 数据结构2.1.1 Series对象2.1.2 DataFrame对象2.2 读取数据2.2.1 读取Excel:read_excel()1. 读取特定工作簿:sheet_name2. 指定列标签:header3. 指定行标签:index_col4. 读取指定列:usecols…

TypeScript接口——interface

目录 一、接口概述: 二、接口类型介绍: 1、属性接口: 2、 函数接口: 3、可索引接口: (1)可索引接口约束数组示例: (2) 可索引接口约束对象示例&#xf…

【Python】numpy矩阵运算大全

文章目录前言0 遇事不决,先查官网,查着查着就查熟了1 矩阵运算及其必要性2 矩阵的创建2.1 普通矩阵2.2 特殊矩阵3 矩阵的索引3.1 str, list, tupple的索引3.2 numpy索引4 矩阵的运算4.1 通用函数与广播机制4.3 矩阵乘法4.4 矩阵求逆4.5 矩阵转置4.6 向量…

SpringBoot整合mybatis-plus 实现增删改查和分页查询

SpringBoot整合mybatis-plus 实现增删改查和分页查询整体的运行图片:一、环境搭建:1、依赖2、application.yml文件3、数据库二、实体类:三、数据层开发——基础CRUD四、业务层开发——分页功能制作4.1分页配置类 configuration4.2service接口…

【Node.js】模块化学习

Node.js教学 专栏 从头开始学习 目录 模块化的基本概念 什么是模块化 现实中的模块化 编程领域中的模块化 模块化规范 Node.js中的模块化 Node.js中模块的分类 加载模块 Node.js中的模块作用域 什么是模块作用域 模块作用域好处 向外共享模块作用域中的成员 module对象 modu…

第二站:分支与循环(终幕)一些经典的题目

目录 一、计算n的阶乘 1.一般解法 2.优化不能表示出较大数的阶乘 二、 计算 1!2!3!……10! 1.循环嵌套解法 2.一次循环解法(优化计算时间) 三、在一个有序数组中查找具体的某个数字n 1.遍历查找 2.二分查找算法(优化了查找时间) 四、编写代码&am…

IDEA Out of memory 问题

文章目录1. 前提2. 问题记录与解决方案1. 前提 阅读本文之前,读者要首先把 Out of memory 这个问题的解决方案多搜几个帖子,先按照其他帖子的解决方案(修改配置文件Xmx属性等)尝试一遍,不能解决再参考本文。 本文所描…

前端小游戏——植物大战僵尸

给大家分享一个植物大战僵尸网页游戏源代码,感兴趣的小伙伴可收藏学习 👉完整源码 文章目录⌛️效果展示⌛️游戏介绍⌛️游戏内容(1)冒险模式(2)小游戏⌛️图片资源⌛️代码展示(1)…

【黑猩猩算法】基于加权反对技术和贪婪搜索进化黑猩猩优化算法求解多模态工程问题附matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。 🍎个人主页:Matlab科研工作室 🍊个人信条:格物致知。 更多Matlab仿真内容点击👇 智能优化算法 …