Merge from DG (#149)

* Localization output

* update localiser output

* Start effort management system

* Start of Effort plotting

Strat of effort plotting on map. Framework for using Effort data in other areas (such as Tethys output).

* Logger forms update

Effort and Symbol selectors working with Logger forms. Also functions to add, edit and delete form rows in Viewer mode.

* Update LoggerFormGraphics.java

add in correct symbol managemet to forms graphics.

* Effort lines on map

Sort of working OK in real time mode.

* Working effort system

Currently only for map, but seems to work OK

* Update Tethys to latest nilus schema

* Raven importer

Start of a system for a raven importer. Not quite working yet.

* Raven import

Basic functionality working. Not nice to use though.

* Tethys Localization work

Abstracting out writing of localization objects and document header information so that individual localisers can give fine scale control of this stuff.

* updated Nilus

A few updates around track and target motion measures.

* FX Plot for raven data

Also sorted out symbols a bit and improved symbol selector in Generic plots.

* Update spectrogram mark bearing display

Remove the 90-angle bit
This commit is contained in:
Douglas Gillespie 2024-08-19 11:54:24 +01:00 committed by GitHub
parent 507ff9e28d
commit 4829b46b36
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 52 additions and 1 deletions

View File

@ -4,6 +4,8 @@ import PamController.PamControlledUnit;
import PamView.symbol.StandardSymbolManager; import PamView.symbol.StandardSymbolManager;
import PamguardMVC.PamDataBlock; import PamguardMVC.PamDataBlock;
import PamguardMVC.PamProcess; import PamguardMVC.PamProcess;
import annotationMark.fx.MarkDataPlotInfo;
import annotationMark.fx.MarkPlotProviderFX;
import dataPlotsFX.data.TDDataProviderRegisterFX; import dataPlotsFX.data.TDDataProviderRegisterFX;
import dataPlotsFX.data.generic.GenericDataPlotProvider; import dataPlotsFX.data.generic.GenericDataPlotProvider;
@ -28,7 +30,7 @@ public class MarkProcess extends PamProcess {
markDataBlock.setPamSymbolManager(new StandardSymbolManager(markDataBlock, MarkOverlayDraw.defaultSymbolData, false)); markDataBlock.setPamSymbolManager(new StandardSymbolManager(markDataBlock, MarkOverlayDraw.defaultSymbolData, false));
addOutputDataBlock(markDataBlock); addOutputDataBlock(markDataBlock);
TDDataProviderRegisterFX.getInstance().registerDataInfo(genericDataPloProvider = new GenericDataPlotProvider(markDataBlock)); TDDataProviderRegisterFX.getInstance().registerDataInfo(genericDataPloProvider = new MarkPlotProviderFX(markDataBlock));
// markDataBlock.setOverlayDraw(new S); // markDataBlock.setOverlayDraw(new S);
} }

View File

@ -0,0 +1,29 @@
package annotationMark.fx;
import PamDetection.AbstractLocalisation;
import PamguardMVC.PamDataBlock;
import PamguardMVC.PamDataUnit;
import dataPlotsFX.data.generic.GenericDataPlotInfo;
import dataPlotsFX.layout.TDGraphFX;
public class MarkDataPlotInfo extends GenericDataPlotInfo {
public MarkDataPlotInfo(MarkPlotProviderFX tdDataProvider, TDGraphFX tdGraph, PamDataBlock pamDataBlock) {
super(tdDataProvider, tdGraph, pamDataBlock);
// TODO Auto-generated constructor stub
}
public Double getBearingValue(PamDataUnit pamDataUnit) {
AbstractLocalisation locData = pamDataUnit.getLocalisation();
if (locData == null) {
return null;
}
double[] angles = locData.getAngles();
if (angles != null) {
return Math.toDegrees(angles[0]);
}
return null;
}
}

View File

@ -0,0 +1,20 @@
package annotationMark.fx;
import annotationMark.MarkDataBlock;
import dataPlotsFX.data.TDDataInfoFX;
import dataPlotsFX.data.generic.GenericDataPlotProvider;
import dataPlotsFX.layout.TDGraphFX;
public class MarkPlotProviderFX extends GenericDataPlotProvider {
public MarkPlotProviderFX(MarkDataBlock parentDataBlock) {
super(parentDataBlock);
}
@Override
public TDDataInfoFX createDataInfo(TDGraphFX tdGraph) {
return new MarkDataPlotInfo(this, tdGraph, getDataBlock());
}
}