3.GPS信息-GPVTG数据解析

3.GPS信息-GPVTG数据解析
3.GPS信息-GPVTG数据解析

摘要

GPS是利用卫星,在全球范围内实时进行定位、导航的系统,目前可以说是最热门、最受人瞩目的一项科技。它具有在海、陆、空进行全方位实时三维导航与定位能力,并提供实时、全天候和全球性的导航服务。所以,船舶可以根据GPS的解析信息来确保稳定而精确最佳航线。

随着科技的迅速发展,各种新型的航海仪器均已实现了数字化和计算机化,目前各种航海仪器之间的通信一班采用NMEA-0183接口。NMEA-0183现已成为GPS导航设备统一的标准协议,主要包括GPGGA,GPRMC,GPVTG,GPGSV,GPZDA等语句格式,其中GPVTG的功能就是解析卫星信号中的对地速度信息,将其信号序列变为非专业人员可读取的文字。

本文针对当前比较普及的GPS系统,介绍了GPS通信的NMEA-0183协议、GPVTG信息解析的实现方法。关键字:GPS NMEA-0183协议 GPVTG

目录

前言 (1)

第1章绪论 (2)

1.1 GPS定位系统原理 (2)

1.2 C语言编程特点 (3)

第2章NMEA-0183协议的简介 (4)

2.1 NMEA-0183协议的格式定义 (4)

2.2 NMEA-0183的应用领域 (5)

2.3 NMEA-0183数据处理中的注意事项 (5)

第3章设计方案 (6)

3.1 主要方案思路及步骤 (6)

3.1.1主流程图 (6)

3.1.2调用函数流程图: (7)

3.1.3解析程序的编写及流程图 (7)

3.2程序的编写及调试结果 (8)

3.2.1 最终程序及其注解 (8)

3.2.2调试步骤及显示结果 (11)

3.3文本输出显示结果: (13)

第4章小结 (14)

4.1 设计中遇到的问题及解决方案 (14)

4.2心得体会 (15)

[参考文献] (17)

前言

GPS系统是美国研制的全球性、全天候的卫星导航系统。它主要是为陆、海、空三大领域提供实时、全天候和全球性的导航服务,并用于情报收集、核爆监测和应急通讯等一些军事目的;其基本原理是根据高速运动的卫星瞬间位置作为已知的起算数据,采用空间距离后方交会的方法,确定待测点的位置;主要特点有:高精度、全天候、高效率、多功能、操作简便、应用广泛等。它能连续、实时地确定船舶的准确位置,在任何时间,任何地方都可以通过接收机同时接收到来自4颗卫星的位置及时间等信号,并且它能覆盖全球,用户数量不受限制。

在船位测定系统中,GPS的主要优点是在离岸比较远、缺少路标的情况下可以进行定位,是一种永恒的定位方法;缺点主要是定位精度低,受气候影响较大。利用GPS全球定位系统,能将GPS 信息反馈给船舶驾驶自动控制系统的中央处理系统,通过对GPS信息的解析,中央处理系统可以随时检查船舶是否偏离最佳航线,据此采取措施,确保船舶稳定而精确地沿最佳航线航行。

GPS系统通过测定3颗卫星发出信号至测定点接收到信号所需要的时间来进行定位,首先,计算出测定点到3颗卫星的距离,再根据各卫星当时所处的位置信息算出测定点的经纬度。对于空中飞行的物体,还需要知道它所处的高度,第4颗卫星发来的信号便是用来确定高度的。它主要有三个方向的应用:

(1) 海洋应用,包括远洋船最佳航程航线测定、船只实时调度与导航、海洋救援、海洋探宝、水文地质测量以及海洋平台定位、海平面升降监测等;

(2) 航空航天应用,包括飞机导航、航空遥感姿态控制、低轨卫星定轨、导弹制导、航空救援和载人航天器防护探测等;

(3) 陆地应用,主要包括车辆导航、应急反应、大气物理观测、地球物理资源勘探、工程测量、变形监测、地壳运动监测、市政规划控制等。

随着电子技术与计算机技术的迅速发展和广泛地应用,各种新型的航海仪器均已实现了数字化和计算机化,为航海仪器之间的相互连接传递数据提供的便利,目前各种航海仪器之间的通信一班采用NMEA-0183接口。NMEA-0183协议是GPS接收机应当遵守的标准协议,也是目前GPS接收机上使用最广泛的协议,大多数常见的GPS接收机、GPS数据处理软件、导航软件都遵守或者至少兼容这个协议。NMEA通讯协议所规定的通讯语句都是以ASCII码为基础的,NMEA-0183协议语句的数据格式如下:“$”为语句起始标志;“,”为域分隔符;“*”为校验和识别符,其后面的两位数为校验和,代表了“$”和“*”之间所有字符的按位异或值(不包括这两个字符);“/”为终止符,所有的语句必须以它来结束,也就是ASCII字符的“回车”(十六进制的0D)和“换行”(十六进制的0A)。

GPVTG是NMEA-0183协议的主要数据之一,它的功能主要是对地速度的解析。我们可以通过解析它来确定船舶当前的以真北为参考基准的地面航向,以磁北为参考基准的地面航向,地面速率,模式指示等。

本次设计主要是要通过学习GPS原理及NMEA-0183协议,运用C语言进行编程,即读取、解析数据的定位信息。

第1章 绪论

1.1 GPS 定位系统原理

GPS 由21颗工作卫星和3颗备用卫星组成。他们分步在6个等间距的轨道平面上,轨道相对赤道的夹角是55度,每个轨道有四颗工作卫星,卫星轨道接近圆形,轨道高度为2.01836万km ,周期11小时58分。GPS 导航系统的基本原理是测量出已知位置的卫星到用户接收机之间的距离,然后综合多颗卫星的数据就可知道接收机的具体位置。要达到这一目的,卫星的位置可以根据星载时钟所记录的时间在卫星星历中查出。而用户到卫星的距离则通过记录卫星信号传播到用户所经历的时间,再将其乘以光速得到。

GPS 技术通过发射的卫星上搭载的天文电子钟、微

波无线等设备,地面监测站在卫星1d 绕地球转2周后,

可以精确地测量它的位置、高度和速度,并且适当的调

整信号处理系统。GPS 导航系统卫星部分的作用就是不

断地发射导航电文。然而,由于用户接受机使用的时钟

与卫星星载时钟不可能总是同步,所以除了用户的三维

坐标z y x ,,外,还要引进一个t ?即卫星与接收机之间的

时间差作为未知数,然后用4个方程将这4个未知数解

出来。所以如果想知道接收机所处的位置,至少要能接

收到4个卫星的信号。在地球上任何地点GPS 接收仪启

图1 GPS 卫星环绕图 动时,卫星发射信号的时间为1t ,接收机收到信号的时间为2t ,则12t t t -=?,卫星站距离ρ为:t c ?=ρ,由接收机测得。因卫星钟很精确,而接收机钟有误

差 t δ,故 t c t c δρ+?=在地面任一点最少可观测4颗卫星,得,4个距离,便得到如下4个方程式:

t c -2121211δρ++-+-=)()()(z Z y Y x X

t c -2222222δρ++-+-=)()()(z Z y Y x X

t c -2323233δρ++-+-=)()()(z Z y Y x X

t c -2424244δρ++-+-=)()()(z Z y Y x X

解4个未知数x 、y 、z 、 t δ即可实现定位。

GPS 接收机可接收到可用于授时的准确至纳秒级的时间信;息用于预报未来几个月内卫星所处概略位置的预报星历;用于计算定位时所需卫星坐标的广播星历,精度为几米至几十米;以及GPS 系统信息,如卫星状况等。

GPS 接收机对收到的卫星信号,进行解码或采用其它技术,将调制在载波上的信息去掉后,就可以恢复载波。严格而言,载波相位是收到的受多普勒移影响的卫星信号载波相位与接收机本机振荡产生信号相位之差。相位观测值的精度高至毫米,只有在相对定位、并有一段连续观测值时才能使用相位观测值,才能解出整周模糊度,因此也只能采用相位观测值来达到优于米级的定位精度。其中GPS 的定位分为单点定位和相对定位。

在GPS观测量中包含了卫星和接收机的钟差、大气传播延迟、多路径效应等误差,在定位计算时还要受到卫星广播星历误差的影响,在进行相对定位时大部分公共误差被抵消或削弱,因此定位精度将大大提高,双频接收机可以根据两个频率的观测量抵消大气中电离层误差的主要部分,在精度要求高,接收机间距离较远时,应选用双频接收机。目前,我国广泛使用的是美国国防部开发的GPS卫星导航系统。该系统由空间部分、地面监控部分和用户接收机三大部分组成。接受并解析由GPS模块发送的数据是数据处理中心的一项重要任务,处理该任务的模块必须具备高可靠性和高有效性。

1.2 C语言编程特点

C语言是一门非常优秀的结构化程序设计语言,深受广大编程人员的喜爱,并得到广泛地应用。它的主要特点如下:

(1)语言简洁、紧凑,使用方便、灵活,具有丰富的运算的运算符和数据结构。C语言一共只有32个关键词、9种控制语句、34种运算符。

(2)允许直接访问物理地址,能进行位操作,能实现汇编语言的大部分功能,可以直接对硬件进行操作。

(3)具有结构化的控制语句(如 if…else语句、while语句、switch语句、for语句),用函数作为程序模块以实现程序的模块化,是结构化的理想语言,符合现代化编程风格的要求。

(4)语法限制不太严格,程序设计自由度大。

(5)用C语言编写的程序可移植性好。

(6)生成目标代码质量高,程序执行效率高。

结构特点有:

(1)一个C语言源程序可以由一个或多个源文件组成。

(2)每个源文件可由一个或多个函数组成。

(3)一个源程序不论由多少个文件组成,都有一个且只能有一个main函数,即主函数。

(4)源程序中可以有预处理命令(include命令仅为其中的一种),预处理命令通常应放在源文件或源程序的最前面。

(5)每一个说明,每一个语句都必须以分号结尾。但预处理命令,函数头和花括号“}”之后不能加分号。

