要完成你的工作、首先你需要确定客户端GPS设备的硬件是否满足以下条件。
1、采用B/S结构,这个需要GPS设备上有安装浏览器。这种情况 无论是C还是C#都能实现。
2、采用C/S结构,如果使用C#则需要GPS设备上安装微软的.net执行平台、即framework。
如果采用C作为编程语言,则可以直接开发客户端/服务器端会话程序,不必要求framework。
无论是采用什么结构,采用C#作为编程语言都对客户端GPS设备提出了更高的硬件要求。
当然C#也并非物链一无是处、客户端硬件满足1或2条件。个人认为采用C#比C开发效率更高。如果不满足,只能采用C语言直接开发会话程序。但需要针对不同的客户端硬件开发不同的会话程序轿消。
根据你的要求并假定客户端设备满足1或2条件,采用C#开发。需要至少全日制(>8小时/天)学习C#2周;采用B/S结构开发,需要学习html半周时间;如果数据量比较大需要使用数据库软件的话、建议再学习数据库SQL SERVER 2周。
剩下的事就是开始工作,边做边学了。
1.非常简单,App定位分为网络定位,包含IP定位,WiFi定位,行迅悔蜂窝数据基站定位,GPS卫星定位,室内定位等,一般我们都会使用混合定位,APP开发中一般会使用百度或高德的开发包来进行定位,定位涵盖以上各类,如果要自己写的话是比较复杂的,档正自己可以取GPS,如果要自己实现基站和IP就得需要对应的数据库。
2.网页定位主要是指IP定位,另外html5中有新的定位的方式可以获取移动端的GPS位置,不过对相应的浏览器版本和内核有所昌册要求
本文试图从编程人员的角度出发,以一种悉衫程序员易于理解的方式来简单介绍一下GPS定位的基本原理,希望对做GPS开发的朋友有所帮助。当然,本文并没有涉及具体的开发方面的技术。一、GPS定位数学模型
之所以先介绍数学模型,是因为我认为这个数学模型可能是程序员比较关心的问题。当然事先声明,这个模型只是我根据一些GPS资料总专为程序员总结出来的一个简化模型,细节方面可能并不符合实际,想了解具体细节请参考专业的GPS讲解资料。
GPS定位,实际上就是通过四颗已知位置的卫星来确定GPS接收器的位置。
举例:GPS接收器为当前要确定位置的设备,卫星1、2、3、4为本次定位要用到的四颗卫星:
Position1、Position2、Position3、Position4分别为四颗卫星的当前位置(空间坐标),已知
d1、d2、d3、d4分别为四颗卫星到要定位的GPS接收器的距离,已知
Location 为要定位的卫星接收器的位置,待求。
那么定位的过程,简单来讲就是通过一个函数GetLocation(),从已知的[Position1,d1]、[Position2,d2]、[Position3,d3]、[Position4,d4]四对数据中求出Location的值。用程序员熟悉的函数调用来表示就是:
Location=GetLocation([Position1,d1],[Position2,d2],[Position3,d3],[Position4,d4])
那么,这些参数从哪里来?这个函数又是如何执行?由谁来执行的呢?立体几何还没有忘干净的可能还要问:为什么必须要4对参数呢?那下面我们就来一起探究一下。
1.Position1、Position2、Position3、Position4这些位置信息从哪里来?
实际上,运行于宇宙空间的GPS卫星,每一个都在时刻不停地通过卫星信号向全世界广播自己的当前位置坐标信息。任何一个GPS接收器都可以通过天线很轻松地接收到这些信息,并且能够读懂这些信息(这其实也是每一个GPS芯片的核心功能之一)。这就是这些位置信息的来源。
2.d1、d2、d3、d4这些距离信息从哪里来?
我们已经知道每一个GPS卫星都在一刻不停地广播自己的位置,那么在发送位置信息的同时,也会附加上该数据包发出时的时间戳。GPS接收器收到数据包后樱陆腔,用当前时间减去时间戳上的时间,就是数据包在空中传输所用的时间了。
知道了数据包在空中的传输时间,那么乘上他的传输速度,就是数据包在空中传输的距离脊衫,也就是该卫星到GPS接收器的距离了。数据包是通过无线电波传送的,那么理想速度就是光速c,把传播时间记为Ti的话,用公式表示就是:
di=c*Ti(i=1,2,3,4)
这就是di(i=1,2,3,4)的来源了。
3.GetLocation()函数是如何执行的?
这个函数是我为了说明问题而虚构的,事实上未必存在,但是一定存在这样类似的运算逻辑。这些运算逻辑可以由软件来实现,但是事实上可能大都是由硬件芯片来完成的(这可能也是每一个GPS芯片的核心功能之一)。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)