EasyCVR国标GB28181方式添加通道GPS位置获取接口的实现过程

2021-07-12 18:03:41 浏览数 (1)

由于前不久我们在EasyGBS上添加了视频通道的实时GPS定位功能,根据更多的项目需求,我们现需在EasyCVR添加国标通道的GPS位置获取功能,和其他功能一样,这个功能我们也是通过接口调用来实现,本文分享一下我们的实现过程。

分析需求,首先需要获取历史位置信息,所以需要将每次新的GPS位置信息记录下来,然后在根据用户传入的搜索条件去查询通道历史的经纬度信息。

设计数据库添加如下表,添加设备名称,创建时间,设备id,通道id,通道名称,经纬度字段等:

添加如下代码,根据前端传入的q搜索字段,来查询对应设备的经纬度

q := db.SQLite.Model(models.Channel{}).Where("[index]=?", uint(id))

q.Find(&gbschannels)

if len(gbschannels) != 1 {

c.AbortWithStatusJSON(http.StatusBadRequest, "channel 值错误")

return

}

gbsdevices := make([]*models.Device, 0)

q = db.SQLite.Model(models.Device{}).Where("[index]=?", uint(dev))

q.Find(&gbsdevices)

if len(gbsdevices) != 1 {

c.AbortWithStatusJSON(http.StatusBadRequest, "device 值错误")

return

}

type Animal struct {

CreateTime models2.JSONTime

DeviceID string

ChannelID string

Longitude float64

Latitude float64 //纬度

}

项目现场调用接口测试,能够成功的出现经纬度,该功能添加完成。

0 人点赞