(6)标识符,关键字之间必须至少加一个空格以示间隔。若已有明显的间隔符,也可不再加空格来间隔。

第2章 NMEA-0183协议的简介

NMEA-0183协议是为了在不同的GPS导航设备中建立统一的RTCM(海事无线电技术委员会)标准,它是由美国国家海洋电子协会制定的。NMEA协议有0180、0182和0183这3种,0183可以认为是前两种的升级,也是目前使用最为广泛的一种。

NMEA输入报文提供了允许通过NMEA协议控制GPS的方法。

表1 传输格式

1.起始符包含3个字节,从MID100开始。

2.具体数据,特定的数据序列

3.NMEA定义的校验是2个HEX的字符,适用于所有输入报文。

4.所有输入报文都以回车符和换行符结束,即\r\n,十六进制码为0D0A。因为\r\n是不可打印的ASCII字符,是示例字符串,但必须发送强制其作为输入报文的终止符。

2.1 NMEA-0183协议的格式定义

它所规定的通讯语句都是以ASCII码为基础的,NMEA-0183协议语句的数据格式如下:“$”为语句起始标志;“,”为域分隔符;“*”为校验和识别符,其后面的两位数为校验和,代表了“$”和“*”之间所有字符的按位异或值(不包括这两个字符);“/”为终止符,所有的语句必须以它来结束,也就是ASCII 字符的“回车”(十六进制的0D)和“换行”(十六进制的0A)。本文仅对 GPVTG这个信息语句进行详细分析以及对其所含信息的解析。

下面主要介绍GPVTG语句。

例:$GPVTG,89.68,T,,M,0.00,N,0.0,K*5F

字段0:$GPVTG,语句ID,表明该语句为Track Made Good and Ground Speed(VTG)地面速度信息

字段1:运动角度,000 - 359,(前导位数不足则补0)

字段2:T=真北参照系

字段3:运动角度,000 - 359,(前导位数不足则补0)

字段4:M=磁北参照系

字段5:水平运动速度(0.00)(前导位数不足则补0)

字段6:N=节,Knots

字段7:水平运动速度(0.00)(前导位数不足则补0)

字段8:K=公里/时,km/h

字段9:校验值

2.2 NMEA-0183的应用领域

1.水上GPS导航

在与水上导航有关的作业中,NMEA-0183标准被广泛地使用,如水下地形测量、海洋地球物理勘

探等。水上导航作业的配置主要有导航监控系统、GPS、测深仪、电罗经等。

目前,工程中比较常用的水上导航软件,除了国际知名的HYDRO、HYPACK、FUGRO等外,还有我国一些公司自行研制的软件。如中海达水上测量软件等,均可在其软件配置中设置数据NMEA-1083的输入。用于水上导航的GPS,它们的硬件设备都有专门的串口支持NMEA-0183数据输出。目前市场上大多数的接收机都支持NMEA-0183标准。

2.车载GPS导航定位

定位类似于水上作业,其导航设备配里主要有导航定位软件系统和及车速传感器、陀螺传感器等。目前,被广泛地应用于国防、交通、银行、消防、医疗、旅游等领域。其基本功能主要包括最佳路径选择、自动导航、多媒体辅助导航,其扩展功能包括数据查询等。

2.3 NMEA-0183数据处理中的注意事项

在开发基于GPS的应用系统中,要将GPS作为信息源,正确接收和解析GPS发送的NMEA-0183数据。此时,在编程实现时需要注意以下几个问题:

1、所需信息的正确提取

NMEA—O183是以语句形式发送数据的,接收机可能发送很多类型的语句,由于小数点位数不同等原因,语句的长度是可变的,在对接收到的数据进行解析时,不能按照该信息在语句中所处的字符位置来查找,只能依据逗号分隔符,这一点在数据提取的过程中非常重要。

2、通讯端口的设置

需要注意设置计算机的接口参数与GPS设备一致。NMEA规范推荐的串行通讯参数为“波特率:4800;奇偶校验:无;数据位:8;停止位:1”。

为解决信息的正确提取问题,并提高程序的复用性,可以编写适当的函数,如一个函数通过$字符判断语句头,一直到换行回车结束一条语句;一个函数通过“,”分隔符来提取语句字段,还有一个函数用来返回语句中指定字段的内容。有了这三个函数,就可以方便的提取所需的信息,此时的工作就相对比较简单了。

第3章设计方案

3.1 主要方案思路及步骤

编程的主要思想:

因为GPVTG语句包含速度和航向信息。消息格式为: $GPVTG,89.68,T,,M,0.00,N,0.0,K*5F,所以我们根据GPTVG消息格式的特点确定了编程的主线:通过对逗号的扫描来确定每一段的解析数据,需要进一步解析的就再次解析,从而最终解析出所有我们需要的数据。具体的程序流程图如下:

3.1.1主流程图

图2主程序流程图

主流程序图的解释:

开始对数据的初始化。通过选择语句对输入内容进行判断,键入0,选择解析GPVTG信息程序(调用子函数进行数据解析);键入1,则结束程序;如果键入其他键则进行报错,重新返回初始状态进行重新的选择。

3.1.2调用函数流程图:

图3 调用函数流程图

调用函数的流程图解释:

数据初始化,用fopen函数打开文本1,开始进行检测。检测是否读到了“\0”符号,如果有,说明已经将一条完整的GPVTG信息存入到vtg[i]之中,然后就开始解析GPVTG信息,将结果显示并输出到指定的文本当中;如果还没有检测到“\0”符号,说明此条GPVTG信息还没有完整的存入到vtg[i]中,还需要继续检测存入。利用feof函数来检测文件位置指针是否到达了文件尾,若到达文件尾则返回一个非0值(真)——结束检测,否则返回0(假)——继续下一条GPVTG信息的检测。

3.1.3解析程序的编写及流程图

解析程序编写的主要思路:

从指定文件中读取GPVTG信息并存入数组,通过对逗号和*号的检测和定位来解析所需要的信息。

通过循环嵌套的方式来编写程序。具体流程图如下:

图4 GPVTG信息解析流程图

解析过程程序流程图的解释:

开始进行数据初始化,然后利用if语句进行检测,检测是否是“,”号,如果是则标志位置加1,即temp++。如果不是则检测是不是“*”号,如果也不是“*”号,根据temp值,来决定数据存储与否。当temp=1, 3, 5,7 时,将进行对数据的存储;如果是“*”号,则存储校验和。

3.2程序的编写及调试结果

3.2.1 最终程序及其注解

#include "stdio.h"

char analysis(); /*调用函数声明*/

int main() /*主函数*/

{

int j; /*输出显示本小组成员信息和相关信息的解释说明,以及操作步骤的要求*/ printf("**********Welcome!************************************************ **\n") ;

printf(" This program made by Team3! \n") ;

printf(" The members are as follow:\n");

printf(" Yu saijiao,Gu yangying,Ma chenzhu,Zhong zelong and Zhu haoming.\n ");

printf(" It is used to analysis GPVTG's information. \n") ;

printf(" 'rvtg' means ture north. \n") ;

printf(" 'mvtg' means magnetic north.\n") ;

printf(" 'svtg1' means ground speed. \n") ;

printf(" 'svtg2' means ground speed. \n") ;

printf(" 'sum' means checksum. \n") ;

printf(" Please check there is a 1.txt and 2.txt in the same file directory\n") ;

printf("****************************************************************** *\n\n") ;

printf("Do you want to analysis GPVTG's information?\n");

printf("Please input j(j=0 or 1).'0' means YES and '1' means NO.\n\n") ;

/*0,1键进行选择是否解析GPVTG信息*/ scanf("%d",&j);

while(j!=0&&j!=1)

{

printf("ERROR!\nPlease input j(j=0 or 1) again.\n");/*不是0,1键则进行报错,重新选择*/ scanf("%d",&j); /*显示键入数字*/

}

if(j==1) printf("BYE BYE\nPress any key to leave."); /*键入1,显示结束程序*/

else if(j==0) /*键入0,调用解析程序*/ {

printf("Analysis the GPVTG's information now.\n");

analysis(); /*函数调用*/

}

getch();

}

char analysis() /*函数定义*/

