Exemple #1
0
 public void parse() throws AisMessageException, SixbitException {
   BinArray binArray = vdm.getBinArray();
   super.parse(binArray);
   this.slotIncrement = (int) binArray.getVal(13);
   this.numSlots = (int) binArray.getVal(3);
   this.keep = (int) binArray.getVal(1);
 }
Exemple #2
0
  public void parse() throws AisMessageException, SixbitException {
    BinArray binArray = vdm.getBinArray();
    if (binArray.getLength() < 424) {
      throw new AisMessageException("Message 5 wrong length " + binArray.getLength());
    }

    super.parse(binArray);

    this.version = (int) binArray.getVal(2);
    this.imo = binArray.getVal(30);
    this.callsign = binArray.getString(7);
    this.name = binArray.getString(20);
    this.shipType = (int) binArray.getVal(8);
    this.dimBow = (int) binArray.getVal(9);
    this.dimStern = (int) binArray.getVal(9);
    this.dimPort = (int) binArray.getVal(6);
    this.dimStarboard = (int) binArray.getVal(6);
    this.posType = (int) binArray.getVal(4);
    this.eta = binArray.getVal(20);
    this.draught = (int) binArray.getVal(8);
    this.dest = binArray.getString(20);
    this.dte = (int) binArray.getVal(1);
    this.spare = (int) binArray.getVal(1);
  }
Exemple #3
0
  public void parse() throws AisMessageException, SixbitException {
    BinArray sixbit = vdm.getBinArray();
    if (sixbit.getLength() < 80 || sixbit.getLength() > 816) {
      throw new AisMessageException("Message " + msgId + " wrong length: " + sixbit.getLength());
    }
    super.parse(sixbit);
    this.spare1 = (int) sixbit.getVal(2);
    this.lon = (int) sixbit.getVal(18);
    this.lat = (int) sixbit.getVal(17);
    this.spare2 = (int) sixbit.getVal(5);
    this.messageType = (int) sixbit.getVal(6);
    this.stationId = (int) sixbit.getVal(10);
    this.zCount = (int) sixbit.getVal(13);
    this.seqNum = (int) sixbit.getVal(3);
    this.dataWordCount = (int) sixbit.getVal(5);
    this.health = (int) sixbit.getVal(3);

    // How many datawords are actually in the remaining part
    // How to handle if length - 120 does not match the
    // indicated data word count

    this.dataWords = new int[this.dataWordCount];
    for (int i = 0; i < this.dataWordCount && sixbit.hasMoreBits(); i++) {
      this.dataWords[i] = (int) sixbit.getVal(24);
    }
  }
Exemple #4
0
  @Override
  protected void parse(BinArray binArray) throws AisMessageException, SixbitException {
    BinArray sixbit = vdm.getBinArray();
    if (sixbit.getLength() != 312) {
      throw new AisMessageException("Message 19 wrong length " + sixbit.getLength());
    }

    super.parse(sixbit);

    this.spare1 = (int) sixbit.getVal(8);
    this.sog = (int) sixbit.getVal(10);
    this.posAcc = (int) sixbit.getVal(1);
    this.pos = new AisPosition();
    this.pos.setRawLongitude(sixbit.getVal(28));
    this.pos.setRawLatitude(sixbit.getVal(27));
    this.cog = (int) sixbit.getVal(12);
    this.trueHeading = (int) sixbit.getVal(9);
    this.utcSec = (int) sixbit.getVal(6);
    this.spare2 = (int) sixbit.getVal(4);
    this.name = sixbit.getString(20);
    this.shipType = (int) sixbit.getVal(8);
    this.dimBow = (int) sixbit.getVal(9);
    this.dimStern = (int) sixbit.getVal(9);
    this.dimPort = (int) sixbit.getVal(6);
    this.dimStarboard = (int) sixbit.getVal(6);
    this.posType = (int) sixbit.getVal(4);
    this.raimFlag = (int) sixbit.getVal(1);
    this.dte = (int) sixbit.getVal(1);
    this.modeFlag = (int) sixbit.getVal(1);
    this.spare3 = (int) sixbit.getVal(4);
  }
Exemple #5
0
 public void parse() throws AisMessageException, SixbitException {
   BinArray binArray = vdm.getBinArray();
   super.parse(binArray);
   this.slotTimeout = (int) binArray.getVal(3);
   this.subMessage = (int) binArray.getVal(14);
 }