| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- package com.utic.ptis.server.dto;
- import lombok.AllArgsConstructor;
- import lombok.Builder;
- import lombok.Data;
- import lombok.NoArgsConstructor;
- import java.io.Serializable;
- import java.util.ArrayList;
- @Data
- @Builder
- @NoArgsConstructor//(access = AccessLevel.PROTECTED)
- @AllArgsConstructor
- public class LinkDto implements Serializable {
- private static final long serialVersionUID = 1L;
- private String linkId;
- private String roadRank;
- private Integer linkLevel;
- private Integer roadUse;
- private Integer length;
- private Integer lanes;
- private Integer maxSpeed;
- private String upLinkId;
- private String dnLinkId;
- private ArrayList<String> linkIds;
- private boolean prcsPtrnMissing; // 패턴 결측 처리 여부(링크 레벨1 인 경우)
- private LinkTrafPtrn trafPtrn; // 현재 주기 패턴값
- private LinkTrafVal trafFsn; // 퓨전 소통정보
- private LinkTrafVal trafExt; // 외부연계용 소통정보(동부 NTS 제외한 퓨전값)
- private LinkTrafMiss missPsd; // PSD 알고리즘 수행 값
- private LinkTrafMiss missKnn; // k-NN 알고리즘 수행 값
- public LinkTrafCenterDto getTrafficDto(String regDate) {
- return this.trafFsn.toDto(this.linkId, this.linkLevel, regDate);
- }
- public void init() {
- this.upLinkId = "";
- this.dnLinkId = "";
- this.linkIds = new ArrayList<>();
- this.prcsPtrnMissing = false;
- this.trafPtrn = new LinkTrafPtrn();
- this.trafFsn = new LinkTrafVal();
- this.trafExt = new LinkTrafVal();
- this.missPsd = new LinkTrafMiss();
- this.missKnn = new LinkTrafMiss();
- }
- public void initTraf(boolean initPtrnTraf) {
- if (initPtrnTraf) {
- this.trafPtrn.init();
- }
- this.trafFsn.init();
- this.trafExt.init();
- this.missPsd.init();
- this.missKnn.init();
- }
- public int getTravelTime(int speed) {
- if (this.length > 0 && speed > 0) {
- return (int)((this.length * 3.6 / speed) + 0.5);
- }
- return 0;
- }
- }
|