{

FILE *fp1; /*初始化*/

FILE *fp2;

char vtg[128]={'\0'};

char rvtg[10]={'\0'};

char mvtg[6]={'\0'};

char svtg1[6]={'\0'};

char svtg2[6]={'\0'};

char sum[10]={'\0'};

int i,j,temp,a,b,c,d,e ;

a=0;b=0;c=0;d=0;e=0;

temp=0;

fp1=fopen("1.txt","r"); /*打开当前位置下的1.txt文本*/

while(!feof(fp1)) /*foef函数检测是否到达文件尾,若没继续检测*/ {

putchar(fgetc(fp1));

fscanf(fp1,"%s",&vtg); /*显示需要解析的GPVTG信息*/

printf("%s\n",vtg);

for(i=0;i<=128;i++)

{

if(vtg[i]==',')

/*检测是不是“,”号,来增加temp值,再由temp值来决定是否存储数据*/ {

temp++;

i++;

}

if(temp==1)

{

rvtg[a]=vtg[i];

a++;

}

if(temp==3)

{

mvtg[b]=vtg[i];

b++;

}

if(temp==5)

{

svtg1[c]=vtg[i];

c++;

}

if(temp==7)

{

svtg2[d]=vtg[i];

d++;

}

if (vtg[i] == '*') /*检测“*”号,来存储校验和*/

{

j=i+1;

while (vtg[j] != '\0')

{

sum[e]=vtg[j];

e++;

j++;

}

break;

}

}

printf("\nrvtg=%s (T)\n",rvtg); /*输出显示解析结果*/

printf("mvtg=%s (M)\n",mvtg);

printf("svtg1=%s (nautical mile/h)\n",svtg1);

printf("svtg2=%s (km/h)\n",svtg2);

printf("sum=%s\n",sum);

fp2=fopen("2.txt","a+"); /*解析结果写入2.txt中*/

fprintf(fp2,"%s\n真北:%s (T)\n磁北:%s (M)\n对地速度:%s (节)\n对地速度:%s (km/h)\n校验和:%s\n",vtg,rvtg,mvtg,svtg1,svtg2,sum);

fprintf(fp2,"\n");

fclose(fp2);

a=0;b=0;c=0;d=0;e=0;temp=0;

}

printf("\nAnalysis the information successed.\nPress any key to leave.");

}

3.2.2调试步骤及显示结果

第一步,打开程序。

显示程序如下:

图5 显示步骤1程序的调试结果图

图5为显示程序,显示内容为本组小组成员信息,以及解析内容的相关信息名词解释。另外还有操

作步骤的要求:如果键入0键,就是进入解析程序;如果键入1键,就选择结束程序。

第二步,选择程序

键入1,选择结束程序,显示程序如下:

图6 显示步骤2结束程序的调试结果图

图6为选择不解析程序,最后提示按下任意键结束此次操作。

键入0,选择解析程序,显示程序如下:

图7 显示步骤2程序的调试结果图

图7为显示解析程序,显示内容为文本1中的4条解析内容及其解析结果显示。最后提示按下任意键

结束此次解析操作。

第三步,结束程序

只要在键盘上敲入任意键,自然结束程序,完成此次操作。

3.3文本输出显示结果:

图8 文本1,2输出显示的结果图

第4章小结

我们的课题是GPS信息-GPVTG数据解析,通过本次课程设计我们学习了GPS的定位原理、NMEA-0183协议内容,重温了C语言编程。我们完成了GPVTG数据解析的程序编写,设计好人机对话界面并且完成了课程设计成果说明书。

4.1 设计中遇到的问题及解决方案

我们在此次课程设计的过程中遇到了不少困难,现将主要问题及解决方案作如下总结:

1.如何打开文本并将里面的信息进行读取?

解决过程及方案:翻阅C语言书籍及资料,最后采用了fopen()和fscanf()语句。

2.校验和的显示没有达到预期效果,只能显示校验和的第一位数据,无法完整显示。

错误显示如下:

图9 校验和显示错误结果图

解决过程及方案:我们尝试把校验和的信息判断采用其他方式进行。但是,一直没有找到合适的判断方法。最终,我们利用校验和的特殊位置,即在“*”和字符结束符“\0”之间,确定其内容。找到方法后,程序编写顺利,显示结果符合要求。

3. 当1.txt中包含了多条记录时,程序又该如何运行?

解决过程及方案:起先我们是运用fscanf()语句来读取信息的,但是fscanf()语句遇到字符结束符时读取就结束了。于是我们利用feof()语句将整个1.txt中内容读出。但是,除第一条记录以外的所有记录都没有被解析。后来,我们发现是fscanf()和feof()位置的关系的原因。当我们把fscanf()放到feof()的判断中,所有读取到的GPVTG信息都能被解析。这个问题因此也顺利地得到了解决。

4. 当加上解析信息输出到2.txt的程序时,循环无法跳出。

图10 死循环错误显示图

解决过程及方案:我们重新梳理了程序流程,发现在流程上并不存在问题。于是,我们回到程序里,检查逻辑上的问题。最后发现是分件指针上的缘故,我们整个程序中只定义了一个文件指针,而1.txt和2.txt 都使用了FILE *fp。于是,重新定义了文件指针,分别为FILE *fp1和FILE *fp2,程序运行正常。

此次课程设计所遇到的困难基本如上所述。经过我们的不懈努力,终于顺利完成了程序的编写。

4.2心得体会

通过本次课程设计,我们更加深入地了解了GPS原理和学习了NMEA-0183协议,巩固和加强了原来生疏的理论知识,同时在C语言方面,我们通过自己对课题的理解以及设计,有了更深地掌握和熟练地应用。所以,我们的运用理论知识、动手实践、思考问题、解决方案设计以及文字表达等能力又的得到了进一步的提高。

首先在接到任务之后,我们对本课题进行了大致地了解,并且划分了各成员的任务。整个任务完成过程中,我们的主要问题是在程序框图地构架以及具体语句地编写方面,在大家的相互研究和商讨之后,有了明确的主流程图,通过翻阅C语言书本,错误的语句也一一修正了,所有的问题都得到了解决。通过这样的实践,我们认识到了自己在理论知识方面还有很多的欠缺,特别是对C语言中的各种调用函数、嵌套模式等知识比较模糊。总之,这次课程设计不仅让我们在知识方面进步了,还让我们感受到了合作的力量,进过大家的互相讨论,种种难题都会简单化,最终得以解决。对于即将毕业的我们来说,这是最后一次课程设计了,它让我们增加了一定的项目经验,同时也为我们将来工作打下基础。

刚开始课程设计时,我们都充满了热情,成员们工作都非常积极,因此,进度就相对较快。其实在开始的两三天之内,我们差不多做好了整个设计的规划,基本完成了说明书以及程序的编写。之后我们在原来的基础上一步一步的完善改进,原来繁冗的程序进过不断地讨论修改,我们用嵌套式编程方法代替了直线式,终于简洁了许多。在我们完成了程序以后,为简化main函数,采用了函数调用的方式,使得程序在技术水平上也得到了提高。几天下来,我们学到了很多的东西,原来模糊不明白的函数语言也有了一定的认识,巩固了以前所学过的相关知识。在说明书方面也是如此,从确定提纲到编写内容,我们都互相讨论,层层完善,达到最后的定稿。所以,在撰写说明书或者论文方面的能力也有了一定的提升,对我们写毕业论文以及将来写报告有比较大的好处。

在团队合作的过程中,有喜有悲——在遇到接踵而至的重重困难,我们感受到了拦路虎的可怕,有时

候因为一个问题,我们绞尽脑汁就是无计可施,令我们十分的懊恼,这种无助的感觉让我们体会到了“悲”;当一个个问题在我们不断的努力中,得到解决的时候,那种感觉犹如被困禁的小鸟看到了自由的蓝天,豁然开朗,比中500W大奖还来得兴奋。从中的乐趣,真的是只有当事人才能明白。

实践是检验真理的唯一标准,我们要把所学的理论知识运用到实践中,发挥其实际用途,同时也能提高自己的实际动手能力和独立思考的能力。在赵老师的指导和大家的努力下,我们克服了重重困难,终于完成了整个设计。另外,赵老师也给我们指出了许多不足指出,例如在汇报的时候要自信,在设计过程中要自己动手等等,这些问题都是我们以后在工作中需要注意的,在此我们表示衷心的感谢。

[参考文献]

[1]. 吴建华.现代导航信息系统[M].武汉理工大学出版社.2007.

[2]. NMEA-0183协议解析[J]. 上海华测导航技术有限公司.

[3]. 高宇,冯相忠.C语言程序设计[M].中国农业大学出版社.2007.12.

[4]. 何香玲,郑钢.GPS通信的NMEA协议及定位数据的提取.计算机应用与软件[J],2004,(12)

[5]. 曹婷婷,高玉.GPS中NMEA-0183协议的应用.电子工程师[J],2006,(10)

[6]. 肖远亮.NMEA-0183数据标准在GPS技术中的应用.物探装备[J].2003(6).

[7]. 百度百科,https://www.360docs.net/doc/cf12452251.html,/view/628443.htm

[8]. FTP资源:172.16.51.71在/船舶组合导航目录下。

[9]. 袁林,曹杰.利用VC++实现GPS全球定位系统定位数据的提取.现代电子技术[J],2004

[10]. 张泽铭,刘强,李燕,赵京峰.GPS 技术及其在现代农业中的应用.现代农业科技[J],2008

实验分析数据流和绘制数据流图

实验报告课程名称_软件工程导论__________ 学院____计算机工程学院_________班级14软件1班 学号2014144141 姓名秦川 2016年11月8日

