feat(gps): режим «потерян GPS» — LBS-точки помечаются (is_lbs), примерная позиция на карте, пунктир в треке; OSRM map matching трека (matched endpoint + переключатель «По дорогам»)
This commit is contained in:
@@ -3998,6 +3998,10 @@ export const gpsAssets = pgTable("gps_assets", {
|
||||
// Время последнего GPS-фикса по устройству (из stale re-send = замороженный fix, либо свежая принятая точка)
|
||||
lastGpsFixAt: timestamp("last_gps_fix_at"), // время ПРИЁМА последней точки сервером (онлайн-индикатор)
|
||||
lastRecordedAt: timestamp("last_recorded_at"), // время последней точки по устройству (fixTime)
|
||||
// Режим «потерян GPS»: трекер присылает stale re-send'ы, свежие точки считаются LBS
|
||||
gpsLost: boolean("gps_lost").notNull().default(false),
|
||||
// Последняя принятая точка — LBS (координаты сотовой вышки, не GPS)
|
||||
lastIsLbs: boolean("last_is_lbs").notNull().default(false),
|
||||
createdAt: timestamp("created_at").defaultNow(),
|
||||
}, (table) => ({
|
||||
orgIdx: index("gps_assets_org_idx").on(table.organizationId),
|
||||
@@ -4018,6 +4022,9 @@ export const gpsPositions = pgTable("gps_positions", {
|
||||
speed: doublePrecision("speed"),
|
||||
course: doublePrecision("course"),
|
||||
accuracy: doublePrecision("accuracy"),
|
||||
// Точка — координаты сотовой вышки (LBS), а не GPS-фикс; сохраняется и
|
||||
// отображается (пунктир), но не участвует в логике геозон
|
||||
isLbs: boolean("is_lbs").notNull().default(false),
|
||||
recordedAt: timestamp("recorded_at").notNull(),
|
||||
createdAt: timestamp("created_at").defaultNow(),
|
||||
}, (table) => ({
|
||||
|
||||
Reference in New Issue
Block a user