GPS项目小结

原创 2015年07月08日 14:40:32

GPS项目中涉及到的技术有地图纠偏,js与winform c#的交互等方面:

 1   google地图纠偏,可以私下call我...QQ(964877814)....,其实主要因为考虑到政治以及军事安全的问题,所以国内的地图存在偏差,而且不同地方的偏差不同,但是相应的计算偏差的算法不可能公开的缘故,所以只能依靠一些纠偏数据来纠正。

   纠偏数据可以自己获得,因为地图所谓的偏差值只是:(例加入使用google map 代码加GPS经纬度),明显,GPS经纬度不可能出现错误,人家是卫星各种东东定位,商业产品...所以出错就是在于google map与 GPS经纬度的交互后,也就是说实际在google把准确的值换成偏差后的值啦...甚至是说...那些地质测绘的厂商本来给他们的就是经过有关部门..的数据.... 所以实际上GPS+卫星地图的这种定位是没有经过偏差处理的...而假如你想获得纠偏数据..

步骤:
   比如你在珠海...
      1  然后你首先通过GPS定位装置获得一个坐标点(经纬度)point_1;
      2  在“卫星“模式下,可以在point_1处标记一个marker_1,其实此时不存在偏差的显示;
      3  在”地图“模式下,可以再point_1经纬度处标记一个marker_2,嘿嘿,此时呢,就是准确的经纬度+加上偏差的不准确地图;
      4  の...然后将模式转变成”卫星模式“下,の...由此获得marker_2现在实际的经纬度值点point_2;の...现在我们手上就有两个经纬度啦。
      5  做差吧,point_2.x-point.x=dx;point_2.y-point.y=dy;...其实这就是计算方法...循环几次之后,可以通过什么拟合东东的数学公式(球体上两点等等),来计算其周围的偏差...但是不同的城市甚至镇 乡都要取几次值...

 

2  winform c#与通过方式post与服务器交互:

            引入using System.Net;

             using System.Collections.Specialized;     

 代码如下:

  1. private void GetInfo()  
  2.        {  
  3.            WebClient w = new WebClient();  
  4.   
  5.            NameValueCollection VarPost = new NameValueCollection();  
  6.   
  7.            VarPost.Add("lng", textBox1.Text.Trim());  
  8.            //将textBox1中的数据变为用a标识的参数,并用POST传值方式传给网页 ­  
  9.   
  10.            VarPost.Add("lat", textBox2.Text.Trim());  
  11.            VarPost.Add("__VIEWSTATE", "/wEPDwULLTIwNzQwMDQ3MTVkZKHa1lpe/9+nyHf2xzOHEEt1eGFB");  
  12.            VarPost.Add("__EVENTVALIDATION", "/wEWBAL65/7NAgKL1Y7VCgKKhszBCQKM54rGBglQFPnfb0garkdt736MDNGGoKlX");  
  13.            VarPost.Add("Button1","经纬度定位");   
  14.    //将参数列表VarPost中的所有数据用POST传值的方式传给http://申请好的域名或用IIs配置好的地址/Default.aspx,  
  15.   
  16.    //并将从网页上返回的数据以字节流存放到byRemoteInfo中)(注:IIS配置的时候经常没配置好会提示错误,嘿) ­         
  17.            string url = <a href="http://www">http://www.</a>网址;  
  18.   
  19.            try  
  20.            {  
  21.                byte[] byRemoteInfo = w.UploadValues(new Uri(url), "post", VarPost);  
  22.   
  23.                string sRemoteInfo = System.Text.Encoding.UTF8.GetString(byRemoteInfo);  
  24.   
  25.                //StreamReader sr = new StreamReader(@"C:\temp.txt", Encoding.Default);  
  26.                //string html = sr.ReadToEnd();  
  27.                foreach (Match m in Regex.Matches(sRemoteInfo, @"(?<=markpoint\().*(?=,')"))  
  28.                {  
  29.                        string[] splitstring = m.Value.ToString().Split(',');  
  30.                        label1.Text=splitstring[0]+"   "+splitstring[1];  
  31.                        // webBrowser_map.Document.InvokeScript("markpoint", new Object[] {});  
  32.                }  
  33.   
  34.                using (StreamWriter sw = new StreamWriter("TestFile.txt"))  
  35.                {  
  36.                    // Add some text to the file.  
  37.                    sw.Write(sRemoteInfo);  
  38.   
  39.                }  
  40.            }  
  41.            catch (WebException ex)  
  42.            {  
  43.                label1.Text = ex.ToString();  
  44.            }  
  45.   
  46.        }  


 也许大家会对这一段代码产生疑问:

   

  1. VarPost.Add("lng", textBox1.Text.Trim());  
  2.  //将textBox1中的数据变为用a标识的参数,并用POST传值方式传给网页 ­  
  3.   
  4.  VarPost.Add("lat", textBox2.Text.Trim());  
  5.  VarPost.Add("__VIEWSTATE", "/wEPDwULLTIwNzQwMDQ3MTVkZKHa1lpe/9+nyHf2xzOHEEt1eGFB");  
  6.  VarPost.Add("__EVENTVALIDATION", "/wEWBAL65/7NAgKL1Y7VCgKKhszBCQKM54rGBglQFPnfb0garkdt736MDNGGoKlX");  
  7.  VarPost.Add("Button1","经纬度定位");   


       这个是http的requst的body部分(详细了解HTTP协议),可以通过Fiddler(Fiddler是一个web调试代理。它能够记录所有客户端和服务器间的http请求,允许你监视,设置断点,甚至修改输入输出数据,fiddler包含了一个强大的基于事件脚本的子系统,并且能够使用.net框架语言扩展。),他可以抓取http包:


 

      其实总结起来,winform c#与服务器交互,而winform这方其实就是一个“http包”发送方...而服务器只要知道这是身份即可,の...也就是说本来浏览器要办的事,你winform来做...“http模拟”....其实最主要知道:通过Fiddle所得的Body部分来确定发送的数据集合+URL....(待续....) 