批阅教师时间实验成绩 课程名称软件工程 学号2014144141姓名秦川实验日期2016.11.8实验名称实验2分析数据流和绘制数据流图 实验目的: 1、掌握数据流的分析方法 2、掌握数据流图的绘制 实验内容: 任务一绘制数据流图 任务二分析数据流和绘制数据流图 案例一:总务办公管理系统 案例二:火车票预订系统 实验原理: 数据流图(DFD)是软件系统系统的逻辑模型,仅仅描绘数据在软件中流动(从输入移动到输出)的过程中所经受的变换(即加工处理)。 数据流图的绘制方法:根据数据流图的四种成分:源点或终点,处理,数据存储和数据流,从问题描述中提取数据流图的四种成分;然后依据“自顶向下、从左到右、由粗到细、逐步求精”的基本原则进行绘制。 基本符号如下:

实验过程与结果: 1.运行Microsoft Office Visio2007 运行Microsoft Office Visio2007 2.选择“软件和数据库”中的“数据流模型图”模板 选中数据流模型图模板

3.用鼠标选拉图标进行绘图 任务一绘制数据流图 试绘制工资管理系统的数据流图,根据数据流图的符号说明仔细理解下图含义: 这是学校教职工工资管理系统,教师根据课时表,职工根据任务表来确定个人工资情况,数据按以下方向传递: 首先,对课时表或任务表进行审核,审核后的数据经排序形成专用表格; 再进行一系列额外计算,包括个人所得说、住房公积金、保险费得出具体所发工资,并将工资表发给银行; 然后,向教职工展示工资所得明细; 最后,形成编制报表,更新分类表后,交于会计。 其中,人事科负责人事数据,教师与职工的工资由银行发放,会计做好报表的统计。

数据流图试题(卷)与答案解析

【问题1】(1)费用单 (2)待租赁房屋列表 (3)看房请求 (4)变更房屋状态请求 【问题2】(5)房主信息文件 (6)租赁者信息文件 (7)房屋信息文件 (8)看房记录文件 【问题3】(1)起点:房主终点:变更房屋状态数据流名称:变更房屋状态请求 (2)起点:租赁者终点:登记租赁者信息数据流名称:租赁者信息 (3)起点:租赁者终点:安排租赁者看房数据流名称:看房请求 试题一(共15分) 阅读以下说明和图,回答问题1至问题4,将解答填入答题纸的对应栏内。 【说明】 某高校欲开发一个成绩管理系统,记录并管理所有选修课程的学生的平时成绩和考试成绩,其主要功能描述如下: 1. 每门课程都有3到6个单元构成,每个单元结束后会进行一次测试,其成绩作为这门课程的平时成绩。课程结束后进行期末考试,其成绩作为这门课程的考试成绩。 2. 学生的平时成绩和考试成绩均由每门课程的主讲教师上传给成绩管理系统。

3. 在记录学生成绩之前,系统需要验证这些成绩是否有效。首先,根据学生信息文件来确认该学生是否选修这门课程,若没有,那么这些成绩是无效的;如果他的确选修了这门课程,再根据课程信息文件和课程单元信息文件来验证平时成绩是否与这门课程所包含的单元相对应,如果是,那么这些成绩是有效的,否则无效。 4. 对于有效成绩,系统将其保存在课程成绩文件中。对于无效成绩,系统会单独将其保存在无效成绩文件中,并将详细情况提交给教务处。在教务处没有给出具体处理意见之前,系统不会处理这些成绩。 5. 若一门课程的所有有效的平时成绩和考试成绩都已经被系统记录,系统会发送课程完成通知给教务处,告知该门课程的成绩已经齐全。教务处根据需要,请求系统生成相应的成绩列表,用来提交考试委员会审查。 6. 在生成成绩列表之前,系统会生成一份成绩报告给主讲教师,以便核对是否存在错误。主讲教师须将核对之后的成绩报告返还系统。 7. 根据主讲教师核对后的成绩报告,系统生成相应的成绩列表,递交考试委员会进行审查。考试委员会在审查之后,上交一份成绩审查结果给系统。对于所有通过审查的成绩,系统将会生成最终的成绩单,并通知每个选课学生。 现采用结构化方法对这个系统进行分析与设计,得到如图1-1所示的顶层数据流图和图1-2所示的0层数据流图。 图1-1 顶层数据流图

浅谈数据流分析与应用

浅谈汽车数据流分析与应用 关练芬 湛江市第二技工学校 摘要:随着汽车电子控制技术的发展与应用,汽车的修理方式发生了深刻的变化,仅凭经验已不能满足现代汽车修理的需要。作为现代汽车重要检修方法之一的数据流分析,可以使维修人员实时了解汽车的工作状况,为汽车故障诊断与排除提供科学的依据。本文拟谈谈数据流分析的方法及其在汽车电控发动机故障诊断中的应用,为科学修车抛砖引玉。 关键词:汽车电子控制系统数据流分析故障诊断应用实例 随着人们对汽车的动力性、经济性和安全性等要求越来越高,汽车控制技术已由简单的化油器、少量的电气控制到集成电子燃油及点火控制、自动变速器、定速巡航、各种主动安全系统(ABS、ASR等)和舒适系统等于一身的车载电子控制系统。显然,面对日趋完善和复杂的汽车电子控制技术,过去光凭经验、拍脑袋换零件等旧的修车模式已不适应现代汽车检修的要求,而借用先进的专用诊断设备来读取故障码、进行数据流分析及波形分析等现代检修方法在汽车故障诊断中得到了广泛应用。本文拟重点谈谈数据流分析的方法及其在电控发动机故障诊断中的应用,为科学修车提供一点的帮助。 一、汽车数据流的认识 目前,各汽车制造厂家为提高汽车的动力性、经济性和降低排放污染,均致力于发展汽车电子控制技术。同时,为使汽车检修和设定方便,在电子控制系统中还设臵了具有故障自诊断和数据流记忆等功能的自诊断回路,汽车维修人员可以使用专用仪器来读取微机RAM中存储的故障码和数据流等信息,以帮助故障诊断。 众所周知,汽车电子控制系统主要由各种传感器、执行器和控制

微机组成。所谓数据流,是就是指汽车电子控制系统中由微机与传感器和执行器实时交流的输入、输出信号并以数据参数的形式通过诊断接口由专用诊断仪器读出的数据(组)。在汽车微机中增加了数据流记忆功能,真实地反映了传感器和执行器的工作电压和状态,为故障诊断提供了有效的途径。而数据流分析就是维修人员使用专用仪器读取电控系统微机通过诊断插座向外输出的、反映系统实时工作状况的数据流,通过对数据流中的各项参数进行数值分析并与标准值进行比较,以判断电控系统的工作是否正常,为查找故障提供科学依据的一种检修方法。 读取数据流除了可以检测到汽车各种传感器和执行器的工作状态外,还可以设定汽车的运行数据,如进行控制器编码和基本设定等。 二、数据流分析在故障诊断中的意义和作用 随着电子技术与计算机技术的发展与应用,大量的传感器、执行器和微机等安装在汽车上,使汽车的控制方式和修理方式发生了深刻的变化。面对日益复杂的电子控制系统,仅凭经验已无法满足现代汽车维修的需要,维修人员必须要掌握诸如读取故障码、数据流分析和波形分析等现代检修方法,从而科学、有序地排除汽车故障,提高修车效益。 (一)当前汽车故障诊断中存在的不足 现代汽车电子控制技的发展,使汽车维修的技术含量越来越高。但是,由于维修人员素质和维修水平参差不齐,在对汽车电子控制系统检修时主要还存在以下不足:

数据流图例题解析

数据流图例题解析 例题:请根据以下描述画出系统的数据流图。该子系统共有三个加工:(1)首先是“建立订货合同台帐”:从订货合同、材料检验单和客户文件输入数据、输出形成合同台帐文件;(2)然后是“分类合并”:从合同台帐文件输入数据,排序合并后形成合同分类文件,最后“打印”加工单元从合同分类文件打印出合同分类表。 所谓数据流图(Data Flow Diagram,简称DFD)是一种分析系统数据流程的图形工具。它摆脱了系统的物理内容,精确地在逻辑上描述系统的功能、输入、输出和数据存储等,是系统逻辑模型的重要组成部分。一般由数据流、加工、文件和数据源或终点四项组成 那么如何绘制数据流图呢?以本题为例进行说明: 首先我们可根据例题中的描述在纸上画出第一个加工“建立订货合同台帐”,如图1所示: 图1 其次,分析这个加工的输出、输入数据流。根据题意可知,该加工的输出是合同台帐文件、而为完成该项输出,必须有三项输入,即订货合同、材料检验单、客户文件。据此可绘制出如图2所示的图形: 图2 此时应注意两点:第一要对加工进行编号。本例中,我们将加工“建立订货合同台帐”编号为P1;第二要判断输入、输出项是一般的数据流、还是文件存储。

如果是文件存储(比如客户文件、合同台帐文件)则需要用右边开口的方框表示,同时表示数据流的箭头上的文字可省略。 第三、将加工“分类合并”画在纸上,如图3所示 图3 第四、找出加工“分类合并”的输入和输出项,并用箭头在纸上标注出来。本例中,该加工的输入数据流是合同台帐文件,输出数据流是合同分类文件,由于“合同台帐文件”已被绘制在纸张上,因此只需用箭头将它与加工联接起来即可。如图4所示: 图4 第五、按上述方法,将加工“打印”绘制在图纸上。如图5所示

汽车数据流分析

