GPS项目小结

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

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

  1. VarPost.Add("lng", textBox1.Text.Trim());
  2. //将textBox1中的数据变为用a标识的参数,并用POST传值方式传给网页 -
  3. VarPost.Add("lat", textBox2.Text.Trim());
  4. VarPost.Add("__VIEWSTATE", "/wEPDwULLTIwNzQwMDQ3MTVkZKHa1lpe/9+nyHf2xzOHEEt1eGFB");
  5. VarPost.Add("__EVENTVALIDATION", "/wEWBAL65/7NAgKL1Y7VCgKKhszBCQKM54rGBglQFPnfb0garkdt736MDNGGoKlX");
  6. 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.zuiniusn.com原创文章,未经博主允许不得转载。

时间: 2024-11-09 10:03:13

GPS项目小结的相关文章

arm、linux、qt项目小结

QT资源文件 1.新建文件或工程 -> qt资源2.添加,资源名称(Image),选择路径,完成3,打开Image.qrc, 添加后缀,一般就是 /4.添加文件,添加图片5. 调用 (:/11.png) 转http://blog.sina.com.cn/s/blog_5c70dfc80100r257.html 在Qt中处理图片一般都要用到QImage类,但是QImage的对象不能够直接显示出来,要想能看到图片,初步发现有两种方法. 一.QImage转QPixmap,然后用QLabel::setP

项目小结及难点复盘

项目小结及难点复盘 1.程序总体框架结构 计算程序属于客户端,与服务端建立socket连接并实时获取需要计算的数据. 计算程序结果写入oracle数据库对应的表中,供前台界面读取并显示结果. 2.计算模块所处的位置及功能 完成数据socket通信.数据接收.数据解析.计算.结果写数据库操作. 3.使用技术 socket通信.线程同步.OTL.Oracle数据库查询.STL. 3.遇到的技术难点 1)Socket通信简单协议实现 实现中很像当年的中兴捧月的比赛题目,三次握手.保活连接&通信. 最终

一个WPF小项目小结

一:缘起 在10月中旬的时候在学校BBS上看到有人有做PC桌面客户端的需求,做的是能耗的计算和评估,要算能耗,就有很多环节,最后对这些环节数据进行一些简单计算.我想要是做的话就用比较熟的wpf,就去聊了下,对方给了1张比较复杂的Excel表格(其实对方的需求并不是很清楚,最后大概10来张EXcel表格),说是要做成软件呈现的形式,也没要求数据库,反正只要有功能,界面他们也没概念,给了个98年的老软件作为参考,最后EXcel表格弄懂结构后不复杂,计算都是加减乘除.我就答应了,这个软件算起来大概花了

项目小结一:在项目中使用 IScroll 所碰到的那些坑

最近做了个 WEB APP 项目,用到了大名鼎鼎的 IScroll,滚动的效果的确很赞,但是坑也是特别多,下面总结一下,希望自后来者有帮助. 该项目现已开源在 github 上,https://github.com/ansiboy/ChiTuStore 一. 使用 abstract 定位 顶栏和底栏最好不要使用 fixed 定位,应该使用 abstract 定位.我最初使用的是 fixed 定位,页面从右往左呈现的时候,经常会出现两个问题:1.顶栏时不时地会消失掉,2.新页面在移动的过程中,顶栏

第八周项目小结

小结: 第八周了,是时候对自己的项目流程做一个简单的阐述和总结了. 我负责数据库的编写和java与数据库的连接JDBC这块,用MVC三层架构写图书馆管理系统,模型层可直接向数据库传递SQL语句,控制层调用模型层,视图层调用控制层,展示最后结果,用户可在视图层输入信息,视图层将信息传给控制层,控制层通过控制模型层向数据库传递SQL语句来对数据库中的信息增删改查,需要输出结果的操作,在数据库获得信息后,就可依次通过模型层,控制层最后呈现在视图层上. 已经能实现基本的增删改查功能,前两天还只是停留在程

在oneAPM参加第一个项目小结

从12月15日开始加入进入oneAPM的第二个项目,也是我真正近距离接触项目的一次吧,到今天差不多接近尾声了,很高心能和大家一起共同改造这个项目,虽然说我做的贡献并不大,但是身临项目真的会收获很多体会很多,会发现合作和团结的力量,会感激小伙伴们的帮助和鼓励,会知道自己的不足和欠缺,从而找到继续前进的方向. 当然其中的心得体会我还是需要唠唠的,本周项目交工,希望能趁着本周空闲把这个小结写完.首先,不得不说当初拿到这个任务时,我真真正正觉得Oh,My God! 嗯,第一次挑起大梁(项目里就我一个前端

第一次搭建springboot+dubbo+zookeeper项目小结

第一次用IDEA搭建springboot+dubbo+zookeeper项目中碰到了一些问题,现在记录下来, 第一步:项目准备工作 工具IDEA,先下载安装zookeeper和dubbo   Zookeeper下载地址:https://zookeeper.apache.org/releases.html,我下载最新的release 3.5.7 ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件.它是

【项目小结-2015年7月11号】--进入外包的工作的小结(一)

说到自己,带着一种很复杂的心情,开始了自己的外包工作生活.怎么讲,有时好恨自己,感觉这段时间对于我来讲,发生很多很多的事情,也渐渐失去我生命中最重要的人,我想挽回,但有时真的感到很无力,很无奈,总想着有些事情能够触手可及,但是我真的很笨,我像一个傻子,明知道你的城市在下雨,明知道你没有带伞,我却像个傻子依然拨通你的电话问你有没有带伞,我是不是很傻,自己总是走不出这道坎,自己总是不想失去,不想去认输,我该如何去做,你能告诉我吗? 我始终认为人和人在一起要相互坦然,相互信任,我也知道你是一个天使,我

项目小结二:APP 小红点中数字的处理

小红点,是 APP 中最常见的一个功能,我们先来看一下面的案例,下图中,待评价的商品有 2 个,点击“评价晒单”按钮进行评价后,那么待评价数量应该变成 1,那么这个功能是如何去实现的呢? 一般来说,实现的方法有三种: 一.刷新整个页面的数据 就是说,每显示一次,都重新从服务端把数据拉下来,这种方法虽然简单,但是,加大了服务端的负荷,并且由于要整页刷新,用户体验不好. 二.利用事件实现 比如说:增加一个名为 评价晒单 的事件,个人中心页面监听这个事件,而在用户进行评价晒单操作时,服务端返回待评价数