精华内容
下载资源
问答
  • 我们有个项目是用来查询车辆轨迹,在某个市的每条主要道路的十字路口都安装了采集设备,车辆经过时会采集到车辆信息,包括车牌号码、采集时间、采集经纬度。平均每天有1亿条采集数据。现在我的需求是按车牌号和...
  • -topic elk 5,查看elasticsearch是否接受到数据 数据都已经上来本次模拟了2万条数据 一会测试下1000千万数据下的查询 六、后续 整体的业务流程是定位数据采集程序采集进入围栏内的车辆定位数据实时传递至kafka集群...

    在这里插入图片描述

    一、搭建zookeeper:
    1,zookeeper镜像采用wurstmeister/zookeeper:latest拉取zookeeper镜像
    docker pull wurstmeister/zookeeper
    在这里插入图片描述

    2,启动zookeeper
    docker run -d --name zookeeper -p 2181:2181 -t wurstmeister/zookeeper
    在这里插入图片描述

    3,查看zookeeper启动日志
    docker logs -f zookeeper
    在这里插入图片描述

    4,查看zookeeper安装路径
    docker exec zookeeper pwd
    在这里插入图片描述

    5,查看zookeeper运行状态
    docker exec zookeeper bin/zkServer.sh status
    在这里插入图片描述

    6,zookeeper搭建完成
    二、搭建kafka:
    1,kafka镜像采用wurstmeister/kafka:latest 拉取kafka镜像
    docker pull wurstmeister/kafka
    在这里插入图片描述

    2,启动kafka
    docker run -d --name kafka
    –env KAFKA_ADVERTISED_HOST_NAME=localhost
    –env KAFKA_ZOOKEEPER_CONNECT=172.21.0.11:2181
    –env KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://172.21.0.11:9092
    –env KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092
    –env KAFKA_HEAP_OPTS="-Xmx256M -Xms128M"
    –net=host wurstmeister/kafka
    在这里插入图片描述

    3,查看kafka启动日志
    docker logs -f kafka
    在这里插入图片描述

    4,查看kafka版本
    docker exec kafka find / -name *kafka_* | head -1 | grep -o ‘\kafka[^\n]*’
    在这里插入图片描述

    5,kafka搭建完成
    三、搭建logstash
    1,logstash镜像采用logstash:7.9.1拉取logstash镜像
    docker pull logstash:7.9.1
    在这里插入图片描述2,启动logstash
    docker run -d --restart=always --privileged=true
    -p 5044:5044 --name logstash
    -v /root/elk/logstash/config/logstash.yml:/usr/share/logstash/config/logstash.yml
    -v /data/elk/logstash/conf.d/:/usr/share/logstash/conf.d/
    logstash:7.9.1
    在这里插入图片描述3,查看启动日志
    docker exec -it logstash /bin/bash
    4,进入容器
    docker exec -it -u root logstash /bin/bash
    5,找到配置文件修改
    在这里插入图片描述input{
    kafka{
    bootstrap_servers => “172.21.0.11:9092” #kafka地址
    auto_offset_reset => “earliest” #消息读取位置
    topics => [“oracle_test”] #kafka中topic名称,记得创建该topic
    group_id => “logstash” #默认为“logstash”
    codec => “json” #与Shipper端output配置项一致
    consumer_threads => 3 #消费的线程数
    max_poll_records => “2000”
    decorate_events => true #在输出消息的时候回输出自身的信息,包括:消费消息的大小、topic来源以及consumer的group信息。
    }
    }
    output {
    kafka {
    topic_id => “elk”
    bootstrap_servers => “172.21.0.11:9092”
    }
    elasticsearch {
    user => elastic
    password => zOhEjICix5EQBw1Jaxlkcw9i
    hosts => [“https://aws.found.io:9243”]
    index => “logstash-%{+YYYY.MM.dd}”
    }
    }

    6.重启logstash
    docker restart logstash
    四、搭建elasticsearch
    在这里插入图片描述本次elasticsearch采用的是云端官方的服务elasticsearch cloud集群配置是三个节点
    节点1:4 GB RAM
    节点2:1 GB RAM
    节点3:4 GB RAM

    1,集群环境健康检查
    在这里插入图片描述2,查询全部索引
    在这里插入图片描述五、模拟业务环境
    1,进入kafka
    docker exec -it kafka /bin/bash
    2,打开生产者console
    ./kafka-console-producer.sh --broker-list 172.21.0.11:9092 --topic oracle_test
    3,测试数据是从生产库上下载了一会定位数据
    在这里插入图片描述4,logstash的out我配置了个两个通道一个是到elasticsearch,一个是到kafka的另一个topic
    查询测试topic是否接受到数据
    docker exec kafka kafka-console-consumer.sh --bootstrap-server 172.21.0.11:9092 --from-beginning --topic elk
    在这里插入图片描述
    5,查看elasticsearch是否接受到数据
    在这里插入图片描述在这里插入图片描述
    数据都已经上来本次模拟了2万条数据 一会测试下1000千万数据下的查询
    六、后续
    整体的业务流程是定位数据采集程序采集进入围栏内的车辆定位数据实时传递至kafka集群通过管道进入elasticsearch然后供实时查询分析

    展开全文
  • 概述司机端实时同步(建议每3s同步一个轨迹定位点)、存储车辆位置及车辆状态,并根据车辆(司机)标识,获取对应的行驶轨迹进行展示或计算行驶里程进行计费.使用限制需要创建WebService类型的AppKey,并且开通『data/...

    概述

    司机端实时同步(建议每3s同步一个轨迹定位点)、存储车辆位置及车辆状态,并根据车辆(司机)标识,获取对应的行驶轨迹进行展示或计算行驶里程进行计费.

    使用限制

    需要创建WebService类型的AppKey,并且开通『data/vehicle』、『vehicle/track』接口权限.使用时,先通过『data/vehicle』接口上传车辆实时位置及状态,并通过『vehicle/track』接口进行轨迹及里程查询.

    适配平台

    WebService

    基础功能

    接口URL

    https://tsapi.amap.com/v1/carhailing/vehicle/track?key=?

    适用场景:根据车辆ID查询车辆行驶轨迹里程

    根据车辆ID查询车辆原始轨迹/还原轨迹路线

    功能1:查询车辆行驶里程

    curl

    -X GET 'https://tsapi.testing.amap.com/v1/carhailing/vehicle/track?

    key=?&sid=?&vehicleId=?&startTime=x,y&endTime=x,y&isPoints=0'

    注意:startTime和endTime的值需要和『data/vehicle』接口上传轨迹时的timestamp保持一致.

    功能2:查询纠偏处理后的车辆行驶轨迹

    curl

    -X GET 'https://tsapi.testing.amap.com/v1/carhailing/vehicle/track?

    key=?&sid=?&vehicleId=?&startTime=x,y&endTime=x,y&isPoints=1'

    注意:startTime和endTime的值需要和『data/vehicle』接口上传轨迹时的timestamp保持一致.

    功能3:查询原始上传的车辆行驶轨迹

    curl

    -X GET 'https://tsapi.testing.amap.com/v1/carhailing/order/track?

    key=?&sid=?&vehicleId=?&startTime=x,y&endTime=x,y&isPoints=1

    &accuracy=0&denoise=0&dilute=0&restore=0&recoup=0'

    注意:startTime和endTime的值需要和『data/vehicle』接口上传轨迹时的timestamp保持一致.

    相关素材车辆轨迹查询:  参考手册

    展开全文
  • 在之前的轨迹系列中,我们详细的对单个轨迹展示进行了研究,涉及到GPS对接协议、轨迹存储、轨迹纠正算法、前端轨迹展示。 但是,实际项目中还会有另一类需求:假设武汉市洪山区有300辆警车,在大厅的大屏幕上需要...

    文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/

    1. 背景

    在之前的轨迹系列中,我们详细的对单个轨迹展示进行了研究,涉及到GPS对接协议、轨迹存储、轨迹纠正算法、前端轨迹展示。

    但是,实际项目中还会有另一类需求:假设武汉市洪山区有300辆警车,在大厅的大屏幕上需要知道所有警车的实时轨迹。这个需求用我们之前的单轨迹展示架构是没法支撑的。

    此时,我们需要对我们的架构以及前端展示方式进行重构。

    2.架构设计的几点思考

    a.采用websocket方案重构:传统的前端定时拉取信息方式不足以支撑实时的数据获取,并且向后台不断发送请求获取所有车辆实时轨迹会对服务器造成十分巨大的压力。

    b.GPS接收后直接通过socket推送:避免先入库再读取方式。

    c.GPS进行实时的坐标转换和基于路网的纠正:多轨迹展示中,如果GPS在道路上偏移,会使展示效果格外混乱,所以这里必须进行轨迹的实时纠正。而如何高效的进行轨迹纠正也是一个十分重要的步骤,后篇我们再一起讨论。

    d.前端多轨迹展示的编写:目前百度地图在echarts3中有一个北京公交轨迹展示示例。但是实际项目中,我们是内网的本地地图。这里需要对echarts3中引用百度地图bMap的源码部分进行修改,然后集成至前端框架中。

    3.具体实现

    3.1WebSocket架构

    3.1.1后台

    引入javax.websocket-api-1.1.jar,在tomcat7以后,lib中自带websocketapi.jar。

    编写通信类,比较重要的方法为:

    a. Session  与某个客户端的连接会话,需要通过它来给客户端发送数据

    b. onOpen连接建立成功调用的方法

    c.onClose 连接关闭调用的方法

    d. onMessage 收到客户端消息后调用的方法

    e. onError 发生错误时调用

    f.sendMessage 发送消息

     

    3.1.2前端

    在HTML5中内置有一些API,用于响应应用程序发起的请求。类似于后台的方法,其基本API语句如下:

    创建对象,var ws = new WebSocket(url,name); url为WebSocket服务器的地址,name为发起握手的协议名称,为可选择项。

    发送文本消息,ws.send(msg);msg为文本消息,对于其他类型的可以通过二进制形式发送。

    接收消息,ws.onmessage = (function(){...})();

    错误处理,ws.onerror = (function(){...})();

    关闭连接,ws.close();

    3.2echarts3改写

     

    针对bMap.js的改写为最重要的改写

     

    改写后,在设置参数的options中引入对应改写的地图即可:

     

     

    4.成果展示

     

                      

                            -----欢迎转载,但保留版权,请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/

                                                                                  如果您觉得本文确实帮助了您,可以微信扫一扫,进行小额的打赏和鼓励,谢谢 ^_^

                                                                                                                                                

     

                                      

    展开全文
  • 轨迹记录是现在交通运输发展的今天必不可少的一项技术,从卫星上天得那一刻,运输管控等TMS类似就注定诞生! 百度知道告诉我们GPS定位不准原因: https://jingyan.baidu.com/article/48a42057084f9fa9242504de.html  ...

    轨迹记录是现在交通运输发展的今天必不可少的一项技术,从卫星上天得那一刻,运输管控等TMS类似就注定诞生!

    百度知道告诉我们GPS定位不准原因: https://jingyan.baidu.com/article/48a42057084f9fa9242504de.html 

    以下是一个GPS误差引入简表:

    l         卫星时钟误差:0-1.5米

    l         卫星轨道误差:1-5米

    l         电离层引入的误差:0-30米

    l         大气层引入的误差:0-30米

    l         接收机本身的噪音:0-10米

    l         多路反射:0-1米

    l         总定位误差:大约28米

     

    什么是GPS的漂移?

    用过GPS的人大概都有这种体会:当GPS终端静止的时候,其定位坐标(经纬度)经常在变,偶尔变化还比较大,甚至还会显示有速度。业内人士把这种现象称为“漂移”。

    其实,GPS漂移不仅在静止的时候会产生,动态的时候也会产生,只不过漂移的程度没那么明显,产生的几率小些罢了,这是GPS的一个基本特性。(至于GPS为什么会产生漂移,了解GPS的定位原理就不难解释,在此不再详述。)

    GPS漂移是GPS应用时需要处理的问题之一,漂移主要有两个方面,

    第一,   速度过快,以至于GPS的响应时间短于当前运行速度,出现漂移;

    第二,   在高大建筑密集或天气情况不好的地方,因为GPS信号经过多次的折、反射,造成信号误差,出现漂移。

    GPS漂移的两种表现:静态位置漂移、速度(位置)漂移

     

    以上,是对GPS相关知识的一个简单说明, 在实际开发过程中,我真实遇见了这个严峻的问题,  先后用 GPS全量收集,GPS点速度过滤,距离过滤,以及高德地图的LBS服务等, 进行了一系列对比,想到一种可行的方案:

    1. 网络+GPS定位 , 通过距离对当前状态分为两种: 静止状态/移动状态. 

        网络定位的特点是: 相对高精度(8星10米内)的GPS定位误差偏大,没有速度/角度等( 可以使用手机传感器,但是人在原地转圈也存在高速和角度变化大问题), 但是不需要GPS信号,通过地址与前后三点平均距离对其进行二次过滤

    2. 进入静止状态的条件是 :  连续多点距离变化小

      进入移动状态的条件:当前处于静止状态切有多次距离较大改变量变化

    3. 静止状态下, 大变化的点轨迹记录次数不处理 ,移动状态同理 , 这样是为了避免 飘逸,

    因为静态飘逸数据特点: 例如,多次连续小范围内的距离在5m以内,突然存在一两次100m甚至500m的轨迹点出现(观察中, 高德API 无论GPS还是网络都存在, 特别是人在电梯内 变化尤为明显)

     

    针对以上想法的实现效果图:

    其中:

    黑色-记录的原轨迹点

    红色-对原轨迹点进行抽稀平滑道路纠正

    蓝色及黄色-高德LBS服务

    图1 - 行驶轨迹  走路+公交+地铁

     

    部分代码片段:

        private AMapLocation prev;
    
        @Override
        public boolean intercept(AMapLocation location) {
    
            if (prev!=null){
                LatLng s =  new LatLng(prev.getLatitude(), prev.getLatitude());
                LatLng d = new LatLng(location.getLatitude(), location.getLatitude());
                float distance = AMapUtils.calculateLineDistance(s,d);//距离改变量,单位米
                LLog.print("距离改变量: "+ distance+" 米");
                if (distance < intervalMin ) {
    //                LLog.print("距离改变量过小: "+ distance+" 米");
                    if (distance<3) {
                        if (!staticFlag){
                            count++; //收集连续多次的距离改变量
                            if (count==10){
                                staticFlag  = true;
                                count=0;
                                LLog.print("进入静止状态");
                            }
                        } else {
    //                        LLog.print("当前处于静止");
    
                            if (count>0) count--;
                        }
                    }
                    //如果连续10次距离改变量==0 认为处于静止状态, 解除静止状态的条件: 连续3次大的距离改变
                    return true;
                }
    
                if (staticFlag) {
                    count++;
                    if (count==3){
                        staticFlag = false;
                        count = 0;
                        LLog.print("进入移动状态");
                    }
                }else{
    //                LLog.print("当前移动正常");
                    if (count>0) count--;
                }
    
                if (distance < intervalMax){
                    float time = (location.getTime() - prev.getTime()) / 1000.0f; //两点的时间差
                    if (time <= 0) {
                        //LLog.print("时间异常: " + time);
                        return true;
                    }else{
    //                    prev.setTime(location.getTime());
                        float speed = distance/time; // m/s ,车辆速度最大值  50米/秒(m/s)=180千米/时(km/h)
                        if (speed < 1.5){
                            LLog.print("速度过小: "+ speed+" 米/秒");
                        }else if (speed > 30){
                            LLog.print("速度过大: "+ speed+" 米/秒");
                        }
                    }
                }
            }
    
            if (staticFlag) {
                LLog.print("静止状态");
                return true;
            }
            LLog.print("移动状态");
            prev = location;
    
            return false;
        }

    图2 - 部分数据截图

    图3 - 部分数据截图

     

    如今大多数智能手机系统都提供节点功能, GPS轨迹记录目前对于电量消耗是巨大的,如果在应用开发过程中,建议使用者进行如下设置:

     

     

    我是狼一样的存在 , 嗷呜`

     

     

     

     

     

     

     

     

     

     

     

     

    展开全文
  • 近日,四川省交通运输厅运管局联合四川省公安厅交警总队制定并下发了《加强营运车辆动态监控及营运客车安全带使用工作方案》,并决定从即日起至7月31日在全省开展营运车辆动态监控及营运客车安全带使用专项工作。...
  • 人员定位及轨迹管理方案

    千次阅读 2021-03-03 09:32:02
    华星智控精准定位系统,可以精准定位室内外人员、物资、车辆的位置,定位精度优于30厘米。 要被定为的目标对象需要佩戴有源的定位标签,在需要定位的室内或者室外安装定位基站,就可以实现对人员、物资的精确定位...
  • 一种车辆尾气排放时空可视化在线平台-以武汉市出租车轨迹数据为例,潘婷,贾涛,针对车辆尾气排放量在线可视化时空分析问题,论文提出一种轻量级的基于B/S网络架构的尾气排放在线可视化分析解决方案,设计并实现
  • 在越来越多的可视化需求中,对空间信息的展示,逐渐的由静转为动,通过还原一些真实的时空信息,如历史行车轨迹,渔船打捞作业,特种车辆运行轨迹回放等可以直观的查看时空分布规律,它是一种越来越重要的展示形式...
  • 在越来越多的可视化需求中,对空间信息的展示,逐渐的由静转为动,通过还原一些真实的时空信息,如历史行车轨迹,渔船打捞作业,特种车辆运行轨迹回放等可以直观的查看时空分布规律,它是一种越来越重要的展示形式...
  • GPS警用车辆3G视频监控系统方案

    千次阅读 2011-06-01 15:24:00
    对警用车实施GPS车辆及时...并对以上监控数据进行记录,需要时可对车辆的历史运行进行回放,包括车辆的位置、状态、速度、方向和运行轨迹等,具有高效的防抢、防盗功能,极大的提高了车辆运行的安全性和调度的便捷性
  • 本文主要介绍隧道人员车辆定位系统解决方案_隧道人员UWB精确定位系统。 在隧道人员车辆定位系统解决方案中,有一种隧道人员车辆定位系统叫做隧道人员UWB精确定位系统。 隧道人员UWB精确定位系统的如下细节: 1.隧道...
  • 随着物联网、AI、大数据、云计算等科技的发展,信息化、数字化管理模式逐渐应用于...环卫车辆GPS定位监管方案,以车载GPS定位终端、智能行车记录仪、智能电子工牌为入口,采集人、车位置信息、活动轨迹车辆行驶状...
  • 家长担忧,学校无奈,交警头疼,学校的校车安全问题该...该系统平台设计是基于校车车辆安全管理为目标建立,从管理职能的角度出发,遵循国家综合交通信息管理系统平台建设的总要求,形成对内对外信息交换和共享的...
  • 社区是居民日常生活的重要场所,人员和车辆流动性较大,在社区的重点场所或主要通道设置人脸、车辆卡口系统,可以有效采集经过的对象信息,帮助用户快速进行人脸/车辆检索、定位、黑名单布控并查明活动轨迹,为居民...
  • 此篇为跨度两年的轨迹系列文章总结之一。 1.轨迹,为什么需要“装扮” 得益于移动设备的普及性,在缺少其他监管手段的情况下,城市管理中...其中轨迹的管理方案囊括了轨迹里程统计、工作状态监管、实时位置查看...
  • (来源:金色轨迹)1、引言城市轨道交通对城市发展起着重要的带动作用,而城市发展对城市轨道交通安全可靠、高效集约、网络化、智能化的发展也提出了越来越高的要求。如何在保障城市轨道交通系统安全可靠运营的基础上...
  • 车辆监控管理

    2018-10-27 11:10:16
    专业的客运车辆监控 和客车监控系统解决方案.可远程进行车辆实时监控,调取录像,轨迹回放,支持图片抓拍,车辆定位,监控,跟踪,报警,管理和信息服务等功能.绝对干货
  • 为运货车辆安全问题而担忧?那我们怎么能避免这些问题呢?一般情况下,大家肯定会有一些解决方案,例如:提前与供应商确定发货时间,但因特殊原因导致供应商不能按时发货,且项目未能及时得到通知;或项目人员实时与...
  • 轨迹管理系统日常生活中使用非常普遍,如外卖派送轨迹、快递物流流转、车辆定位轨迹等。该场景与地理位置管理类似,核心点与瓶颈都在数据库的存储性能与查询能力,同时需要时间字段正序排列,保证轨迹点顺序;一方面...
  • 在之前的”多车辆实时迹展示方案”(https://www.cnblogs.com/naaoveGIS/p/8551915.html)文章中,我讲解了我们对多轨迹实时监测展示方案在前段的一些实践和对于后端架构的设计,但是在真实项目的落地过程中...
  • 轨迹管理系统日常生活中使用非常普遍,如外卖派送轨迹、快递物流流转、车辆定位轨迹等。该场景与地理位置管理类似,核心点与瓶颈都在数据库的存储性能与查询能力,同时需要时间字段正序排列,保证轨迹点顺序;一方面...

空空如也

空空如也

1 2 3 4 5 6
收藏数 106
精华内容 42
关键字:

方案车辆轨迹