1、何谓数据流?有何作用? 汽车数据流是指电子控制单元(ECU)与传感器和执行器交流的数据参数通过诊断接口,由专用诊断仪读取的数据,且随时间和工况而变化。数据的传输就像队伍排队一样,一个一个通过数据线流向诊断仪。 汽车电子控制单元(ECU)中所记忆的数据流真实的反映了各传感器和执行器的工作电压和状态,为汽车故障诊断提供了依据,数据流只能通过专用诊断仪器读取。汽车数据流可作为汽车ECU的输入输出数据,使维修人员随时可以了解汽车的工作状况,及时诊断汽车的故障。 读取汽车数据流可以检测汽车各传感器的工作状态,并检测汽车的工作状态,通过数据流还可以设定汽车的运行数据。 2、测量数据流常采用哪些方法? 测量汽车数据流常采用以下三种方法: (1)电脑通信方式;(2)电路在线测量方式;(3)元器件模拟方式。 2.1怎样用电脑通信方式来获得汽车数据流? 电脑通信方式是通过控制系统在诊断插座中的数据通信线将控制电脑的实时数据参数以串行的方式送给诊断仪。在数据流中包括故障的信息、控制电脑的实时运行参数、控制电脑与诊断之间的相互控制指令。诊断仪在接收到这些信号数据以后,按照预定的通信协议将其显示为相应的文字和数码,以使维修人员观察系统的运行状态并分析这些内容,发现其中不合理或不正确的信息,进行故障的诊断。电脑诊断有两种:一种称为通用诊断仪;另一种称为专用诊断仪。 通用诊断仪的主要功能有:控制电脑版本的识别、故障码读取和清除、动态数据参数显示、传感器和部分执行器的功能测试与调整、某些特殊参数的设定、维修资料及故障诊断提示、路试记录等。通用诊断仪可测试的车型较多,适应范围也较宽,因此被称为通用型仪器,但它与专用诊断仪相比,无法完成某些特殊功能,这也是大多数通用仪器的不足之处。 专用诊断仪是汽车生产厂家的专业测试仪,它除了具备通用诊断仪的各种功能外,还有参数修改、数据设定、防盗密码设定更改等各种特殊功能。专用诊断仪是汽车厂家自行或委托设计的专业测试仪器,它只适用于本厂家生产的车型。 通用诊断仪和专用诊断仪的动态数据显示功能不仅可以对控制系统的运行参数(最多可达上百个)进行数据分析,还可以观察电脑的动态控制过程。因此,它具有从电脑内部分析过程的诊断功能。它是进行数据分析的主要手段。 2.2怎样用电路在线检测方式来获得汽车数据流? 电路在线测量方式是通过对控制电脑电路的在线检测(主要指电脑的外部连接电路),将控制电脑各输入、输出端的电信号直接传送给电路分析仪的测量方式。电路分析仪一般有两种:一种是汽车万用表;一种是汽车示波器。 汽车万用表也是一种数字多用仪表,其外形和工作原理与袖珍数字万用表几乎没有区别,只增加了几个汽车专用功能档(如DWELL档、TACHO档)。 汽车万用表除具备有袖珍数字万用表功能外,还具有汽车专用项目测试功能。可测量交流电压与电流、直流电压与电流、电阻、频率、电容、占空比、温度、闭合角、转速;也有一些新颖功能,如自动断电、自动变换量程、模拟条图显示、峰值保持、读数保持(数据锁定)、电池测试(低电压提示)等。 为实现某些功能(例如测量温度、转速),汽车万用表还配有一套配套件,如热电偶适配器、热电偶探头、电感式拾取器以及AC/DC感应式电流夹钳等。 汽车万用表应具备下述功能: (1)测量交、直流电压。考虑到电压的允许变动范围及可能产生的过载,汽车万用表应能

数据流图(DFD)专题讲解

软件设计师考试的下午题的第一道题,数据库系统工程师考试的下午题的第一道题都是数据流图题,而能够将这道题全部做对的考生是非常少的。根据历年的辅导和阅卷经验,发现很多考生不是因为这方面的解题能力不够,而是缺乏解这种题的方法与技巧。本文介绍一些解这种类型题的方法和技巧,希望起来抛砖引玉的效果。 一.解题当中考生表现出的特点 由于这是下午考试的第一道题,所以很多考生从考前的紧张氛围当中逐渐平静下来开始答题,头脑还比较清醒,阅读起来比较流畅,速度还可以,自我感觉不错。可偏偏这道题有很多人不能全取15分,纠其原因有以下一些特点: 1.拿卷就做,不全面了解试卷,做到心中有数。这样会导致在解题过程当中缺少一种整体概念,不能明确自己在哪些题上必需拿分(多花时间),哪些题上自己拿不了分(少花时间)。这样,在解题时目标就会明确很多。 2.速度快,读一遍题就开始动手做。 3.速度慢,用手指逐个字的去看,心想看一遍就能做出题来。 4.在阅读题目时,不打记,不前后联系起来思考。 5.边做边怀疑边修改,浪费时间。

6.缺少的数据流找不准,可去掉的文件找不出来。 7.由于缺少项目开发经验,对一些事务分析不知如何去思考。 8.盲目乐观,却忽略了答题格式,丢了不应该丢的分。 二.解题的方法与技巧 1.首先要懂得数据流图设计要略。 有时为了增加数据流图的清晰性,防止数据流的箭头线太长,减少交叉绘制数据流条数,一般在一张图上可以重复同名的数据源点、终点与数据存储文件。如某个外部实体既是数据源点又是数据汇点,可以在数据流图的不同的地方重复绘制。在绘制时应该注意以下要点: (1)自外向内,自顶向下,逐层细化,完善求精。 (2)保持父图与子图的平衡。 为了表达较为复杂问题的数据处理过程,用一个数据流图往往不够。一般按问题的层次结构进行逐步分解,并以分层的数据流图反映这种结构关系。根据层次关系一般将数据流图分为顶层数据流图、中间数据流图和底层数据流图,除顶层图外,其余分层数据流图从0开始编号。对任何一层数据流图来说,称它的上层数据流图为父图,在它的下一层的数据流图为子图。

空间分析复习重点

空间分析的概念空间分析:是基于地理对象的位置和形态特征的空间数据分析技术,其目的在于提取和传输空间信息。包括空间数据操作、空间数据分析、空间统计分析、空间建模。 空间数据的类型空间点数据、空间线数据、空间面数据、地统计数据 属性数据的类型名义量、次序量、间隔量、比率量 属性:与空间数据库中一个独立对象(记录)关联的数据项。属性已成为描述一个位置任何可记录特征或性质的术语。 空间统计分析陷阱1)空间自相关:“地理学第一定律”—任何事物都是空间相关的,距离近的空间相关性大。空间自相关破坏了经典统计当中的样本独立性假设。避免空间自相关所用的方法称为空间回归模型。2)可变面元问题MAUP:随面积单元定义的不同而变化的问题,就是可变面元问题。其类型分为:①尺度效应:当空间数据经聚合而改变其单元面积的大小、形状和方向时,分析结果也随之变化的现象。②区划效应:给定尺度下不同的单元组合方式导致分析结果产生变化的现象。3)边界效应:边界效应指分析中由于实体向一个或多个边界近似时出现的误差。生态谬误在同一粒度或聚合水平上,由于聚合方式的不同或划区方案的不同导致的分析结果的变化。(给定尺度下不同的单元组合方式) 空间数据的性质空间数据与一般的属性数据相比具有特殊的性质如空间相关性,空间异质性,以及有尺度变化等引起的MAUP效应等。一阶效应:大尺度的趋势,描述某个参数的总体变化性;二阶效应:局部效应,描述空间上邻近位置上的数值相互趋同的倾向。 空间依赖性:空间上距离相近的地理事物的相似性比距离远的事物的相似性大。 空间异质性:也叫空间非稳定性,意味着功能形式和参数在所研究的区域的不同地方是不一样的,但是在区域的局部,其变化是一致的。 ESDA是在一组数据中寻求重要信息的过程,利用EDA技术,分析人员无须借助于先验理论或假设,直接探索隐藏在数据中的关系、模式和趋势等,获得对问题的理解和相关知识。 常见EDA方法:直方图、茎叶图、箱线图、散点图、平行坐标图 主题地图的数据分类问题等间隔分类;分位数分类:自然分割分类。 空间点模式:根据地理实体或者时间的空间位置研究其分布模式的方法。 茎叶图:单变量、小数据集数据分布的图示方法。 优点是容易制作,让阅览者能很快抓住变量分布形状。缺点是无法指定图形组距,对大型资料不适用。 茎叶图制作方法:①选择适当的数字为茎,通常是起首数字,茎之间的间距相等;②每列标出所有可能叶的数字,叶子按数值大小依次排列;③由第一行数据,在对应的茎之列,顺序记录茎后的一位数字为叶,直到最后一行数据,需排列整齐(叶之间的间隔相等)。 箱线图&五数总结 箱线图也称箱须图需要五个数,称为五数总结:①最小值②下四分位数:Q1③中位数④上四分位数:Q3⑤最大值。分位数差:IQR = Q3 - Q1 3密度估计是一个随机变量概率密度函数的非参数方法。 应用不同带宽生成的100个服从正态分布随机数的核密度估计。 空间点模式:一般来说,点模式分析可以用来描述任何类型的事件数据。因为每一事件都可以抽象化为空间上的一个位置点。 空间模式的三种基本分布:1)随机分布:任何一点在任何一个位置发生的概率相同,某点的存在不影响其它点的分布。又称泊松分布

微信公众后台数据分析指导公众号运营

