Discover Packages
github.com/miosolo/anz-readygo
command
module
Version:
v0.0.0-...-de5a73f
Opens a new window with list of versions in this module.
Published: Jul 25, 2020
License: GPL-3.0
Opens a new window with license information.
Imports: 8
Opens a new window with list of imports.
Imported by: 0
Opens a new window with list of known importers.
README
README
¶
readygo (archive)
This repo is an archive for Ready GO Project 2019 (ANZ summer intern prerequisites)
Note that, all the links in this README page is broken now
Golang 学习笔记:请参见 Golang 学习笔记
REST API 文档
数据结构说明
io.Checkpoint : 表示空间中的一个可达检查点,可能是资产或是空间切换点(如门)
Name: 所在空间内的唯一标识符
Base: 基础空间的Name,标识了该点所属的母空间
Rx: 相对于基础空间基点的相对坐标x
Ry: 相对坐标y
IsPortal: 是否是空间切换点;若是,则weight无效
Weight: 抽样权重,默认为1,可以为任意正数
net.Asset : 表示空间中的实际资产坐标点,由Name和Base唯一确定 。详见Swagger UI - net.Asset
net.Asset: 表示一个逻辑上的空间,具有唯一的母空间和数个子空间,并有一个空间的进入和退出点(如门),由Name唯一确定 。进行这样的设计是考虑到办公室的空间多为具有一个出/入口的封闭空间,这样可以避免“穿墙”的错误选路,并且可以将选路问题层次化、局部化、并行化,节省计算时间 。详见Swagger UI - net.Asset
包结构和功能说明(基于当前分支)
io:
csv.go: 读取csv相关函数
structs.go: 定义文件IO的结构Checkpoint,统一标识Asset/ baseSpace
net:
convert.go: 在net包的Asset/ Space结构与io包的Checkpoint结构之间进行转换
database.go: 定义了后端与MongoDB服务器和Redis服务器通信的机制,实现了使用的CRUD操作
restful.go: 实现了REST API层的功能和WebServer的定义,并使用go-restful-openapi 实现了文档自动生成
route.go: 接收REST层的路径规划请求,对每个子空间并行化调用route包的TSP路径规划,并实现了对路径规划结果的序列化和缓存
sample.go: 使用Algorithm A by Pavlos S. Efraimidis et al. ,对[]Asset根据其权重进行抽样
structs.go: 定义了本包的Asset和Space结构,并预先定义了测试与生产两个默认环境配置
route:
pic.go: 接收REST层的绘图调用并对最优路径进行图片输出
tsp.go: 利用动态规划求解一个子空间内部的最优路径
test:
test.crt: 测试用自签名证书
test.key: 测试用服务器私钥
vendor: 依赖包
main.go: 定义了命令行参数并设置服务参数,启动REST和Swagger UI服务
测试方式
样例
使用 --sample true 参数启用以下样例数据
点击请求链接 获取规划结果
样例空间
名称
母空间
相对位置X
相对位置Y
webtest
0
0
webtest-Meeting Room
webtest
2
4
样例资产
名称
母空间
相对位置X
相对位置Y
抽样权重
A
webtest
1
3
1
B
webtest
3
3
1
C
webtest
4
0
1
D
webtest-Meeting Room
0
1
1
运行结果
更多样例
请使用Swagger UI 页面或导入Postman Collection
网页授权
本服务使用了HTTPS + HTTP Basic Authentication ,测试用户名为readygo-test ,密码为readygo2019
Expand ▾
Collapse ▴
Documentation
¶
There is no documentation for this package.
Source Files
¶
Directories
¶
Click to show internal directories.
Click to hide internal directories.