165 lines
5.4 KiB
Java
165 lines
5.4 KiB
Java
import java.io.BufferedReader;
|
|
import java.io.BufferedWriter;
|
|
import java.io.File;
|
|
import java.io.FileInputStream;
|
|
import java.io.FileOutputStream;
|
|
import java.io.InputStreamReader;
|
|
import java.io.OutputStreamWriter;
|
|
|
|
public
|
|
/**
|
|
* @author congtaowang
|
|
* @since 2021/3/26
|
|
*
|
|
* 生成测试数据,执行指令
|
|
* java LocParse.java
|
|
*
|
|
* loc.txt
|
|
* adas0.txt
|
|
* adas1.txt
|
|
* adas2.txt
|
|
* adas3.txt
|
|
* adas4.txt
|
|
* adas5.txt
|
|
* adas6.txt
|
|
* adas7.txt
|
|
* adas8.txt
|
|
* adas9.txt
|
|
*
|
|
*/
|
|
class LocParse {
|
|
|
|
public static void main( String[] args ) {
|
|
new Thread( new Runnable() {
|
|
@Override
|
|
public void run() {
|
|
try {
|
|
LocParse.run();
|
|
} catch ( Exception e ) {
|
|
e.printStackTrace();
|
|
}
|
|
}
|
|
} ).run();
|
|
|
|
}
|
|
|
|
private static void run() throws Exception {
|
|
InputStreamReader isr = new InputStreamReader( new FileInputStream( "loc.csv" ) );
|
|
BufferedReader br = new BufferedReader( isr );
|
|
File loc = new File( "loc.txt" );
|
|
if ( loc.exists() ) {
|
|
loc.delete();
|
|
}
|
|
loc.createNewFile();
|
|
OutputStreamWriter locOsw = new OutputStreamWriter( new FileOutputStream( loc ) );
|
|
BufferedWriter locWr = new BufferedWriter( locOsw );
|
|
|
|
final int adasRecAmount = 10;
|
|
final int intervalLineAmount = 50;
|
|
|
|
BufferedWriter writers[] = new BufferedWriter[adasRecAmount];
|
|
|
|
for ( int i = 0; i < adasRecAmount; i++ ) {
|
|
File file = new File( "adas" + i + ".txt" );
|
|
if ( file.exists() ) {
|
|
file.delete();
|
|
}
|
|
file.createNewFile();
|
|
OutputStreamWriter osw = new OutputStreamWriter( new FileOutputStream( file ) );
|
|
writers[i] = new BufferedWriter( osw );
|
|
}
|
|
|
|
String line = null;
|
|
final int pLon = 1;
|
|
final int pLat = 2;
|
|
final int pAlt = 3;
|
|
final int pHeading = 4;
|
|
final int pSpeed = 6;
|
|
final int pDistance = 7;
|
|
final int pReceiverDataTime = 8;
|
|
final int pAdasSatelliteTime = 9;
|
|
final int pSystemTime = 10;
|
|
final int pSatelliteTime = 11;
|
|
|
|
int counter = 0;
|
|
while ( ( line = br.readLine() ) != null ) {
|
|
line = line.replace( " ", "" );
|
|
String seg[] = line.split( "," );
|
|
|
|
double lon = Double.parseDouble( seg[pLon] );
|
|
double lat = Double.parseDouble( seg[pLat] );
|
|
double alt = Double.parseDouble( seg[pAlt] );
|
|
double heading = Double.parseDouble( seg[pHeading] );
|
|
double speed = Double.parseDouble( seg[pSpeed] );
|
|
double distance = Double.parseDouble( seg[pDistance] );
|
|
long receiverDataTime = Long.parseLong( seg[pReceiverDataTime] );
|
|
long adasSatelliteTime = Long.parseLong( seg[pAdasSatelliteTime] );
|
|
long systemTime = Long.parseLong( seg[pSystemTime] );
|
|
long satelliteTime = Long.parseLong( seg[pSatelliteTime] );
|
|
|
|
// 定位
|
|
StringBuilder locJson = new StringBuilder( "{" );
|
|
locJson.append( "\"lon\":" + lon );
|
|
locJson.append( ",\"lat\":" + lat );
|
|
locJson.append( ",\"alt\":" + alt );
|
|
locJson.append( ",\"heading\":" + heading );
|
|
locJson.append( ",\"speed\":" + speed );
|
|
locJson.append( ",\"systemTime\":" + systemTime );
|
|
locJson.append( ",\"receiverDataTime\":" + receiverDataTime );
|
|
locJson.append( ",\"adasSatelliteTime\":" + adasSatelliteTime );
|
|
locJson.append( ",\"satelliteTime\":" + satelliteTime );
|
|
locJson.append( "}\n" );
|
|
locWr.write( locJson.toString() );
|
|
|
|
int writersCount = counter++ / intervalLineAmount;
|
|
if ( writersCount > adasRecAmount ) {
|
|
writersCount = adasRecAmount;
|
|
}
|
|
for ( int i = 0; i < writersCount; i++ ) {
|
|
|
|
int type = 3;
|
|
switch ( i ) {
|
|
case 1:
|
|
case 2:
|
|
case 3:
|
|
case 4:
|
|
case 6:
|
|
type = i;
|
|
break;
|
|
case 0:
|
|
case 5:
|
|
case 7:
|
|
case 8:
|
|
case 9:
|
|
type = 3;
|
|
break;
|
|
}
|
|
|
|
StringBuilder adasJson = new StringBuilder( "{" );
|
|
adasJson.append( "\"type\":" + type );
|
|
adasJson.append( ",\"uuid\":" + "\"2_" + i + "\"" );
|
|
adasJson.append( ",\"lon\":" + lon );
|
|
adasJson.append( ",\"lat\":" + lat );
|
|
adasJson.append( ",\"alt\":" + alt );
|
|
adasJson.append( ",\"heading\":" + heading );
|
|
adasJson.append( ",\"distance\":" + distance );
|
|
adasJson.append( ",\"speed\":" + speed );
|
|
adasJson.append( ",\"systemTime\":" + systemTime );
|
|
adasJson.append( ",\"satelliteTime\":" + satelliteTime );
|
|
adasJson.append( ",\"dataAccuracy\":" + 1 );
|
|
adasJson.append( "}\n" );
|
|
writers[i].write( adasJson.toString() );
|
|
}
|
|
// adas
|
|
}
|
|
|
|
locWr.flush();
|
|
locWr.close();
|
|
|
|
for ( BufferedWriter writer : writers ) {
|
|
writer.flush();
|
|
writer.close();
|
|
}
|
|
}
|
|
}
|