史上最详细微信公众后台数据分析,指导公众 号运营 干货君导读:微信后台数据更加详细之后,我对本号从7月9日到8月7日的数据进行了详细分析。主要分为3个部分,用户增长来源分析、图文阅读分析和用户属性分析,虽然我是科技类的自媒体,但是对于数据影响因素的分析还是具有一定的普适性,所以我希望通过解读本号数据背后影响因素,能给大家的微信公号运营,带来一些实质性帮助。 第一部分:用户增长来源分析 用户增长来源的5种方式 (1)搜索公众号名称,搜索微信公众号的名称获得关注,这类的号原本就有一定的品牌,或定位足够垂直,当用户有这方面需求时,就会自己通过关

键词搜索。比如可口可乐、杜蕾斯、汽车、减肥、羽毛球、北京(地方号)、移动互联网等。所以在取名的时候,可以取一个和公号定位相符的名字,有利于被搜索到。如果怕别人也用同样的名字,可以选择注册商标、认证、提高互动率等方式,提高公号排名。比如本号“今日干货”这个名字,就是一个很好的占位,而且在搜索的时候,一直排在第一名,必然会导入大量精准粉丝,所以在本号的粉丝来源里占了39%。 (2)搜索微信号,通过这种方式关注的用户,理论上应该都是来自微信ID 在别处的曝光,比如经常用的互推,还有微博、人人网、百度贴吧等SNS网站和传统媒体、线下等推广方式。微信ID是一串字母加数字的结合,记忆和输入都很难,所以最好是结合公众号的名称设定ID,不但让人好记还好输入。尽量减少用户的记忆和输入成本,会在一定程度上增加关注量。本号通过搜索微信ID的占比不是很高,才8%,这应该和我几乎不参加互推有关,如果经常参加互推的号,这个占比应该高很多。 (3)图文消息右上角菜单,这个关注按钮隐藏较深,很多人不知道阅读文章时的右上角按钮里还隐藏了这么多功能,而且需要经过2步才能到公众号介绍页,最坑爹的是这个按钮不是在所有阅读的情况下都会出现,所以通过这个方式关注公众号的占比很低。 (4)名片分享,直接的名片分享,一般应该都是通过口碑传播,这个数据占比越高,说明这个号的质量越好。

空间数据分析模型

第7 章空间数据分析模型 7.1 空间数据 按照空间数据的维数划分,空间数据有四种基本类型:点数据、线数据、面数据和体数据。 点是零维的。从理论上讲,点数据可以是以单独地物目标的抽象表达,也可以是地理单元的抽象表达。这类点数据种类很多,如水深点、高程点、道路交叉点、一座城市、一个区域。 线数据是一维的。某些地物可能具有一定宽度,例如道路或河流,但其路线和相对长度是主要特征,也可以把它抽象为线。其他的线数据,有不可见的行政区划界,水陆分界的岸线,或物质运输或思想传播的路线等。 面数据是二维的,指的是某种类型的地理实体或现象的区域范围。国家、气候类型和植被特征等,均属于面数据之列。 真实的地物通常是三维的,体数据更能表现出地理实体的特征。一般而言,体数据被想象为从某一基准展开的向上下延伸的数,如相对于海水面的陆地或水域。在理论上,体数据可以是相当抽象的,如地理上的密度系指单位面积上某种现象的许多单元分布。 在实际工作中常常根据研究的需要,将同一数据置于不同类别中。例如,北京市可以看作一个点(区别于天津),或者看作一个面(特殊行政区,区别于相邻地区),或者看作包括了人口的“体”。 7.2 空间数据分析 空间数据分析涉及到空间数据的各个方面,与此有关的内容至少包括四个领域。 1)空间数据处理。空间数据处理的概念常出现在地理信息系统中,通常指的是空间分析。就涉及的内容而言,空间数据处理更多的偏重于空间位置及其关系的分析和管理。 2)空间数据分析。空间数据分析是描述性和探索性的,通过对大量的复杂数据的处理来实现。在各种空间分析中,空间数据分析是重要的组成部分。空间数据分析更多的偏重于具有空间信息的属性数据的分析。 3)空间统计分析。使用统计方法解释空间数据,分析数据在统计上是否是“典型”的,或“期望”的。与统计学类似,空间统计分析与空间数据分析的内容往往是交叉的。 4)空间模型。空间模型涉及到模型构建和空间预测。在人文地理中,模型用来预测不同地方的人流和物流,以便进行区位的优化。在自然地理学中,模型可能是模拟自然过程的空间分异与随时间的变化过程。空间数据分析和空间统计分析是建立空间模型的基础。 7.3 空间数据分析的一些基本问题 空间数据不仅有其空间的定位特性,而且具有空间关系的连接属性。这些属性主要表现为空间自相关特点和与之相伴随的可变区域单位问题、尺度和边界效应。传统的统计学方法在对数据进行处理时有一些基本的假设,大多都要求“样本是随机的”,但空间数据可能不一定能满足有关假设,因此,空间数据的分析就有其特殊性(David,2003)。

空间数据分析

空间数据分析报告 —使用Moran's I统计法实现空间自相关的测度1、实验目的 (1)理解空间自相关的概念和测度方法。 (2)熟悉ArcGIS的基本操作,用Moran's I统计法实现空间自相关的测度。2、实验原理 2.1空间自相关 空间自相关的概念来自于时间序列的自相关,所描述的是在空间域中位置S 上的变量与其邻近位置Sj上同一变量的相关性。对于任何空间变量(属性)Z,空间自相关测度的是Z的近邻值对于Z相似或不相似的程度。如果紧邻位置上相互间的数值接近,我们说空间模式表现出的是正空间自相关;如果相互间的数值不接近,我们说空间模式表现出的是负空间自相关。 2.2空间随机性 如果任意位置上观测的属性值不依赖于近邻位置上的属性值,我们说空间过程是随机的。 Hanning则从完全独立性的角度提出更为严格的定义,对于连续空间变量Y,若下式成立,则是空间独立的: 式中,n为研究区域中面积单元的数量。若变量时类型数据,则空间独立性的定义改写成 式中,a,b是变量的两个可能的类型,i≠j。 2.3Moran's I统计 Moran's I统计量是基于邻近面积单元上变量值的比较。如果研究区域中邻近面积单元具有相似的值,统计指示正的空间自相关;若邻近面积单元具有不相似的值,则表示可能存在强的负空间相关。

