Fix GPS bug in group localizer offline processing

This commit is contained in:
Jamie Mac 2023-10-25 09:17:12 +01:00
parent fd3e8cae4b
commit 137fa0e8ba
5 changed files with 25 additions and 19 deletions

View File

@ -1,9 +1,9 @@
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
org.eclipse.jdt.core.compiler.codegen.targetPlatform=11
org.eclipse.jdt.core.compiler.codegen.targetPlatform=17
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
org.eclipse.jdt.core.compiler.compliance=11
org.eclipse.jdt.core.compiler.compliance=17
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
@ -13,4 +13,4 @@ org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
org.eclipse.jdt.core.compiler.release=enabled
org.eclipse.jdt.core.compiler.source=11
org.eclipse.jdt.core.compiler.source=17

View File

@ -4,7 +4,7 @@
<groupId>org.pamguard</groupId>
<artifactId>Pamguard</artifactId>
<name>Pamguard Java12+</name>
<version>2.02.09d</version>
<version>2.02.09e</version>
<description>Pamguard for Java 12+, using Maven to control dependcies</description>
<url>www.pamguard.org</url>
<organization>
@ -53,16 +53,16 @@
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<version>3.11.0</version>
<dependencies>
<dependency>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-compiler-jdt</artifactId>
<version>1.5.1</version>
<version>4.0.3</version>
</dependency>
</dependencies>
<configuration>
<release>11</release>
<release>17</release>
<compilerId>jdt</compilerId>
<compilerArguments>
<properties>.settings/org.eclipse.jdt.core.prefs</properties>
@ -72,16 +72,11 @@
<plugin>
<groupId>org.openjfx</groupId>
<artifactId>javafx-maven-plugin</artifactId>
<version>0.0.6</version>
<configuration>
<source>17</source>
<target>17</target>
<release>17</release>
</configuration>
<version>0.0.8</version>
</plugin>
<plugin>
<artifactId>maven-shade-plugin</artifactId>
<version>3.2.1</version>
<version>3.5.1</version>
<executions>
<execution>
<phase>package</phase>
@ -194,8 +189,8 @@
</plugins>
</reporting>
<properties>
<maven.compiler.target>11</maven.compiler.target>
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<maven.compiler.source>17</maven.compiler.source>
<javafx.version>17</javafx.version>
</properties>
</project>

View File

@ -113,6 +113,9 @@ public class EllipticalError implements LocaliserError {
@Override
public String getStringResult() {
String description="";
if (errorEllipse==null) {
return "Elliptical error is null";
}
if (!errorEllipse.is3D()){
description+=String.format("<i>&ensp 2D Elliptical error: <br>&ensp Radii: ");
for (int i=0; i<errorEllipse.getEllipseDim().length; i++){

View File

@ -91,13 +91,12 @@ public class ErrorEllipse {
* The dimensions of the ellipse/ellipsoid. This is generally a,b for 2D and a, b, c for 3D
* the ellipse/ellipsoid is described by x^2/a + y^2/b+ z^2/c =1. c is -1 if a 2D ellipse.
*/
private double[] ellipseDim;
private double[] ellipseDim = new double[]{0,0,0};
/**
* The angle of the ellipsoid in RADIANS. Angles are euler angles and in order heading pitch and roll.
*/
private double[] angles;
private double[] angles = new double[]{0,0,0};
/**
* Generate an error ellipse from a set of points. The dimensions of the error ellipse is by
@ -166,6 +165,10 @@ public class ErrorEllipse {
if (points==null){
return;
}
if (points.length<3) {
return;
}
Covariance cov= new Covariance(points, false);

View File

@ -3,6 +3,7 @@ package group3dlocaliser.offline;
import java.util.ArrayList;
import Array.ArrayManager;
import GPS.GPSControl;
import PamController.PamController;
import PamguardMVC.PamDataBlock;
import PamguardMVC.PamDataUnit;
@ -99,6 +100,10 @@ public class Group3DOfflineTask extends OfflineTask<PamDataUnit>{
addRequiredDataBlock(evDataBlock);
}
addRequiredDataBlock(ArrayManager.getArrayManager().getHydrophoneDataBlock());
if (GPSControl.getGpsControl()!=null) {
addRequiredDataBlock(GPSControl.getGpsControl().getGpsDataBlock());
}
}
@Override