步骤一:sourceai/model/face/db/face_query.py添加及修改如下代码:

from sourceai.model.face.db import face_storage
from sourceai.model.face.db import face_obj


def query(imgid, name=''):
    dbconn = face_storage.MySQL_Query()
    res = ''
    if (name == 'user'):
        res = query_userinfo(dbconn, imgid)
    elif (name == 'resume'):
        res = query_resume_info(dbconn, imgid)
    elif (name == 'travel'):
        res = query_travel_info(dbconn, imgid)
    elif (name == 'medical'):
        res = query_medical_info(dbconn, imgid)
    elif (name == 'diet'):
        res = query_diet_info(dbconn, imgid)
    elif (name == 'catagory'):
        res = query_diet_catagory(dbconn, imgid)
    elif (name == 'consume_month'):
        res = query_consume_info(dbconn, imgid)
    elif (name == 'consume_year'):
        res = query_consume_year(dbconn, imgid)
    elif (name == 'trajectory'):
        res = query_trajectory(dbconn, imgid)
  
    # print(res)
    dbconn.disconnect()
    return res
    
 def query_trajectory(dbconn, imgid):
    sql = "select  n.f_long,n.f_lat from tb_user m,tb_trajectory n where m.f_id = n.f_userid and m.f_faceid ='" + imgid + "'"
    results = dbconn.query(sql)
    datas = []

    for row in results:
        item = [row[0],row[1]]
        datas.append(item)

    res = list_track(datas)

    return res

def list_track(data):
    data_copy = data.copy()
    last = data_copy[len(data_copy) - 1]
    data_copy.pop(0)
    data_copy.append(last)
    res = list(zip(data, data_copy))
    res = [list(item) for item in res]
    res.pop()
    print(res)
    return res

步骤二:在sourceai/controller/portrait_views.py文件中添加如下内容:

def earthdata(request):
    faceid = request.POST.get('userid')
    datas = face_query.query(faceid, 'trajectory')
    return HttpResponse(json.dumps(datas))

步骤三:修改前端static/index.html文件中轨迹访问数据代码

$.ajax({
        url: 'http://localhost:8000/earthdata',
        type: 'POST',
        data: {
            userid: user_id,
        },
        dataType: 'JSON',
        success: function (res) {
            // console.log(res);
            //参考航站信息
            //https://fastly.jsdelivr.net/gh/apache/echarts-website@asf-site/examples/data-gl/asset/data/flights.json
            var chartDom_e = document.getElementById('earth');
            var myChart_e = echarts.init(chartDom_e);
            var option_e;

             myChart_e.setOption({
                    backgroundColor: '',
                    globe: {
                        baseTexture: 'img/map01.jpg',
                        heightTexture: 'img/map02.jpg',
                        shading: 'lambert',
                        light: {
                            ambient: {
                                intensity: 0.8
                            },
                            main: {
                                intensity: 0.4
                            }
                        },
                        viewControl: {
                            autoRotate: true
                        },
                        globeRadius: 60
                    },
                    series: {
                        type: 'lines3D',
                        coordinateSystem: 'globe',
                        blendMode: 'lighter',
                        lineStyle: {
                            width: 2,
                            color: 'rgb(50, 50, 150)',
                            opacity: 0.9
                        },
                        data: res
                    }
                });

            option_e && myChart_e.setOption(option_e);
        }
    })

步骤四:启动项目,进行人脸识别后,结果如下:

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