设研究区域中存在n 个面积单元,第i 个单位上的观测值记为y i ,观测变量在n 个单位中的均值记为y ,则Moran's I 定义为 ∑∑∑∑∑======n i n j ij n i n j ij n i W W n I 11 11j i 1 2i ) y -)(y y -(y )y -(y 式中,等号右边第二项∑∑==n 1i n 1j j i ij )y -)(y y -(y W 类似于方差,是最重要的项,事 实上这是一个协方差,邻接矩阵W 和) y -)(y y -(y j i 的乘积相当于规定)y -)(y y -(y j i 对邻接的单元进行计算,于是I 值的大小决定于i 和j 单元中的变量值对于均值的偏离符号,若在相邻的位置上,y i 和y j 是同号的,则I 为正;y i 和y j 是异号的, 则I 为负。在形式上Moran's I 与协变异图 {}{}u ?-)Z(s u ?-)Z(s N(h)1(h)C ?j i ∑=相联系。 Moran's I 指数的变化范围为(-1,1)。如果空间过程是不相关的,则I 的期望接近于0,当I 取负值时,一般表示负自相关,I 取正值,则表示正的自相关。用I 指数推断空间模式还必须与随机模式中的I 指数作比较。 通过使用Moran's I 工具,会返回Moran's I Index 值以及Z Score 值。如果Z score 值小于-1.96获大于1.96,那么返回的统计结果就是可采信值。如果Z score 为正且大于1.96,则分布为聚集的;如果Z score 为负且小于-1.96,则分布为离散的;其他情况可以看作随机分布。 3、实验准备 3.1实验环境 本实验在Windows 7的操作系统环境中进行,使用ArcGis 9.3软件。 3.2实验数据 此次实习提供的数据为以湖北省为目标区域的bount.dbf 文件。.dbf 数据中包括第一产业增加值,第二产业增加值万元,小学在校学生数,医院、卫生院床位数,乡村人口万人,油料产量,城乡居民储蓄存款余额,棉花产量,地方财政一般预算收入,年末总人口(万人),粮食产量,普通中学在校生数,肉类总产量,规模以上工业总产值现价(万元)等属性,作为分析的对象。

系统分析数据流图10例教学教材

数据流图10例 1.请根据以下描述画出某库存管理系统的数据流图。该系统的数据流程描述如下:(1)首先,根据计划部门转来的收货通知单,和已存在的物资编码文件,建立物资采购单流水账;(2)然后,根据技术部门的物资验收报告和物资采购单流水账,更新物资台账文件;(3)最后,对物资台账分类汇总,将结果存储于物资总账文件中。 答: 图.1 2.请根据以下描述画出系统的数据流图。该子系统共有三个加工,(1)首先,根据生产计划、库存台账文件编制采购计划,建立采购计划文件;(2)其次,根据订货合同、采购计划文件,建立合同台帐文件;(3)最后,根据合同分类文件打印合同分类表。 答:

3.请根据以下业务流程描述,画出某物资管理系统的数据流图。该系统的业务流程描述如下:(1)生产车间向物资部提出物资需用计划,物资部计划人员根据库存台帐,编制物资采购计划;(2)采购人员根据物资采购计划,以及供货商报价单,编制合同台帐;(3)采购的物资到货后,库存管理人员根据技术科提供的验收报告,以及合同台帐,进行物资入库处理,并更新库存台帐。 答: 4.请根据以下描述画出某设备管理系统的数据流图。该系统的数据流程描述如下: (1)首先,根据技术科的验收报告,建立设备台帐;(2)然后,根据技术科的设备检修记录,更新设备台帐;(3)最后,对设备台帐分类汇总,打印输出统计报告。 答: 图.3

5.请根据以下业务流程描述,画出某仓库管理系统的数据流图。该系统的业务流程描述如下:(1)仓库管理员依据物资到货通知单,建立物资台帐;(2)领料人员向仓库管理员提交物资领用申请,库管员查询库存台帐并打印领料单;(3)月末进行物资盘点,生成并打印“物资收支存报表”。 答: 图.5

空间分析实习报告

空间分析实习报告 学院遥感信息工程学院班级 学号 姓名 日期

一、实习内容简介 1.实验目的: (1)通过实习了解ArcGIS的发展,以及10.1系列软件的构成体系 (2)熟练掌握ArcMap的基本操作及应用 (3)了解及应用ArcGIS的分析功能模块ArcToolbox (4)加深对地理信息系统的了解 2.实验内容: 首先是对ArcGIS有初步的了解。了解ArcGIS的发展,以及10.1系列软件的构成体系,了解桌面产品部分ArcMap、ArcCatalog和ArcToolbox的相关基础知识。 实习一是栅格数据空间分析,ArcGIS软件的Spatial Analyst模块提供了强大的空间分析工具,可以帮助用户解决各种空间分析问题。利用老师所给的数据可以创建数据(如山体阴影),识别数据集之间的空间关系,确定适宜地址,最后寻找一个区域的最佳路径。 实习二是矢量数据空间分析,ArcToolbox软件中的Analysis Tools和Network Analyst Tools提供了强大的矢量数据处理与分析工具,可以帮助用户解决各种空间分析问题。利用老师所给的数据可以通过缓冲区分析得到矢量面数据,通过与其它矢量数据的叠置分析、临近分析来辅助选址决策过程;可以构建道路平面网络模型,进而通过网络分析探索最优路径,从而服务于公交选线、智能导航等领域。 实习三是三维空间分析,学会用ArcCatalog查找、预览三维数据;在ArcScene中添加数据;查看数据的三维属性;从二维要素与表面中创建新的三维要素;从点数据源中创建新的栅格表面;从现有要素数据中创建TIN表面。 实习四是空间数据统计分析,利用地统计分析模块,你可以根据一个点要素层中已测定采样点、栅格层或者利用多边形质心,轻而易举地生成一个连续表面。这些采样点的值可以是海拔高度、地下水位的深度或者污染值的浓度等。当与ArcMap一起使用时,地统计分析模块提供了一整套创建表面的工具,这些表面能够用来可视化、分析及理解各种空间现象。 实习五是空间分析建模,空间分析建模就是运用GIS空间分析方法建立数学模型的过程。按照建模的目的,可分为以特征为主的描述模型(descriptive model)和提供辅助决策信息和解决方案为目的的过程模型(process model)两类。本次实习主要是通过使用ArcGIS的模型生成器(Model Builder)来建立模型,从而处理涉及到许多步骤的空间分析问题。 二、实习成果及分析 实习一: 练习1:显示和浏览空间数据。利用ArcMap和空间分析模块显示和浏览数据。添加和显示各类空间数据集、在地图上高亮显示数值、查询指定位置的属性值、分析一张直方图和创建一幅山体阴影图。

微信数据库分析及设计

微信数据库分析与设计 一、需求分析 微信作为当前的主要即时通讯工具之一,有着广泛的应用。其主要的功能是实现即时通信,这也是微信的核心功能。此外还有查看朋友圈动态、搜索好友、管理个人信息、建立用户自己的相册、收藏功能、摇一摇、搜索附近的人、购物、游戏等功能。此次对于微信平台的数据库设计主要对部分需要微信平台提供存储信息功能进行需求分析及设计。以下将对微信平台的主要需求做简要的分析并且根据分析做出数据流图使得对于微信平台数据库的设计有更好的理解。 微信的通信主要包括与微信好友进行相互通信,这其信容包括文字、语音、图片及视频。当用户订阅了公众号之后,会接收公众号发送的消息并且也可向公众号发信息或许其提供的信息。 微信通信功能的另一个主要方面是实现群聊。用户可以加入一个微信群进行群。另一方面用户也可以选择自己的联系人进行群聊。 微信讯录实现了保存用户联系人的目的,并且订阅的公众号也保存于通讯录中,并且在通讯录中可以设定标签来为联系人分组。 微信朋友圈保存好友发送的与朋友共享的消息,其容可为文字、图片、视频。在朋友圈中可以设定权限使得不同权限的用户查看的容不一样。 摇一摇功能可以获取同一时刻一起摇动手机的用户,并且暂存于微信中。 附近的人功能可以识别在一定围的微信用户,并且将获得的用户信息也暂存在微信中,对于识别附近的用户可以设定具体的条件来扫描。 漂流瓶功能相当于随机的获取微信消息或者向微信用户随机的发送消息。 对于个人信息的编辑,用户可以根据自身需要编辑一些所需的个人信息。

最后在微信用户个人信息中有相册和收藏记录用户的照片和收藏的文字语音等信息。 以上是对微信的部分功能的需求分析,现根据以上需求对微信数据库画出数据流图: 第0层DFD: 第1层DFD:

软件开发中的数据流分析

软件开发中的数据流分析 数据流分析中,信息流是系统的一个需要考虑的关键因素,通常用数据流图来进行描绘。数据流图是结构化系统分析的主要工具,它表示了系统内部信息的流向,并表示了系统的逻辑处理的功能。也就是说,数据流图的作用就是从数据传递和加工的角度,在需求分析阶段以图形的方式描述数据流从输入到输出的移动变换过程,为系统建立逻辑模型。 1 数据流图的标示 数据流图是从数据传递和加工的角度,以图形的方式刻画数据流从输入到输出的传输变换过程。DFD 有四种元素,其基本符号如图3-5所示。 1)外部实体 与系统进行交互,但系统不对其进行加工和处理的实体,用带标记的矩形表示。 2)数据的加工 加工是对数据进行变换而活处理的单元,它接收一定的数据输入,对齐进行处理,并产生输出。在数据流图中加工/处理用带标记的圆圈表示,在圆圈内写上加工名。一个处理框可以代表一系列程序、单个程序或者程序的一个模块。 3)数据流 在数据加工之间或数据存储和数据加工之间进行流动的数据,用带标记的箭头表示。数据流由一组固定的数据组成,用来指出数据在系统内传播的路径。如订票单由旅客姓名、身份证号、年龄、日期、单位和目的地等数据项组成。由于数据流是流动中的数据,在数据流图中数据流用带箭头的线表示,在其线旁标注数据流名(与数据存储之间的数据流不用命名)。在数据流图中应该描绘所有可能的数据流向,而不应该描绘出现某个数据流的条件。数据流图中的箭头表示的是数据流,而程序流程图中的箭头表示的是控制流。

4)数据存储 表示信息的静态存储,可以代表文件、文件的一部分、数据库的元素等,用带标记的双实线表示。 在数据流图中,如果有两个以上数据流指向一个加工,或是从一个加工中引出两个以上的数据流,这些数据流之间往往存在一定的关系。为表达这些关系,可以对数据流的加工表上不同的几号。一般来说,数据流与加工之间可用星号“*”表示相邻的一对数据流同时出现,用“+”表示相邻的两数据流可取其一或者两者,用“☉表示相邻的两数据流只能取其一,具体情况如图3-6所示。 为了能够有效表达数据处理过程的数据加工情况,需要采用层次结构的数据流图,即按照系统的层次结构进行逐步分解,并以分分层的数据流图来反映这种结构关系,这样就能比较清楚地表达和理解整个系统。

汽车数据流分析思路

汽车数据流分析思路 1、何谓数据流?有何作用? 汽车数据流是指电子控制单元(ECU)与传感器和执行器交流的数据参数通过诊断接口,由专用诊断仪读取的数据,且随时间和工况而变化。数据的传输就像队伍排队一样,一个一个通过数据线流向诊断仪。汽车电子控制单元(ECU)中所记忆的数据流真实的反映了各传感器和执行器的工作电压和状态,为汽车故障诊断提供了依据,数据流只能通过专用诊断仪器读取。汽车数据流可作为汽车ECU的输入输出数据,使维修人员随时可以了解汽车的工作状况,及时诊断汽车的故障。读取汽车数据流可以检测汽车各传感器的工作状态,并检测汽车的工作状态,通过数据流还可以设定汽车的运行数据。2、测量数据流常采用哪些方法? 测量汽车数据流常采用以下三种方法: (1)电脑通信方式;(2)电路在线测量方式;(3)元器件模拟方式。2.1怎样用电脑通信方式是通过控制系统在诊断插座中的数据通信线将控制电脑的实时数据参数以串行的方式送给诊断仪。在数据流中包括故障的信息、控制电脑的实时运行参数、控制电脑与诊断之间的相互控制指令。诊断仪在接收到这些信号数据以后,按照预定的通信协议将其显示为相应的文字和数码,以使维修人员观察系统的运行状态并分析这些内容,发现其中不合理或不正确的信息,进行故障的诊断。电脑诊断有两种:一种称为通

