i do not have any documentation for it.
when there is no gps then there is a 3 digit text instead of long and lat.
the PATTERN_NETWORK part of the gps103decoder evaulate them as lac, and ci, but dose not evaulate the rest of the fields .
probably the PATTERN_NETWORK regexp shoud be extended with
.expression("([^,;]+)?,?")
.expression("([^,;]+)?,?")
.expression("([^,;]+)?,?")
.expression("([^,;]+)?,?")
.expression("([^,;]+)?,?")
as it is in the PATTERN part when there is gps data.
private static final Pattern PATTERN = new PatternBuilder()
.text("imei:")
.number("(d+),") // imei
.expression("([^,]+),") // alarm
.number("(dd)/?(dd)/?(dd) ?") // local date
.number("(dd):?(dd)(?:dd)?,") // local time
.expression("([^,]+)?,") // rfid
.expression("[FL],") // full / low
.groupBegin()
.number("(dd)(dd)(dd).(d+)") // time utc (hhmmss.sss)
.or()
.number("(?:d{1,5}.d+)?")
.groupEnd()
.text(",")
.expression("([AV]),") // validity
.expression("([NS]),").optional()
.number("(d+)(dd.d+),") // latitude (ddmm.mmmm)
.expression("([NS]),").optional()
.expression("([EW]),").optional()
.number("(d+)(dd.d+),") // longitude (dddmm.mmmm)
.expression("([EW])?,").optional()
.number("(d+.?d*)?,?") // speed
.number("(d+.?d*)?,?") // course
.number("(d+.?d*)?,?") // altitude
.expression("([^,;]+)?,?")
.expression("([^,;]+)?,?")
.expression("([^,;]+)?,?")
.expression("([^,;]+)?,?")
.expression("([^,;]+)?,?")
.any()
.compile();
private static final Pattern PATTERN_NETWORK = new PatternBuilder()
.text("imei:")
.number("(d+),") // imei
.expression("[^,]+,") // alarm
.number("d*,,")
.text("L,,,")
.number("(x+),,") // lac
.number("(x+),,,") // cid
.any()
.compile();
i do not have any documentation for it.
when there is no gps then there is a 3 digit text instead of long and lat.
the PATTERN_NETWORK part of the gps103decoder evaulate them as lac, and ci, but dose not evaulate the rest of the fields .
probably the PATTERN_NETWORK regexp shoud be extended with .expression("([^,;]+)?,?") .expression("([^,;]+)?,?") .expression("([^,;]+)?,?") .expression("([^,;]+)?,?") .expression("([^,;]+)?,?")as it is in the PATTERN part when there is gps data.
private static final Pattern PATTERN = new PatternBuilder() .text("imei:") .number("(d+),") // imei .expression("([^,]+),") // alarm .number("(dd)/?(dd)/?(dd) ?") // local date .number("(dd):?(dd)(?:dd)?,") // local time .expression("([^,]+)?,") // rfid .expression("[FL],") // full / low .groupBegin() .number("(dd)(dd)(dd).(d+)") // time utc (hhmmss.sss) .or() .number("(?:d{1,5}.d+)?") .groupEnd() .text(",") .expression("([AV]),") // validity .expression("([NS]),").optional() .number("(d+)(dd.d+),") // latitude (ddmm.mmmm) .expression("([NS]),").optional() .expression("([EW]),").optional() .number("(d+)(dd.d+),") // longitude (dddmm.mmmm) .expression("([EW])?,").optional() .number("(d+.?d*)?,?") // speed .number("(d+.?d*)?,?") // course .number("(d+.?d*)?,?") // altitude .expression("([^,;]+)?,?") .expression("([^,;]+)?,?") .expression("([^,;]+)?,?") .expression("([^,;]+)?,?") .expression("([^,;]+)?,?") .any() .compile(); private static final Pattern PATTERN_NETWORK = new PatternBuilder() .text("imei:") .number("(d+),") // imei .expression("[^,]+,") // alarm .number("d*,,") .text("L,,,") .number("(x+),,") // lac .number("(x+),,,") // cid .any() .compile();