3 winform中webbrowser设置url:

  1. System.IO.FileInfo file = new System.IO.FileInfo("../../GoogleMap.htm");  
  2.  // WebBrowser控件显示的网页路径    
  3.  webBrowser_map.Url = new Uri(file.FullName);  
  4.  // 将当前类设置为可由脚本访问  
  5.  webBrowser_map.ObjectForScripting = this;  

4 c#引用c++编写的Dll时,当c++中的函数声明为:..int add(int& a,int& b);时

应该在.cs文件中作如下处理:

  1. class RectifyTest  
  2.   {  
  3.       [DllImport("..\\..\\Lib\\RectifyDll.dll")]  
  4.       public static extern int Rectify(ref float lng, ref float lan);  
  5.   }  

5  VC2005 中char 转换 LPCWSTR 问题

   网上很多code都是用VC6.0写成的,用VC2005转换后,再编译时经常会遇到字符串转换的问题,搞得你很郁闷呀。


    如MessageBox函数定义一个 char ch[10]; 给ch 写进字符然后调用 MessageBox((LPCWSTR)ch); 编译是没问题,但是显示出来的是乱码,LPCWSTR 类型是多少位的啊?在VC6.0中 可以这样使用 MessageBox(ch); 无须强制转换。


但在2005中就不行,必须要强制转换后才能通过编译,但转换后显示的又是乱码,很让人郁闷呀。

在windows平台中对LPCTSTR 有如下定义
    

  1. typedef LPCTSTR LPTSTR ;  
  2.  #ifndef _UNICODE  
  3.  typedef TCHAR char;  
  4.  #else   
  5. typedef TCHAR wchar_t;  
  6.  #endif  

解决方案如下:

在项目属性-->配置属性-->常规-->字符集, 将其换为:使用多字节字符集,编译就通过了。

版权声明:本文为博主http://www.feixueteam.net原创文章,未经博主允许不得转载。

开发嵌入式项目小结

等项目搞完了再来总结下一些经历.先打个标.
  • zouweifeng
  • zouweifeng
  • 2007年07月15日 19:42
  • 239

实验室设备管理系统项目总结(1)——Model层

c++出身的我自从开始接触编程以来就很少做过其他语言的项目,而且一直做的也基本上是关于VC的,所以对于VC的各个方面也算是有一定的经验积累,而京城和我一块做项目的人或是不肯露出自己的“本事”,或是很菜...
  • china12345909
  • china12345909
  • 2012年12月18日 20:14
  • 541

项目数据库设计小结

鉴于教务系统基础数据库的构建整整用了我们一个月时间,为了这一个月,也需要写篇博客总结一下。首先说一下教务系统现有部分,方便对下面内容的说明:教务系统包括四部分:基础系统、考试系统、评教系统、选课系统,...
  • lidaasky
  • lidaasky
  • 2013年03月04日 16:42
  • 1972

zabbix学习总结(2)

zabbix中有许多术语,这些术语构成了zabbix的主要功能,先来认识一下。       项目(item),项目就是zabbix server要从被监控端获取的数据,一个项目就是一个要获取的数...
  • tlqfreedom
  • tlqfreedom
  • 2014年08月25日 15:11
  • 481

项目代码质量的总结

在公司开发系统的过程中,总结了一些关于项目维护性的问题及应对的方法,首先要说的是遇到的的问题,主要表现在四个方面:   (1) 复用率低,整个项目中存在大量这样的代码,当发现一段代码、方法所做的事情在...
  • wwlast
  • wwlast
  • 2013年10月29日 14:20
  • 893

写项目总结写哪些方面

1.业务背景 2.框架输出 3.每个功能模块介绍 4.人力分析 5.有好的挑出来分享经验...
  • ziruominglin
  • ziruominglin
  • 2018年01月05日 19:28
  • 31

毕业设计管理系统小结

毕业设计管理系统基本完成了,还是老规矩,颗粒归仓:总结.   先来看教训: 1、做界面原型的时候,没有为界面起好名字,链接也没有设置好,导致后来大家在VS里画界面的时候,名字起得很不统一,很凌乱...
  • shan9liang
  • shan9liang
  • 2012年02月18日 08:36
  • 2390

C语言项目总结

C语言项目总结 历时14天的项目与答辩总算是完成了
  • zoulang7
  • zoulang7
  • 2015年12月27日 23:32
  • 233

PHP项目小结

在经历了短暂而又漫长的一个星期后,终于完成了在兄弟连学习的第一个阶段,第一期项目的完成。 这也代表着php学习的基础阶段的结束,也可以说是刚刚入了php的大门。 在这两个月的学习时间里,渐渐发现,...
  • u019524703
  • u019524703
  • 2015年03月06日 10:36
  • 875

计时及时间相关总结

计时篇、时间处理     SYSTEMTIME   sysT, localT ;     FILETIME    ftLocal,ftFile ;     TCHAR    timechar[MAX_...
  • pangubing
  • pangubing
  • 2013年10月30日 09:56
  • 769
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:GPS项目小结
举报原因:
原因补充:

(最多只允许输入30个字)