用诊断仪;另一种称为专用诊断仪。 怎样分析节气门开度? 节气门开度是一个数值参数,其数值的单位根据车型不同有以下种: 若单位为电压(V),则数值范围为0~5.1V; 若单位为角度,则数值范围为0度~90度; 若单位为百分数(%),则数值范围为0~100%。 该参数的数值表示发动机微机接收到的节气门位置传感器信号值,或根据该信号计算出的节气门开度的大小。其绝对值小,则表示节气门开度小;其绝对值大,则表示节气门开度大。在进行数值分析时,应检查在节气门全关时参数的数值大小。 以电压为单位的,节气门全关时的参数的数值应低于0.5V; 以角度为单位的,节气门全关时的参数值应为0度; 以百分数为单位的,节气门全关时该参数的数值应为0。此外,还应检查节气门全开时的数值。 节气门全开时的数值应分别为4.5V左右;82度以上;95%以上。若有异常,则可能是节气门位置传感器有故障或调整不当,也可能是线路或微机内部有故障。 怎样分析发动机转速? 读取电控装置数据流时,在检测仪上所显示出来的发动机转速是由电控汽油喷射系统微机(ECU)或汽车动力系统微机(PCM)根据发动机点火信号或曲轴位置传感器的脉冲信号计算而得的,它反

实验4-1 GIS空间分析(空间分析基本操作)

实验4-1、空间分析基本操作 一、实验目的 1. 了解基于矢量数据和栅格数据基本空间分析的原理和操作。 2. 掌握矢量数据与栅格数据间的相互转换、 栅格重分类(Raster Reclassify)、 栅格计算-查询符合条件的栅格(Raster Calculator)、 面积制表(Tabulate Area)、 分区统计(Zonal Statistic)、 缓冲区分析(Buffer) 、采样数据的空间内插(Interpolate)、 栅格单元统计(Cell Statistic)、 邻域统计(Neighborhood)等空间分析基本操作和用途。 3. 为选择合适的空间分析工具求解复杂的实际问题打下基础。 二、实验准备 预备知识: 空间数据及其表达 空间数据(也称地理数据)是地理信息系统的一个主要组成部分 。空间数据是指以地球表面空间位置为参照的自然、社会和人文经济景观数据,可以是图形、图像、文字、表格和数字等。它是GIS 所表达的现实世界经过模型抽象后的内容,一般通过扫描仪、键盘、光盘或其它通讯系统输入GIS。 在某一尺度下,可以用点、线、面、体来表示各类地理空间要素。有两种基本方法来表示空间数据:一是栅格表达; 一是矢量表达。两种数据格式间可以进行转换。 空间分析 空间分析是基于地理对象的位置和形态的空间数据的分析技术,其目的在于提取空间信息或者从现有的数据派生出新的数据,是将空间数据转变为信息的过程。 空间分析是地理信息系统的主要特征。空间分析能力(特别是对空间隐含信息的提取和传输能力)是地理信息系统区别与一般信息系统的主要方面,也是评价一个地理信息系统的主要指标。 空间分析赖以进行的基础是地理空间数据库。空间分析运用的手段包括各种几何的逻辑运算、数理统计分析,代数运算等数学手段。空间分析可以基于矢量数据或栅格数据进行,具体是情况要根据实际需要确定。 空间分析步骤 根据要进行的空间分析类型的不同, 空间分析的步骤会有所不同。通常,所有 的空间分析都涉及以下的基本步骤,具体 在某个分析中,可以作相应的变化。 空间分析的基本步骤: a) 确定问题并建立分析的目标和要满足 的条件 b) 针对空间问题选择合适的分析工具 c) 准备空间操作中要用到的数据。 d) 定制一个分析计划然后执行分析操作。 e) 显示并评价分析结果

GIS空间分析复习提纲及答案

空间分析复习提纲 一、基本概念(要求:基本掌握其原理及含义,能做名词解释) 1、空间分析:是基于地理对象的位置和形态的空间数据的分析技术,其目的在于提取和传输空间信息。 2、空间数据模型:以计算机能够接受和处理的数据形式,为了反映空间实体的某些结构特性和行为功能,按一定的方案建立起来的数据逻辑组织方式,是对现实世界的抽象表达。分为概念模型、逻辑模型、物理模型。 3、叠置分析:是指在同一地区、同一比例尺、同一数学基础、不同信息表达的两组或多组专题要素的图形或数据文件进行叠加,根据各类要素与多边形边界的交点或多边形属性建立多重属性组合的新图层,并对那些结构和属性上既互相重叠,又互相联系的多种现象要素进行综合分析和评价;或者对反映不同时期同一地理现象的多边形图形进行多时相系列分析,从而深入揭示各种现象要素的内在联系及其发展规律的一种空间分析方法。 4、网络分析:网络分析是通过研究网络的状态以及模拟和分析资源在网络上的流动和分配情况,对网络结构及其资源等的优化问题进行研究的一种空间分析方法。 5、缓冲区分析:即根据分析对象的点、线、面实体,自动建立它们周围一定距离的带状区,用以识别这些实体或主体对邻近对象的辐射范围或影响度,以便为某项分析或决策提供依据。其中包括点缓冲区、线缓冲区、面缓冲区等。 6、最佳路径分析:也称最优路径分析,以最短路径分析为主,一直是计算机科学、运筹学、交通工程学、地理信息科学等学科的研究热点。这里“最佳”包含很多含义,不仅指一般地理意义上的距离最短,还可以是成本最少、耗费时间最短、资源流量(容量)最大、线路利用率最高等标准。 7、空间插值:空间插值是指在为采样点估计一个变量值的过程,常用于将离散点的测量数据转换为连续的数据曲面,它包括内插和外推两种算法。,前者是通过已知点的数据计算同一区域内其他未知点的数据,后者则是通过已知区域的数据,求未知区域的数据。 8、空间量算:即空间量测与计算,是指对GIS数据库中各种空间目标的基本参数进行量算与分析,如空间目标的位置、距离、周长、面积、体积、曲率、空间形态以及空间分布等,空间量算是GIS获取地理空间信息的基本手段,所获得的基本空间参数是进行复杂空间分析、模拟与决策制定的基础。 9、克里金插值法:克里金插值法是空间统计分析方法的重要内容之一,它是建立在半变异函数理论分析基础上,对有限区域内的区域变化量取值进行无偏最优估计的一种方法,不仅考虑了待估点与参估点之间的空间相关性,还考虑了各参估点间的空间相关性,根据样本空间位置不同、样本间相关程度的不同,对每个参估点赋予不同的权,进行滑动加权平均,以估计待估点的属性值。 二、分析类(要求:重点掌握其原理及含义,能结合本专业研究方向做比较详细的阐述) 1、空间数据模型的分类? 答:分为三类: ①场模型:用于表述二维或三维空间中被看作是连续变化的现象; ②要素模型:有时也称对象模型,用于描述各种空间地物; ③网络模型:一种某一数据记录可与任意其他多个数据记录建立联系的有向图结构的数据模型,可 以模拟现实世界中的各种网络。

【公众号运营方案】如何利用微信后台数据优化微信运营

运营实操|如何利用后台数据优化运营 前不久自己开通了一个个人,想着在业余时间来实践实践下新媒体运营,期间也尝试用后台提供的数据统计功能来对整个运营进行优化。做了近20天,因业余时间很有限,且用户精准细分,粉丝量虽然不大,但颇有心得,现在分享给大家。 经一番实践。本人认为,后台数据统计的意义在于以下3个方面: 1、对前期的定位和用户精准度进行验证性分析,看初始策略是否对路需要及时调整; 2、对用户来源/渠道分析,用以判断粉丝来源路径,以便调整发布渠道; 3、对图文进行分析,用以优化内容和找准推送时间。 以上3个问题是本文的主线,不过在此之前,本文将从运营本的定位和内容初始化出发,再过渡到数据优化部分,重点阐述如何根据后台数据分析对运营进行优化,希望能对运营的小伙伴们有一点启示,吾心足矣! 一、的定位 我做的这个是讲运营的,本着分享自己运营经验和结交各路运营豪杰的目的而开设,且因自己从事运营没年限不长,功力有限,所以将本的受众定位为: 人群定位:对运营感兴趣的在校大学生已经工作过一段时间、想转运营岗位的在职者1~3年的运营从业者。 从上面的定位可以看出,受众人群仅限于运营新手级别或是即将从事运营的小伙伴,因而人群数量有限,粉丝重质不重量。经过网络上的调研和对上述部分人群的调查后,从受众需达成的目标、存在的痛点和成为本所能获得的收益这3个方面着手,从而勾勒出本的用户画像: 1

本目标受众的概况/人群画像 紧接着,依据上述的用户画像,再结合根据自己工作的内容和涉猎的领域,将的内容板块划分为以下5大板块,以后的内容推送将围绕者这几方面展开: 推送内容: 1、分享一些能够实际操作的运营手段或方法运营理念; 2、分享运营中重要的思维方式和理念职业规划; 3、分享新手关于职业规划方面的个人看法和经验运营案例; 4、分享运营实操案例学习方法; 5、分享在工作中如何快速学习,学习技巧和工具分享。 在完成上面的定位和内容板块后,我将名称起名为“XXX”(为避免广告嫌疑,不显示名称),其中的关键词突出“运营”和“面向新手”两点。 二、的初始化及渠道投放 1

相关文档
最新文档