精华内容
下载资源
问答
  • 本文件数据包含AIVDM,船舶自身数据,静态航行数据,采集于重庆(最近),可以供AIS研发等相关人员下载验证协议解码等,大约包含88000条数据。格式已经处理("AIVDM原始数据\n",)。
  • 原始数据文件格式

    2017-10-20 16:16:04
    新一代天气雷达的原始数据是指天气雷达观测时采集到的所有经过整理加工的存档数据。该数据应包括回波强度、径向速度、速度谱宽、仰角、方位角、时间以及雷达主要的参数。回波强度需经过噪声阈值、定标、距离订正、...
  • 简介数据采集就是搜集符合数据挖掘研究要求的原始数据(Raw Data)。原始数据是研究者拿到的一手或者二手资源。数据采集既可以从现有、可用的无尽数据中搜集提取你想要的二手数据,也可以经过问卷调查、采访、沟通等...

    简介

    数据采集就是搜集符合数据挖掘研究要求的原始数据(Raw Data)。原始数据是研究者拿到的一手或者二手资源。数据采集既可以从现有、可用的无尽数据中搜集提取你想要的二手数据,也可以经过问卷调查、采访、沟通等方式获得一手资料。不管用哪种方法得到数据的过程,都可以叫做数据采集。

    一句话解释版本:

    数据采集就是怎么获得原始数据,如果把数据采集看成吃饭,自己撸起袖子做饭就是用一手数据,点外卖就是用二手数据。


    数据分析与挖掘体系位置

    数据采集是数据挖掘的基础。数据挖掘如果是建房子,数据采集就是那些砖跟水泥等等基础材料。没有砖,拿什么盖房子,总不能用空气吧?所以,找砖、找水泥的工作就是数据采集。它是数据准备工作的第一步。

    数据采集的工作中,包含着部分与样本的知识,但是那部分我们单独在“样本抽取”单元讲解。这里我们只说能够通过什么样的方法进行数据采集。因此,它在整个数据分析与挖掘体系中的位置如下图所示。


    数据采集的理解

    前面也说了,数据收集就是准备数据挖掘要用的那些数据。数据挖掘,没有数,哪来的挖掘呢?

    但是我们肯定会说:世界上有那么多的数据,我怎么知道自己要用的数据能不能拿到?怎么拿到?有什么方法拿到?

    数据收集的理论其实就是提供了一个方法论,或者说一个框架,它就是告诉你:有这些这些方法能够在你不知道数据中怎么来的时候帮到你。你不是不知道数据从哪里来吗?我告诉你,有这么多的方法都能帮你拿到数据。

    唯一一个需要注意的地方就是:

    数据收集可以告诉你:我怎么样才能拿到数据。

    但是,不能告诉你:你拿到的数据合不合适;他也不能告诉你:你需要什么样的数据。

    要解决后两个问题,你需要进行完善的项目调研,并且明确项目的需求。这些,靠的是你对业务以及模型的理解,而并非是方法论。

    数据采集的方法

    数据收集的方法可以分成两类:

    1. 直接来源:一手数据
    2. 间接来源:二手数据

    就像前面说的,一手资源就是拿着炒勺锅子自己做饭。二手资源则是点个外卖,吃别人做好的饭。

    我们下面分别讲解一下如何用这两种方法吃饱饭。


    直接来源:一手数据

    一手数据的正式版定义是:通过研究者实施的调查或实验活动获得的数据。

    所以,要想获得一手数据,有两种方法:调查 或 实验。

    调查

    通过调查得到的一手数据叫做调查数据。调查数据是针对社会现象的。比如说,调查现在的经济形势、人的心理现象、工厂效率等等。

    调查的形式

    调查的形式分为两类:

    • 普查
    • 抽样

    普查是要对一个总体内部的所有个体进行调查,国家进行的人口普查就是最典型的普查形式。普查的结果是最贴近总体的真实表现的,是无偏见(Unbias)的估测。但是普查的成本太大,少有项目采用这种方式。

    抽样则在生活中被应用的更加广泛。由于数据分析挖掘涉及的总体数据量一般很大,如果要做普查,没有大规模的时间与金钱是几乎不可能的。所以,我们会从总体中抽取部分有代表性的个体调查,并用这部分个体的数据去反映整体,这就是抽样。

    调查的方法

    不管是用普查还是抽样的方法,数据采集都习惯用下面三种方式之一:

    • 自填式:填写调查问卷(电子/书面)。
    • 面访式:面对面采访。
    • 电话式:电话联络。

    具体的设计问卷的方法、面访的技巧或者电话的提问设计都在后面慢慢讲解。这里只是概括性的介绍方法。


    实验

    通过实验得到的一手数据叫做实验数据。调查数据是针对自然现象的。比如说,植物背光生长的快慢、小白鼠对食物的记忆规律等等。

    实验的方法

    实验方法需要研究者真正设计实验,并记录结果、整合为数据,服务于后期的数据分析与挖掘工作。

    实验的设计需要满足一个大原则:有实验组与对照组。实验组是只有要研究的变量发生变化的组;对照组是保持变量不变的组。这样,通过控制变量的方法,能得到观测数据。


    间接来源:二手数据

    二手数据的正式版定义是:数据原本已经存在,是由别人收集的,使用者通过重新加工或整理得到的数据。

    所以,要想获得二手数据,有两种方法:系统内部采集 或 系统外部采集。

    系统内部采集

    系统内部采集数据是我在工作中最常见的数据采集方法。要进行数据分析的公司肯定会有自己的数据,这些数据一般会保存在数据库中,我有过接触的数据库例如Oracle与Teradata。在数据仓库中,会保存公司内部的生产数据,他们就是将公司的业务、渠道、成本、收益等生产过程数字化并固定存放在机器中。数据挖掘师可以通过SQL语言提取想要的数据表,并进行数据的收集。

    系统内部数据一般都与企业的生产相关,涉及到用户信息的保密与商业机密等问题。所以一般都是有项目或者有研究课题的时候才能够获取。


    系统外部采集

    系统外部采集的数据是更加宏观、更加公开的数据。这些数据大部分不是针对某一家公司自己的运营与生产情况,而是更加偏重于社会的外部环境以及行业的经济形势。

    下面这些都是系统外部采集的常用渠道:

    • 统计部门或政府的公开资料、统计年鉴
    • 调查机构、行会、经济信息中心发布的数据情报
    • 专业期刊
    • 图书
    • 博览会
    • 互联网

    系统外部采集数据的源头众多,采集方法也有很多,手工处理excel或者网络爬虫都是可选的方法。

    展开全文
  • 原始数据集获取

    2021-06-24 09:22:09
    原始数据采集 下面是对原始采集数据质量的评估:   1)图像、视频:分辨率,清晰度,光照,色彩等   2)语音:清晰度,背景音等   3)文本:是否自然语言,是否专业,与主题相关性等 下面是对数据标注质量的...

    原始数据的采集

    下面是对原始采集数据质量的评估:
      1)图像、视频:分辨率,清晰度,光照,色彩等
      2)语音:清晰度,背景音等
      3)文本:是否自然语言,是否专业,与主题相关性等

    下面是对数据标注质量的评估:
      标注正确率(类别数据)
      标注精确度(坐标、时间点、个数、文字等)
      标注完备性(是否漏,是否重复)
      标注一致性(前后规则是否一致)

    人工标记的大规模数据一般都会含有噪声,一些经典数据集也含有噪声,例如人脸LFW、MS COCO等,这是不可避免的,不过在可以接受的限度内就行。

    经典数据集

    MNIST数据集

    深度学习领域的“Hello World!”!
      THE MNIST DATABASE of handwritten digits。MNIST是一个手写数字数据集,它有60000个训练样本集和10000个测试样本集,每个样本图像的宽高为28*28。需要注意的是,此数据集是以二进制存储的,不能直接以图像格式查看。

    常见的用于分类的数据集

    在这里插入图片描述

    开源数据集 https://www.kaggle.com/datasets

    CIFAR/cifar

    用于分类算法测试的中小规模数据集。

    1)CIFAR-10包含10个类别,50,000个训练图像,彩色图像大小:32x32,10,000个测试图像。
      CIFAR-10 is an image classi cation benchmark dataset. It consists of a training set of size 50K and a test set of size 10K, where instances are 32 * 32 color images representing airplanes, automobiles, birds, cats, deer, dogs, frogs, horses, ships and trucks.

    2)CIFAR-100与CIFAR-10类似,包含100个类,每类有600张图片,其中500张用于训练,100张用于测试;这100个类分组成20个超类。图像类别均有明确标注。

    COCO common objects Dataset(Common Objects in Context)

    COCO数据集由微软赞助,其对于图像的标注信息不仅有类别、位置信息,还有对图像的语义文本描述,COCO数据集的开源使得近两三年来图像分割语义理解取得了巨大的进展,也几乎成为了图像语义理解算法性能评价的“标准”数据集。

    它有如下特点:
    1)Object segmentation
    2)Recognition in Context
    3)Multiple objects per image
    4)More than 300,000 images
    5)More than 2 Million instances
    6)80 object categories
    7)5 captions per image
    8)Keypoints on 100,000 people

    三大子集
      1)目标检测(COCO Detection Challenge),包含两项比赛:用于目标检测、语义分割

    2)图像标注(COCO Captioning Challenge)
      具体说来就是一句话准确描述图片上的信息(producing image captions that are informative and accurate)。那这个怎么评分呢?目前是靠人工评分。

    3)人体关键点检测(COCO Keypoint Challenge)
      比赛要求是找到人在哪,然后定位到人体的一些关键点位置(The keypoint challenge involves simultaneously detecting people and localizing their keypoints)。

    Pascal VOC

    PASCAL VOC挑战赛是视觉对象的目标分类和目标检测的一个基准测试,提供了检测算法和学习性能的标准图像注释数据集和标准的评估系统。
      PASCAL VOC图片集包括20个目录:人类;动物(鸟、猫、牛、狗、马、羊);交通工具(飞机、自行车、船、公共汽车、小轿车、摩托车、火车);室内(瓶子、椅子、餐桌、盆栽植物、沙发、电视)。
      PASCAL VOC挑战赛在2012年后便不再举办,但其数据集图像质量好,标注完备,非常适合用来测试算法性能。

    ImageNet数据集

    1)Total number of non-empty synsets(同义词): 21841
      2)Total number of images: 14,197,122
      3)Number of images with bounding box annotations: 1,034,908
      4)Number of synsets with SIFT features: 1000
      5)Number of images with SIFT features: 1.2 million

    WebVision竞赛

    超越 ILSVRC:侧重图像学习和理解的 WebVision竞赛
      超越 ILSVRC”workshop 将正式宣布ImageNet 竞赛的完结。ImageNet 之所以不再正式举办,是因为在 2016 年 ILSVRC 的图像识别错误率已经达到 2.9% 左右,远远超越人类(5.1%),今后再进行这类竞赛意义就不大了。
      未来,计算机视觉的重点在图像和视频的理解。由此,便产生了一个值得关注的问题——继 ImageNet 之后成为计算机视觉界标志性竞赛的是什么。

    The Street View House Numbers (SVHN)

    SVHN是一个真实世界的街道门牌号数字识别数据集,该数据集有两种格式:Full Numbers和Cropped Digit。
      其中,Cropped Digit,这里面是被裁剪成32*32的彩色图像,训练集有73257张,测试集有26032张,另有包含了531131张图像的extra训练集。

    ILSVRC-2012

    由于ILSVRC-2012测试集标签是不公开的,我们不能对试过的所有模型都报告测试误差率。在本段的其余部分,我们将验证误差率与测试误差率互换,因为根据我们的经验,它们之间相差不超过0.1%。

    LFW+

    LFW+是基于LFW构建的一个包含年龄,性别,种族标注的数据集。每张人脸图像通过至少3个 amazon mechanical turk 标注,然后通过计算年龄均值作为年龄的标注,通过投票确定性别和种族的标注。此外,因为LFW数据集中青少年的图像偏少,LFW+中增加了2000多张青少年的人脸图像。
      LFW+数据集可以用于人脸属性学习方面的研究,例如年龄估计,性别分类,种族分类。
      获取方式: http://biometrics.cse.msu.edu/Publications/Databases/MSU_LFW+/

    各个领域的数据集

    CityScapes数据集(自动驾驶)

    自动驾驶算法公开排行榜Cityscapes,Cityscapes主要专注于像素级别的分割和识别。

    KITTI

    KITTI由德国卡尔斯鲁厄理工学院(Karlsruhe Institute of Technology)和丰田芝加哥技术研究院(Toyota Technological Institute at Chicago)于2012年联合创办,是目前国际上最大的自动驾驶场景下的计算机视觉算法评测数据集。
      用于评测3D 目标(机动车、非机动车、行人等)检测、3D 目标跟踪、道路分割等计算机视觉技术在车载环境下的性能。KITTI包含市区、乡村和高速公路等场景采集的真实图像数据,每张图像中多达15辆车和30个行人,还有各种程度的遮挡。

    Omniglot dataset

    1623个手工绘制的字符从50个字母。为每个字符只有20个实例,每一个不同的人画在分辨率105x105。

    JFT-300M

    谷歌希望利用300M的大数据集进一步检验模型的能力和提升空间。
      具体来说,我们已经构建包含300M图像的内部数据集(JFT-300M),这些图像被标注为18291个类别。图像标注算法使用了原始网络信号的复杂混合体和网页与用户反馈之间的连接,这导致300M图像拥有10亿多标签(一个图像可具备多个标签)。10亿图像标签中,谷歌通过将所选图像的标签精度最大化而获取了375M标注。然而,标签中仍然存在大量噪声:所选图像的标签中约有20%带有噪声。由于缺乏详细注释,我们无法评估标签的召回率。
      新的最优结果。我们的论文展示了在JFT-300M上训练的模型,该模型在多个基准上获得了最佳的结果。例如,单模型(没有任何附加技巧)在COCO检测基准上获得了37.4AP(相对于原来的34.3AP)

    谷歌的目标:10亿+ 规模数据集
      在模型越来越复杂的现在,谷歌的目标是——朝着 10 亿+ 的数据集前进。
      Gupta 补充强调说,由于没有搜索最佳的超参数集合(因为需要相当大的计算量),所以本次实验得出的结果很可能还不是最佳。也就是说,这次他们的实验可能还没有完全将数据对性能的影响表现出来。由此,Gupta 指出,虽然难度很大,但获取针对某一任务的大规模数据应当成为未来研究的重点。

    Common Voice

    mozilla基金会(即开发firefox浏览器的)开源语音识别模型,和世界第二大语音数据集。
      Mozilla 在今年七月份启动了 Common Voice 项目(https://voice.mozilla.org/)。该项目的目标是使人们能轻松地将他们的语音数据贡献到一个公开数据集上。
      Mozilla 公布了贡献数据集的第一部分:大约 400,000 份录音,500 个小时时长。
      所有人都可以在这里下载:https://voice.mozilla.org/data。
    虽然目前主要是英文数据,但是未来 Common Voice 将支持对多种语言的贡献,这个计划将从 2018 年上半年开始。

    CMU Multi-PIE Face Database

    A large (305GB) database of images for training facial recognition software. (300多G,都是花钱买的,谁能免费给你啊)
      contains more than 750,000 images of 337 people, with 15 different views and 19 lighting conditions.
      所谓“PIE”就是姿态(Pose),光照(Illumination)和表情(Expression)的缩写。CMU Multi-PIE人脸数据库是在CMU-PIE人脸数据库的基础上发展起来的。包含337位志愿者的75000多张多姿态,光照和表情的面部图像。其中的姿态和光照变化图像也是在严格控制的条件下采集的,目前已经逐渐成为人脸识别领域的一个重要的测试集合。
    ————————————————
    版权声明:本文为CSDN博主「whitenightwu」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/wydbyxr/article/details/84529055

    展开全文
  • 这些页面包含原始数据,这些原始数据是针对我们在《复杂环境中的在线步态相位检测》一书中报告的实验而收集的。 我们公开提供数据,使同一领域的其他研究人员受益。 DTW均值 文件夹“ DTWMean”包括源代码,也可从...
  • CoreCLR是.NET Core的运行时,包括垃圾收集器、JIT编译器、原始数据类型和低级类
  • 系统一旦交付客户使用,首先肯定是系统原始数据采集,然后才是系统业务流程的处理(其实质也还是数据的交换与处理),要确保原始数据的准确性,我认为应该做好以下几个方面: (1)定制数据采集模板要全面又要简洁。...

    标题系统上线后如何确保原始数据的准确性?

    系统一旦交付客户使用,首先肯定是系统原始数据采集,然后才是系统业务流程的处理(其实质也还是数据的交换与处理),要确保原始数据的准确性,我认为应该做好以下几个方面:

    (1)定制数据采集模板要全面又要简洁。全面指的是采集的数据项目要做到全覆盖,不能漏项目。简洁是指采集的数据要做好分层分类,让客户尽量做选择题而非填空题。一个系统采集的数据本来就比较繁杂,客户对某些数据项目的认知又参差不齐,要准确的采集原始数据又不给客户增加很大负担,就需要将数据采集模板设计成填字游戏一下,既让他们有完成游戏的冲动,又明确规则的重要性。

    (2)定制数据采集模板要有完善的数据填报说明和提示,并对关键项目进行数据限制。在不影响模板复杂性的前提下,在数据项目上增加填报说明和提示,让客户一目了然,对于关键的项目进行项目内容和填报格式的严格限制。

    (3)定制数据采集模板工具的选择。比较常见的有excel模板、word模板、客户端模板、浏览端在线模板等,这些模板各有利弊:excel模板用户界面比较熟悉,容易上手,兼容性存在问题而且数据限制比较困难;word模板不如excel采集数据导入系统方便,而且进行数据限制也比较困难,客户端定制的模板比较符合系统的要求,数据准确性也高,但也可能存在需要本地化安装、数据导入导出上传等麻烦,操作的灵活性也可能不够;浏览端在线模板比较方便,在手机、电脑、pad上都可以采集,而且可以方便采集非文字、图片数据项目,采集的数据项目可以实时比对更新,也没有安装的麻烦,但开发成本可能要高一定,有条件的可以选择。

    (4)组织数据采集培训。数据采集是一个相当重要的环节,要确保采集的数据 的准确性,需要对填报人员进行培训,明确数据采集的步骤、注意事项和常见问题。

    (5)数据筛查。原始数据一旦导入系统,数据不能立即进入运行库,首先应该进入临时库,进行数据筛查,因为有的数据是原先进行数据限制不够导入数据填报错误或格式错误或者数据比较稀疏,发现这些问题,系统端可以进行预处理就在系统端进行预处理,包括数据清理等数据仓库步骤可以在此时发挥作用,如果系统层面无法核实的,则需要将数据问题反馈给用户,再次分析客户需求,并更正数据或者调整数据项目。

    (6)数据确认。数据筛查完成之后,需要将导入的原始数据进行可视化的整理,让客户直观的数据进行再确认,确保数据是对客户需要的真实写照。

    (7)备份存档。数据确认完成后,将确认过的数据备份存档。

    展开全文
  • 要启用RF数据收集,可以按模式菜单中的RF图标。 然后,在以B模式扫描时,扫描仪将进行内部RF帧捕获。 不使用RF模式时,默认情况下会捕获IQ和包络数据。 启用RF模式时,默认情况下会捕获RF和包络数据。 下载原始数据 ...
  • Android 获取GNSS原始数据

    千次阅读 热门讨论 2020-04-05 12:03:17
    获取安卓设备的GNSS测量数据方法 2016 年 5 月,Google 在 I/O 开发者会议上宣布,将为 Android Nougat 操作系统中的应用程序提供原始 GNSS 观测数据。 API参考(Google中文官网)DEMO参考(GNSSLogger) 1. 用到的...

    获取安卓设备的GNSS测量数据方法

    2016 年 5 月,Google 在 I/O 开发者会议上宣布,将为 Android Nougat 操作系统中的应用程序提供原始 GNSS 观测数据。
    API参考(Google中文官网)DEMO参考(GNSSLogger

    1. 用到的类

    注释
    LocationManager用于注册GNSSmeasurement
    GnssMeasurementsEvent.Callback用于从GNSS引擎接收GNSS卫星测量值
    GnssMeasurementsEvent一个包含测量值数据的容器
    GnssClock包含GPS时钟时间戳记的类
    Gnssmeasurement代表GNSS卫星测量的类,其中包含原始信息和计算信息

    2.设置权限
    必须先在Manifest文件中设置相应的权限,否则将无法获取测量的回调数据

    <!--    所需权限-->
        <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
        <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
        <uses-permission android:name="android.permission.INTERNET" />
        <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
        <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS"/>
        <uses-permission android:name="com.google.android.gms.permission.ACTIVITY_RECOGNITION"/>
        <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>
        <uses-permission android:name="com.google.android.providers.gsf.permission.WRITE_GSERVICES"/>
        <!--    所需权限-->
    

    3.注册GNSSmeasurement

    private LocationManager mLocationManager;
    private GnssMeasurementsEvent.Callback gnssMeasurementEventListener =
                new GnssMeasurementsEvent.Callback()
    //这里先声明,重写方法将在下一步添加
    
    public void RegisterMeasurements(){
            @SuppressLint("MissingPermission")
            boolean is_register_success=
            mLocationManager.registerGnssMeasurementsCallback(gnssMeasurementEventListener);
            //注册GNSSmeasurement回调监听,返回是否注册成功的信息
            //测量信息将在GnssMeasurementsEvent.Callback中接收
        }
    //顺便把注销的方法也写了
    public void unRegisterMeasurements(){
            mLocationManager.unregisterGnssMeasurementsCallback(gnssMeasurementEventListener);
        }
    

    4.重写GnssMeasurementsEvent.Callback里的两个方法

    private GnssMeasurementsEvent.Callback gnssMeasurementEventListener =
                new GnssMeasurementsEvent.Callback() {
                    @Override
                    public void onGnssMeasurementsReceived(GnssMeasurementsEvent eventArgs) {
                        super.onGnssMeasurementsReceived(eventArgs);
                        //这里我们获取到了回调的测量数据容器:GnssMeasurementsEvent eventArgs
                        //TODO:
                    }
    
                    @Override
                    public void onStatusChanged(int status) {
                        super.onStatusChanged(status);
                    }
        };
    

    5.将测量数据转换为字符串

    1. 把GnssMeasurementsEvent拆分为GnssClock和Gnssmeasurement
    //写一个接收测量信息的方法
    public void onGnssMeasurementsReceived(GnssMeasurementsEvent event) {
            StringBuilder builder=new StringBuilder("GNSS测量数据:\n\n");
             //这里的toStringClock和toStringMeasurement将写在下一步里
            builder.append(toStringClock(event.getClock()));//写入gnss时钟的数据
            builder.append("\n");
            
            for (GnssMeasurement measurement : event.getMeasurements()) {
                builder.append(toStringMeasurement(measurement));//写入gnss测量数据
                builder.append("\n");
            }
    		//这里可以写runOnUiThread(...),将builder打印在屏幕上
    		//也可以修改返回值
        }
    
    
    1. 分别把GnssClock和Gnssmeasurement转化为字符串
    private String toStringClock(GnssClock gnssClock){
            //将GPS接收器时钟的值转换为字符串
            final String format = "   %-4s = %s\n";//定义数据显示格式,“%-4”表示左对齐、不足四位补足四位
            StringBuilder builder=new StringBuilder("GNSS时钟:\n");
            DecimalFormat numberFormat = new DecimalFormat("#0.000");//定义格式化数字
    
    
            if (gnssClock.hasLeapSecond()) {
                //如果闰秒存在则显示闰秒
                builder.append(String.format(format, "闰秒(LeapSecond)", gnssClock.getLeapSecond()));
            }
            builder.append(String.format(format, "硬件时钟(TimeNanos)", gnssClock.getTimeNanos()));//获取以毫秒为单位的GNSS接收器内部硬件时钟值
            if (gnssClock.hasTimeUncertaintyNanos()) {
                //获取硬件时钟的误差估计(不确定度)
                builder.append(String.format(format, "时钟误差估计(TimeUncertaintyNanos)", gnssClock.getTimeUncertaintyNanos()));
            }
    
            if (gnssClock.hasFullBiasNanos()) {
                //如果存在接收机本地时钟总偏差,则显示
                builder.append(String.format(format, "总时钟偏差(FullBiasNanos)", gnssClock.getFullBiasNanos()));
            }
            if (gnssClock.hasBiasNanos()) {
                //亚纳秒偏差
                builder.append(String.format(format, "亚偏差(BiasNanos)", gnssClock.getBiasNanos()));
            }
            if (gnssClock.hasBiasUncertaintyNanos()) {
                //FullBiasNanos和BiasNanos的误差估计
                builder.append(String.format(format, "时钟偏差估计(BiasUncertaintyNanos)", numberFormat.format(gnssClock.getBiasUncertaintyNanos())));
            }
            /**
             * 注意:以上五个数据用于计算GPS时钟
             * 具体计算方法为:local estimate of GPS time = TimeNanos - (FullBiasNanos + BiasNanos)
             *     世界标准时:UtcTimeNanos = TimeNanos - (FullBiasNanos + BiasNanos) - LeapSecond * 1,000,000,000
             */
            if (gnssClock.hasDriftNanosPerSecond()) {
                //以每秒纳秒为单位获取时钟的漂移
                builder.append(String.format(format, "时钟漂移(DriftNanosPerSecond)", numberFormat.format(gnssClock.getDriftNanosPerSecond())));
            }
            if (gnssClock.hasDriftUncertaintyNanosPerSecond()) {
                //时钟偏差的估计
                builder.append(String.format(format, "时钟漂移估计(DriftUncertaintyNanosPerSecond)", numberFormat.format(gnssClock.getDriftUncertaintyNanosPerSecond())));
            }
            //获取硬件时钟不连续的计数,即:每当gnssclock中断时,该值+1
            builder.append(String.format(format, "中断计数(HardwareClockDiscontinuityCount)", gnssClock.getHardwareClockDiscontinuityCount()));
            return builder.toString();
        }
    
    private String toStringMeasurement(GnssMeasurement measurement){
            //将GNSS测量结果转换为字符串
            //定义显示格式
            final String format = "   %-4s = %s\n";
            StringBuilder builder = new StringBuilder("GNSS测量结果:\n");
            DecimalFormat numberFormat = new DecimalFormat("#0.000");
            DecimalFormat numberFormat1 = new DecimalFormat("#0.000E00");
    
            //获取卫星ID
                /**
                 * 取决于卫星类型
                 * GPS:1-32
                 * SBAS:120-151、183-192
                 * GLONASS:OSN或FCN + 100之一
                 * 1-24作为轨道槽号(OSN)(首选,如果知道)
                 * 93-106作为频道号(FCN)(-7至+6)加100。即将-7的FCN编码为93,0编码为100,+ 6编码为106
                 * QZSS:193-200
                 * 伽利略:1-36
                 * 北斗:1-37
                 */
            builder.append(String.format(format, "卫星ID", measurement.getSvid()));
    
            //获取卫星类型
                /**
                 *  1:CONSTELLATION_GPS 使用GPS定位
                 *  2:CONSTELLATION_SBAS 使用SBAS定位
                 *  3:CONSTELLATION_GLONASS 使用格洛纳斯定位
                 *  4:CONSTELLATION_QZSS 使用QZSS定位
                 *  5:CONSTELLATION_BEIDOU 使用北斗定位 (^-^)!
                 *  6:CONSTELLATION_GALILEO 使用伽利略定位
                 *  7:CONSTELLATION_IRNSS 使用印度区域卫星定位
                 */
            builder.append(String.format(format, "卫星类型", measurement.getConstellationType()));
    
            //获取进行测量的时间偏移量(以纳秒为单位)
            builder.append(String.format(format, "测量时间偏移量", measurement.getTimeOffsetNanos()));
    
            //获取每个卫星的同步状态
            //具体数值含义请查表
            builder.append(String.format(format, "同步状态", measurement.getState()));
    
            //获取时间戳的伪距速率,以m/s为单位
            builder.append(
                    String.format(
                            format,
                            "伪距速率",
                            numberFormat.format(measurement.getPseudorangeRateMetersPerSecond())));
            //获取伪距的速率不确定性(1-Sigma),以m/s为单位
            builder.append(
                    String.format(
                            format,
                            "伪距速率不确定度",
                            numberFormat.format(measurement.getPseudorangeRateUncertaintyMetersPerSecond())));
            //
            if (measurement.getAccumulatedDeltaRangeState() != 0) {
                // 获取“累积增量范围”状态
                // 返回:MULTIPATH_INDICATOR_UNKNOWN(指示器不可用)=0
                // notice 即:指示器可用时,收集数据
                builder.append(
                        String.format(
                                format, "累积增量范围状态", measurement.getAccumulatedDeltaRangeState()));
    
                //获取自上次重置通道以来的累积增量范围,以米为单位.
                //该值仅在上面的state值为“可用”时有效
                //notice 累积增量范围= -k * 载波相位(其中k为常数)
                builder.append(
                        String.format(
                                format,
                                "累积增量范围",
                                numberFormat.format(measurement.getAccumulatedDeltaRangeMeters())));
    
                //获取以米为单位的累积增量范围的不确定性(1-Sigma)
                builder.append(
                        String.format(
                                format,
                                "累积增量范围不确定度",
                                numberFormat1.format(measurement.getAccumulatedDeltaRangeUncertaintyMeters())));
            }
    
            if (measurement.hasCarrierFrequencyHz()) {
                //获取被跟踪信号的载波频率
                builder.append(
                        String.format(format, "信号载波频率", measurement.getCarrierFrequencyHz()));
            }
    
            if (measurement.hasCarrierCycles()) {
                //卫星和接收器之间的完整载波周期数
                builder.append(String.format(format, "载波周期数", measurement.getCarrierCycles()));
            }
    
            if (measurement.hasCarrierPhase()) {
                //获取接收器检测到的RF相位
                builder.append(String.format(format, "RF相位", measurement.getCarrierPhase()));
            }
    
            if (measurement.hasCarrierPhaseUncertainty()) {
                //误差估计
                builder.append(
                        String.format(
                                format, "RF相位不确定度", measurement.getCarrierPhaseUncertainty()));
            }
    
            //获取一个值,该值指示事件的“多路径”状态,返回0或1或2
            //MULTIPATH_INDICATOR_DETECTED = 1 测量显示有“多路径效应”迹象
            // MULTIPATH_INDICATOR_NOT_DETECTED = 2 测量结果显示没有“多路径效应”迹象
            builder.append(String.format(format, "多路经效应指示器", measurement.getMultipathIndicator()));
    
            //
            if (measurement.hasSnrInDb()) {
                //获取信噪比(SNR),以dB为单位
                builder.append(String.format(format, "信噪比", measurement.getSnrInDb()));
            }
    
            if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.O) {
                if (measurement.hasAutomaticGainControlLevelDb()) {
                    //获取以dB为单位的自动增益控制级别
                    builder.append(String.format(format, "自动增益控制级别", measurement.getAutomaticGainControlLevelDb()));
                }
                if (measurement.hasCarrierFrequencyHz()) {
                    builder.append(String.format(format, "载波频率", measurement.getCarrierFrequencyHz()));
                }
            }
    
            return builder.toString();
    
        }
    

    最后将这些方法整合起来即可,UI显示的部分就不再赘述了。
    关于伪距如何计算见下一篇博客:通过GNSS原始数据计算伪距

    展开全文
  • 最初为数据挖掘准备的所有原始数据集通常很大,它们中的许多都和人有关,且比较杂乱。 初始数据集应包含丢失值,失真,误记录和不正当样本等。要得到高质量的数据,必须在分析者看到它们之前,先整理和预处理数据,...
  • coreclr:CoreCLR是.NET Core的运行时。 它包括垃圾收集器,JIT编译器,原始数据类型和低级类。
  •  写这篇文章的目的其实为了梳理一下,在数据处理方便的方法有哪些,如果大家还有一些好的方法,希望大家可以指点我一下!知识在于分享,你知道一个给我一个,我知道一个分享一个给你,那么我们就有两个知识!
  • 导读:资料搜集是个相当繁琐与累的工作,也是数据分析入门的基本,良好的信息资料搜集能力有利于我们快速了解基本情况,为后续的调研及一手资料的获得打下较好的基础。作者:王术,发表于知乎来源:h...
  • 探码科技自主研发的Dyson智能采集系统实现数据采集,处理到应用的全生命周期管理。Web爬虫,另类数据,网页解析及采集自动化。 业务覆盖多个行业,致力于大数据产业生态链的构建,我们采用先进的技术,实现数据从...
  • ActivityRecognition-预处理: 一个用于预处理数据并从原始数据文本中提取特征的 Java 程序。 并将原始数据传输到 arff 文件中进行 WEKA 分类。 亲戚们 :一个从 LPMS-B 传感器和手机收集数据的 Android 应用程序;...
  • 通过收集数据、进行静态和动态的物体辨别、探测和追踪,并结合导航仪等地图数据,进行系统的运算和分析,从而预先让驾驶者察觉到可能发生的危险,有效增加汽车行驶的安全性和智能舒适性。 在ADAS传感感知方面,不同...
  • 数据采集 01 — 概览 02 — 相关延展 系统日志数据采集  Scribe是Facebook开源的日志收集系统,在Facebook内部已经得到大量的应用。它够从各种日志源上收集日志,存储到一个中央存储系统上,以便于...
  • 高速数据采集卡的分类和使用方法

    千次阅读 2019-01-04 12:34:32
    10bit 5GSPS 单通道 带宽3GHz 高速数据采集卡及记录存储系统8bit 7GSPS 单通道 带宽2GHz 高速数据采集卡及记录存储系统12bit 4GSPS 双通道 带宽2GHz 高速数据采集卡及记录存储系统12bit 1.8GSPS 四通道 带宽2...
  • 毫米波雷达ADC数据采集

    千次阅读 2020-12-23 12:24:52
    3. 解读原始数据 4. 参考文档 1. 数据采集方式 数据采集有两种方式: 方式一:使用SDK中包含的Capture Demo: how to save raw data from the Capture Demo using Code Composer Studio(CCS) 在CCS中通过...
  • 激光雷达数据处理.rar

    2020-05-05 09:45:21
    文件中包含原始激光雷达数据,MATLAB读取.ubh文件、点云数据滤波、误差分析、模型验证、三维表面拟合的源代码,目前调试无误
  • 数据分析的六种方法论和八种思路

    千次阅读 2020-03-04 16:03:05
    这说明缺少理论知识的支持,那么本文就将盘点一下数据分析常用的方法论和思路,作为数据分析入门的基础。 数据分析的流程 在介绍数据分析方法论和思路之前,我们还是先不厌其烦地看一下数据分析的流程,简单来说...
  • 工厂流水线数据采集方案

    千次阅读 2019-05-01 21:57:40
    工厂流水线数据采集方案 以SMT产线为例,其主要工艺流程为:PCB上板→印刷锡膏→SPI检测→贴装元器件→炉前AOI检测→回流炉→炉后AOI检测→分板机→PCB下板。贴装过程中存在大量外观相似元器件且大量重复操作特性,...
  • 8bit 1GS/s 高速数据采集卡 产品编号:HSDAQ9870 规 格:8bit 1GS/s 高速数据采集卡 及专用高性能磁盘阵列服务器系统 产品类别:高速数据采集卡 Product characteristics 产品特性 1&gt; 1.4 GB/s 实时流...
  • 数据采集与预处理 (1)大数据的来源 信息来源 1.信息管理系统 信息管理系统主要通过用户输入和系统二次加工的方式产生数据,其产生的数据大多数为结构化数据,通常存储在数据库中。 2.网络信息系统 在...
  • 数据分析方法论(6种方法,8个思路)

    万次阅读 多人点赞 2020-02-26 17:23:05
    数据分析的流程 在介绍数据分析方法论和思路之前,我们还是先...收集原始数据,数据来源可能是丰富多样的,一般有数据库、互联网、市场调查等。具体办法可以通过加入“埋点”代码,或者使用第三方的数据统计工具。 ...
  • 数据采集

    2021-03-08 21:39:23
    一、电商实时数仓介绍 1.1、普通实时计算与实时数仓比较   普通的实时计算优先考虑时效性,所以从数据源采集经过实时计算直接得到...原始数据,日志和业务数据 ➢ DWD 根据数据对象为单位进行分流,比如订单、页
  • 网络分析与网络数据集—原始数据

    千次阅读 2015-01-15 11:48:39
    路网的数据质量包含两个方面,道路的形状、道路的属性。道路的形状必须符合实际的交通状况,实地采集或者从遥感影像上采集都必须遵循严格的要求;道路 的属性同样是路网数据质量的重要组成部分,包括影响道路通行...
  • 定性和定量大数据分析方法指南

    千次阅读 2020-09-17 17:10:52
    定性和定量大数据分析方法?我们看到数据时想到的第一件事是什么?第一个本能是找到模式,联系和关系。我们查看数据以发现其中的含义。  同样,在研究中,一旦收集数据,下一步就是从中获取见解。例如,如果服装...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 135,562
精华内容 54,224
关键字:

原始数据收集方法包括