Files
MoGoEagleEye/modules/mogo-module-service/build/intermediates/library_assets/debug/out/LocParse.java
2022-11-21 12:49:27 +08:00

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();
}
}
}