|
@@ -0,0 +1,167 @@
|
|
|
+#include "xodr2vectormap.h"
|
|
|
+
|
|
|
+
|
|
|
+#include <QFile>
|
|
|
+
|
|
|
+xodr2vectormap::xodr2vectormap()
|
|
|
+{
|
|
|
+ testvector();
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
+void xodr2vectormap::testvector()
|
|
|
+{
|
|
|
+ QString strfolder = "/home/yuchuli/map/testvector";
|
|
|
+
|
|
|
+ QFile xFilePoints;
|
|
|
+ xFilePoints.setFileName(strfolder + "/point.csv");
|
|
|
+ if(!xFilePoints.open(QIODevice::ReadWrite))
|
|
|
+ {
|
|
|
+ qDebug("point file open fail.");
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ char strline[1000];
|
|
|
+ snprintf(strline,1000,"PID,B,L,H,Bx,Ly,ReF,MCODE1,MCODE2,MCODE3\n");
|
|
|
+ xFilePoints.write(strline);
|
|
|
+ int i;
|
|
|
+ for(i=0;i<31;i++)
|
|
|
+ {
|
|
|
+ snprintf(strline,1000,"%d,%d,%d,%f,%f,%f,%d,%d,%d,%d\n",
|
|
|
+ i+1,0,0,0.0,i*10.0,3.0,7,0,0,0);
|
|
|
+ xFilePoints.write(strline);
|
|
|
+ }
|
|
|
+ for(i=31;i<62;i++)
|
|
|
+ {
|
|
|
+ snprintf(strline,1000,"%d,%d,%d,%f,%f,%f,%d,%d,%d,%d\n",
|
|
|
+ i+1,0,0,0.0,(i-31)*10.0,0.0,7,0,0,0);
|
|
|
+ xFilePoints.write(strline);
|
|
|
+ }
|
|
|
+ for(i=62;i<93;i++)
|
|
|
+ {
|
|
|
+ snprintf(strline,1000,"%d,%d,%d,%f,%f,%f,%d,%d,%d,%d\n",
|
|
|
+ i+1,0,0,0.0,(i-62)*10.0,-3.0,7,0,0,0);
|
|
|
+ xFilePoints.write(strline);
|
|
|
+ }
|
|
|
+ xFilePoints.close();
|
|
|
+
|
|
|
+ QFile xFileLine;
|
|
|
+ xFileLine.setFileName(strfolder + "/line.csv");
|
|
|
+ if(!xFileLine.open(QIODevice::ReadWrite))
|
|
|
+ {
|
|
|
+ qDebug("line file open fail.");
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ snprintf(strline,1000,"LID,BPID,FPID,BLID,FLID\n");
|
|
|
+ xFileLine.write(strline);
|
|
|
+ for(i=0;i<28;i++)
|
|
|
+ {
|
|
|
+ snprintf(strline,1000,"%d,%d,%d,%d,%d\n",
|
|
|
+ i+1,i+32,i+33,i,i+2);
|
|
|
+ xFileLine.write(strline);
|
|
|
+ }
|
|
|
+ snprintf(strline,1000,"%d,%d,%d,%d,%d\n",
|
|
|
+ i+1,i+32,i+33,i,0);
|
|
|
+ xFileLine.write(strline);
|
|
|
+ xFileLine.close();
|
|
|
+
|
|
|
+ QFile xFileWhiteLine;
|
|
|
+ xFileWhiteLine.setFileName(strfolder + "/whiteline.csv");
|
|
|
+ if(!xFileWhiteLine.open(QIODevice::ReadWrite))
|
|
|
+ {
|
|
|
+ qDebug("whiteline file open fail.");
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ snprintf(strline,1000,"ID,LID,Width,Color,type,LinkID\n");
|
|
|
+ xFileWhiteLine.write(strline);
|
|
|
+ for(i=0;i<29;i++)
|
|
|
+ {
|
|
|
+ snprintf(strline,1000,"%d,%d,%f,Y,%d,%d\n",
|
|
|
+ i+1,i+1,0.15,0,0);
|
|
|
+ xFileWhiteLine.write(strline);
|
|
|
+ }
|
|
|
+ xFileWhiteLine.close();
|
|
|
+
|
|
|
+ QFile xFileNode;
|
|
|
+ xFileNode.setFileName(strfolder + "/node.csv");
|
|
|
+ if(!xFileNode.open(QIODevice::ReadWrite))
|
|
|
+ {
|
|
|
+ qDebug(" node file open fail.");
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ snprintf(strline,1000,"NID,PID\n");
|
|
|
+ xFileNode.write(strline);
|
|
|
+ for(i=0;i<31;i++)
|
|
|
+ {
|
|
|
+ snprintf(strline,1000,"%d,%d\n",i,i+1);
|
|
|
+ xFileNode.write(strline);
|
|
|
+ }
|
|
|
+ for(i=31;i<62;i++)
|
|
|
+ {
|
|
|
+ snprintf(strline,1000,"%d,%d\n",i,93-(i-31));
|
|
|
+ xFileNode.write(strline);
|
|
|
+ }
|
|
|
+ xFileNode.close();
|
|
|
+
|
|
|
+ QFile xFileLane;
|
|
|
+ xFileLane.setFileName(strfolder + "/lane.csv");
|
|
|
+ if(!xFileLane.open(QIODevice::ReadWrite))
|
|
|
+ {
|
|
|
+ qDebug(" node file open fail.");
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ snprintf(strline,1000,"LnID,DID,BLID,FLID,BNID,FNID,JCT,BLID2,BLID3,BLID4,FLID2,FLID3,FLID4,ClossID,Span,LCnt,Lno,LaneType,LimitVel,RefVel,RoadSecID,LaneChgFG\n");
|
|
|
+ xFileLane.write(strline);
|
|
|
+
|
|
|
+ for(i=0;i<29;i++)
|
|
|
+ {
|
|
|
+ snprintf(strline,1000,"%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d\n",
|
|
|
+ i+1,i+1,i,i+2,i,i+1,
|
|
|
+ 0,0,0,0,
|
|
|
+ 0,0,0,0,
|
|
|
+ 1,4,1,0,
|
|
|
+ 20,20,0,0);
|
|
|
+ xFileLane.write(strline);
|
|
|
+ }
|
|
|
+ snprintf(strline,1000,"%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d\n",
|
|
|
+ i+1,i+1,i,0,i,i+1,
|
|
|
+ 0,0,0,0,
|
|
|
+ 0,0,0,0,
|
|
|
+ 1,4,1,0,
|
|
|
+ 20,20,0,0);
|
|
|
+ xFileLane.write(strline);
|
|
|
+ i++;
|
|
|
+
|
|
|
+
|
|
|
+ snprintf(strline,1000,"%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d\n",
|
|
|
+ i+1,i+1,0,i+2,i+1,i+2,
|
|
|
+ 0,0,0,0,
|
|
|
+ 0,0,0,0,
|
|
|
+ 1,4,1,0,
|
|
|
+ 20,20,0,0);
|
|
|
+ xFileLane.write(strline);
|
|
|
+ i++;
|
|
|
+
|
|
|
+ for(i=31;i<59;i++)
|
|
|
+ {
|
|
|
+ snprintf(strline,1000,"%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d\n",
|
|
|
+ i+1,i+1,i,i+2,i+1,i+2,
|
|
|
+ 0,0,0,0,
|
|
|
+ 0,0,0,0,
|
|
|
+ 1,4,1,0,
|
|
|
+ 20,20,0,0);
|
|
|
+ xFileLane.write(strline);
|
|
|
+ }
|
|
|
+ snprintf(strline,1000,"%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d\n",
|
|
|
+ i+1,i+1,i,0,i+1,i+2,
|
|
|
+ 0,0,0,0,
|
|
|
+ 0,0,0,0,
|
|
|
+ 1,4,1,0,
|
|
|
+ 20,20,0,0);
|
|
|
+ xFileLane.write(strline);
|
|
|
+ xFileLane.close();
|
|
|
+
|
|
|
+
|
|
|
+}
|