1.0.18 • Published 4 years ago
supcon-d3traffic v1.0.18
React components for faster and easier web development. Display your own traffic data in a professional way
Installation
D3Traffic is available as an npm package.
// with npm
npm install d3traffic
// with yarn
yarn add d3trafficUsage
Here is a quick example to get you started, it's all you need:
import React from 'react';
import ReactDOM from 'react-dom';
import { Phase } from "d3traffic";
function App() {
return (
<Phase
data={{
name: "路口相位图",
roads: [
{
roadName: "road1",
angle: 10
},
{
roadName: "road2",
angle: 100
},
{
roadName: "road3",
angle: 180
},
{
roadName: "road4",
angle: 280
}
],
turns: [{ from: "road1", to: "road2" }]
}}
/>
);
}
ReactDOM.render(<App />, document.querySelector('#app'));Yes, it's really all you need to get started as you can see in this live and interactive demo:
Examples
| Name | Component | Demo |
|---|---|---|
| 渠化图 | Aspects | Click |
| 绿波图 | GreenWaveBand | Click |
| 绿波Pro | GreenWaveBandPro | Click |
| 转向图 | InterTurnGroup | Click |
| 相位图 | Phase | Click |
| 相位组 | PhaseGroup | |
| 状态图 | StatusMap | Click |
| 时距图 | TimeDistance | Click |
Documentation
- Aspects
| 成员 | 说明 | 类型 | 参考值 |
|---|---|---|---|
| data(*) | 渠化图数据 | object | {} |
| showCenterLight | 是否展示中间信号灯(true展示信号灯默认false) | boolean | true |
| crossWolkWidth | 人形道的宽度自定义 | number | 300 |
| crosswalkLen | 人形道的长度自定义 | number | 200 |
| addBtnBool | 是否显示编辑车道数量的增删按钮 | boolean(true显示false不展示) | true |
| deviceCallback | 设备选择的回调函数 | function | (p, d, i) => p |
| dataFunc | 渠化图数据变更的回调函数 | function | (p, d, i) => p |
| width | 视口宽度 | number | 500 |
| height | 视口高度 | number | 95 |
| background | 样式 | string | background: 'gray' |
- GreenWaveBand
样式设置(styles) -- 可选
| 成员 | 说明 | 类型 | 默认值 |
|---|---|---|---|
| colors | 路口信号颜色(红灯、绿灯) | array | "red","green" |
| opacity | 透明度 | number | 0.5 |
| fontSize | 标注字体 | number | 12 |
数据设置(data)
| 成员 | 说明 | 类型 | 默认值 |
|---|---|---|---|
| inter_name | 路口名称 | string | |
| travel_time | 正向通行时间 | number | |
| inv_travel_time | 信反向通行时间 | number | |
| roadlen | 正向和前一个路口间距 | number | |
| inv_roadlen | 反向和前一个路口间距 | number | |
| cycle_time | 信号周期时长 | number | |
| offset | 相位差 | number | |
| phase | 信号周期数组 | Array |
phase 对象
| 成员 | 说明 | 类型 | 默认值 |
|---|---|---|---|
| phase_name | 周期名称 | string | |
| is_co_phase | 正向是否绿灯 | number | |
| inv_is_co_phase | 反向是否绿灯 | number | |
| split_time | 周期长度 | number |
- GreenWaveBandPro
样式设置(styles) -- 可选
| 成员 | 说明 | 类型 | 默认值 |
|---|---|---|---|
| colors | 路口信号颜色(红灯、绿灯) | array | "red","green" |
| greenWaveColors | 绿波带颜色(正向、反向) | array | "green","orange" |
| opacity | 透明度 | number | 0.5 |
| fontSize | 标注字体 | number | 12 |
可见性设置(visible) -- 可选
| 成员 | 说明 | 类型 | 默认值 |
|---|---|---|---|
| actualSpeed | 显示速度标示线 | bool | true |
| arrow | 显示正反向箭头标示 | bool | true |
| negativeInter | 显示/隐藏 反向绿波带 | bool | true |
数据设置(data)
| 成员 | 说明 | 类型 | 默认值 |
|---|---|---|---|
| positiveSpeed | 正向通行速度 | number | 12.5 |
| negativeSpeed | 反向通行速度 | number | 12.5 |
| standardData | 数据对象 | object |
standardData 对象
| 成员 | 说明 | 类型 | 默认值 |
|---|---|---|---|
| inter_name | 路口名称 | string | |
| inter_spacing | 路口间距(和前一个路口) | number | |
| signal_cycle | 信号周期时长 | number | |
| green_signal_ratio | 绿信比 | number | |
| loss_ratio (Option) | 损失率(可选) | number | |
| valid_green_signal_ratio(Option) | 有效绿信比(可选) | number | |
| phase_difference | 相位差 | number | |
| cycle_times | 信号周期循环的次数 | number | |
| PhaseData(Option) | 相位图数据(可选) | array |
- InterTurnGroup
| 成员 | 说明 | 类型 | 默认值 |
|---|---|---|---|
| data | 数据源配置 | array | [] |
| arrowStyle | 箭头样式配置 | object | {color:'black', headlen: 10, theta: 30, lineWidth: 1} |
| lineStyle | 线样式配置 | object | {strokeColor: 'black', lineWidth: 1} |
| interStyle | 路口样式配置 | object | {strokeColor: 'black', fillColor: 'black', radius: 5} |
| background | 背景色 | string | 'white' |
| phaseNameStyle | 相位名样式 | object | {phaseNameBg: 'silver', phaseNameColor: 'white'} |
- Phase
| 成员 | 说明 | 类型 | 默认值 |
|---|---|---|---|
| data | 数据源配置 | object | {} |
| svgWidth | 数据源配置 | number | 200 |
| svgHeight | 数据源配置 | number | 200 |
| background | svg背景色 | string | "#202f39" |
| roadStyle | 路段样式配置 | object | { strokeColor: '#444446', fill: '#444446', roadWidth: 20, strokeWidth: 0 } |
| turnStyle | 转向线样式配置 | object | { strokeColor: '#56a162', strokeWidth: 1 } |
| arrowStyle | 转向线末端箭头样式配置 | object | { arrowLen: 10, arrowAngle: 30 } |
- PhaseGroup
Todo
- StatusMap
| 成员 | 说明 | 类型 | 默认值 |
|---|---|---|---|
| data | 数据源配置 | object | {} |
| width | 状态图画布宽度 | number | 200 |
| height | 状态图画布高度 | number | 200 |
| chooseDirections | 暴露选中车道的 Frid,Direction,status | Func | () => {} |
- TimeDistance
| 成员 | 说明 | 类型 | 默认值 |
|---|---|---|---|
| color | 样式配置 | object | { colors:'red','green', opacity: 0.5, fontSize: 12} |
| data | 红绿灯数据 | array | [] |
| path | 车辆路径数据 | array | [] |
License
This project is licensed under the terms of the MIT license.
1.0.18
4 years ago
1.0.17
4 years ago
1.0.16
4 years ago
1.0.9
4 years ago
1.0.8
4 years ago
1.0.7
4 years ago
1.0.6
4 years ago
1.0.5
4 years ago
1.0.11
4 years ago
1.0.10
4 years ago
1.0.15
4 years ago
1.0.14
4 years ago
1.0.13
4 years ago
1.0.12
4 years ago
1.0.4
4 years ago
1.0.3
4 years ago
1.0.2
4 years ago
1.0.1
4 years ago
1.0.0
4 years ago