Browse Source

modify cut configuration

master
xiaowuler 3 years ago
parent
commit
9667057ec4
  1. 10
      04.系统编码/03.radar-resolver/src/main/java/com/xiaowuler/radarresolver/weather/domain/CommonBlock.java
  2. 4
      04.系统编码/03.radar-resolver/src/main/java/com/xiaowuler/radarresolver/weather/domain/CutConfiguration.java
  3. 1
      04.系统编码/03.radar-resolver/src/main/java/com/xiaowuler/radarresolver/weather/domain/Radial.java
  4. 4
      04.系统编码/03.radar-resolver/src/main/java/com/xiaowuler/radarresolver/weather/resolver/RadarReader.java

10
04.系统编码/03.radar-resolver/src/main/java/com/xiaowuler/radarresolver/weather/domain/CommonBlock.java

@ -17,19 +17,19 @@ public class CommonBlock {
private GenericHeader genericHeader; private GenericHeader genericHeader;
private SiteConfiguration siteConfiguration; private SiteConfiguration siteConfiguration;
private TaskConfiguration taskConfiguration; private TaskConfiguration taskConfiguration;
private List<ScanConfiguration> scanConfigurations; private List<CutConfiguration> cutConfigurations;
public CommonBlock(ICustomInputStream ICustomInputStream) throws IOException { public CommonBlock(ICustomInputStream ICustomInputStream) throws IOException {
this.genericHeader = new GenericHeader(ICustomInputStream); this.genericHeader = new GenericHeader(ICustomInputStream);
this.siteConfiguration = new SiteConfiguration(ICustomInputStream); this.siteConfiguration = new SiteConfiguration(ICustomInputStream);
this.taskConfiguration = new TaskConfiguration(ICustomInputStream); this.taskConfiguration = new TaskConfiguration(ICustomInputStream);
addScanConfigurations(ICustomInputStream); addCutConfigurations(ICustomInputStream);
} }
private void addScanConfigurations(ICustomInputStream ICustomInputStream) throws IOException { private void addCutConfigurations(ICustomInputStream ICustomInputStream) throws IOException {
this.scanConfigurations = new ArrayList<>(taskConfiguration.getCutNumber()); this.cutConfigurations = new ArrayList<>(taskConfiguration.getCutNumber());
for(int index = 0; index < taskConfiguration.getCutNumber(); index++){ for(int index = 0; index < taskConfiguration.getCutNumber(); index++){
scanConfigurations.add(new ScanConfiguration(ICustomInputStream)); cutConfigurations.add(new CutConfiguration(ICustomInputStream));
} }
} }
} }

4
04.系统编码/03.radar-resolver/src/main/java/com/xiaowuler/radarresolver/weather/domain/ScanConfiguration.java → 04.系统编码/03.radar-resolver/src/main/java/com/xiaowuler/radarresolver/weather/domain/CutConfiguration.java

@ -11,7 +11,7 @@ import com.xiaowuler.radarresolver.custom.ICustomInputStream;
* @createTime: 2022-03-09 10:47 * @createTime: 2022-03-09 10:47
*/ */
@Data @Data
public class ScanConfiguration { public class CutConfiguration {
private int processMode; private int processMode;
private int waveForm; private int waveForm;
private float PRF1; private float PRF1;
@ -57,7 +57,7 @@ public class ScanConfiguration {
private short groundClutterFilterWindow; private short groundClutterFilterWindow;
private byte[] reserved; private byte[] reserved;
public ScanConfiguration(ICustomInputStream ICustomInputStream) throws IOException { public CutConfiguration(ICustomInputStream ICustomInputStream) throws IOException {
this.processMode = ICustomInputStream.readInt(); this.processMode = ICustomInputStream.readInt();
this.waveForm = ICustomInputStream.readInt(); this.waveForm = ICustomInputStream.readInt();
this.PRF1 = ICustomInputStream.readFloat(); this.PRF1 = ICustomInputStream.readFloat();

1
04.系统编码/03.radar-resolver/src/main/java/com/xiaowuler/radarresolver/weather/domain/Radial.java

@ -15,6 +15,7 @@ import com.xiaowuler.radarresolver.custom.ICustomInputStream;
@Data @Data
public class Radial { public class Radial {
private RadialHeader radialHeader; private RadialHeader radialHeader;
private List<MomentBlock> momentBlocks; private List<MomentBlock> momentBlocks;

4
04.系统编码/03.radar-resolver/src/main/java/com/xiaowuler/radarresolver/weather/resolver/RadarReader.java

@ -64,14 +64,14 @@ public class RadarReader {
} }
public List<List<double[]>> getCoordinate(){ public List<List<double[]>> getCoordinate(){
ScanConfiguration scanConfiguration = radarBlock.getCommonBlock().getScanConfigurations().get(0); CutConfiguration cutConfiguration = radarBlock.getCommonBlock().getCutConfigurations().get(0);
List<Radial> radials = radarBlock.getRadialBlock().getRadials().stream().filter(r -> r.getRadialHeader().getElevationNumber() == 1).collect(Collectors.toList()); List<Radial> radials = radarBlock.getRadialBlock().getRadials().stream().filter(r -> r.getRadialHeader().getElevationNumber() == 1).collect(Collectors.toList());
List<List<double[]>> result = new ArrayList<>(radials.size()); List<List<double[]>> result = new ArrayList<>(radials.size());
for(Radial radial : radials){ for(Radial radial : radials){
double[] values = radial.getMomentBlocks().get(0).getMomentData().getData(); double[] values = radial.getMomentBlocks().get(0).getMomentData().getData();
List<double[]> rows = new ArrayList<>(values.length); List<double[]> rows = new ArrayList<>(values.length);
for(int index = 0, len = values.length; index < len; index ++){ for(int index = 0, len = values.length; index < len; index ++){
rows.add(calcLonLat((index + 1) * scanConfiguration.getLogResolution(), radial.getRadialHeader().getAzimuth(), radial.getRadialHeader().getElevation(), rows.add(calcLonLat((index + 1) * cutConfiguration.getLogResolution(), radial.getRadialHeader().getAzimuth(), radial.getRadialHeader().getElevation(),
radarBlock.getCommonBlock().getSiteConfiguration().getLongitude(), radarBlock.getCommonBlock().getSiteConfiguration().getLatitude())); radarBlock.getCommonBlock().getSiteConfiguration().getLongitude(), radarBlock.getCommonBlock().getSiteConfiguration().getLatitude()));
} }
result.add(rows); result.add(rows);

Loading…
Cancel
Save