﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>博客园-Rover's Official Blog</title><link>http://www.cnblogs.com/Tangf/</link><description>Map/GPS/GIS/WebMap</description><language>zh-cn</language><lastBuildDate>Fri, 05 Dec 2008 16:35:21 GMT</lastBuildDate><pubDate>Fri, 05 Dec 2008 16:35:21 GMT</pubDate><ttl>60</ttl><item><title>公告：Rover's Official Blog停止更新</title><link>http://www.cnblogs.com/Tangf/archive/2006/08/05/468267.html</link><dc:creator>Rover.Tang</dc:creator><author>Rover.Tang</author><pubDate>Fri, 04 Aug 2006 20:30:00 GMT</pubDate><guid>http://www.cnblogs.com/Tangf/archive/2006/08/05/468267.html</guid><wfw:comment>http://www.cnblogs.com/Tangf/comments/468267.html</wfw:comment><comments>http://www.cnblogs.com/Tangf/archive/2006/08/05/468267.html#Feedback</comments><slash:comments>8</slash:comments><wfw:commentRss>http://www.cnblogs.com/Tangf/comments/commentRss/468267.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/Tangf/services/trackbacks/468267.html</trackback:ping><description><![CDATA[<p>想了几天，终于决定写这么一个公告了。并不是因为写些东西太累或者太占时间而停止了更新，也许就如同前文说是因为今天喝多了酒(呵呵，玩笑)，也许如同MSN副标题所言：严重的压力和抑郁，强烈的人格分裂和精神分裂，等待崩溃(呵呵，又一个玩笑)。可能是觉得写的东西没什么水准，并且也不能时常的更新，加上个人感觉自己技术的下降(呵呵，也许本来就没有什么技术)，考虑甚多，终于作了这么个决定：<span style="COLOR: red">Rover's Official Blog停止更新</span>。<br>同时停止更新的是Rover's GIS Blog，是3snews上面的Blog，不过上面的基本上也都是本站的复制。生活类Blog会不定时更新，停靠在了Space和新浪，由于关系自己暴露隐私等问题，所以本文不详细提供连接地址。从元旦开博到现在也已经八个月的时间了，发了40多篇的随笔和0篇的文章，非常开心能够在博客园作为我的主blog的停靠站，能够让我在这里结识这么多的朋友，并同他们交流，让我学到甚多、收益菲浅，非常的感谢博客园感谢大家。<br>也许我还会回来，说不定有一天我会发公告说本Blog重新开始更新，很有可能的事情。希望这段日子能够安静些，能够思考更多些，能够明确些方向，能够做出些实质性的东西，能够提高些自身的技术能力。非常的希望，不知道能否实现。<br>也许我也会偶然的更新一下本日志，大概是在有东西发布或者有好东西同大家分享的情况下吧。</p>
<p><span style="COLOR: red">我的联系方式和需要注意的地方：<br></span>E-mail：<a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#116;&#102;&#108;&#106;&#104;&#64;&#49;&#54;&#51;&#46;&#99;&#111;&#109;">tfljh@163.com</a>(基本上是每天晚上登陆一次)<br>MSN：<a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#116;&#102;&#108;&#106;&#104;&#64;&#109;&#115;&#110;&#46;&#99;&#111;&#109;">tfljh@msn.com</a>(基本上是开机登陆，不过状态一般为忙碌，Mail会不定时登陆)<br>Gmail：<a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#116;&#97;&#110;&#103;&#102;&#50;&#48;&#48;&#52;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;">tangf2004@gmail.com</a>(基本上是两三天登陆一次，Gtalk则不定时登陆了)<br>QQ：65985498(基本上是每天晚上隐身登陆一次，并且一般在十分钟内关闭)<br>以后的联系通过E-Mail联系，谢绝一切的及时通讯工具，请尽量不要添加我为好友，包括QQ/MSN/Gtalk，如果您发的Mail足够的诚恳并且也足够的值得聊天的理由，那么我会添加你的。不希望通过聊天的方式来解决问题，聊了半天的问题最后做公安局调查户口的事情了(呵呵，说的严重了)，或者说是聊了半天后就无聊了然后再也不聊了，多么的没有意思。我倒还是很愿意花上十分钟的时间来阅读您的Mail并将我知道的所答复给您。当然如果有邮件不回复，那么基本上我是不懂而无法回答或者觉得没有任何答复的价值，请多多的包涵。</p>
<p><span style="COLOR: #ff0000">以前写的部分日志以及提供的下载文件整理：<br></span><span style="COLOR: #ff0000">最后的礼物：校园多媒体系统和校园WEBGIS系统</span> <a href="http://www.cnblogs.com/Tangf/archive/2006/08/05/468257.html"><span>http://www.cnblogs.com/Tangf/archive/2006/08/05/468257.html</span></a><br><span>┕校园多媒体系统源代码下载：</span><a href="http://www.cnblogs.com/Files/Tangf/Campus_Multimedia_Infomation_System_Source.rar"><span>http://www.cnblogs.com/Files/Tangf/Campus_Multimedia_Infomation_System_Source.rar</span></a><br>┕校园WEBGIS系统源代码下载：<a href="http://www.cnblogs.com/Files/Tangf/Campus_WebGIS_Source.rar">http://www.cnblogs.com/Files/Tangf/Campus_WebGIS_Source.rar</a><br>Google卫星地图的URL计算 <a href="http://www.cnblogs.com/Tangf/archive/2006/07/23/457902.html">http://www.cnblogs.com/Tangf/archive/2006/07/23/457902.html</a><br>两点坐标间距离的算法以及验证 <a href="http://www.cnblogs.com/Tangf/archive/2006/07/23/457884.html">http://www.cnblogs.com/Tangf/archive/2006/07/23/457884.html</a><br>极索(Gsuo)推出新版地图采用Gmap设计思路 <a href="http://www.cnblogs.com/Tangf/archive/2006/07/23/457521.html">http://www.cnblogs.com/Tangf/archive/2006/07/23/457521.html</a><br><span style="COLOR: #ff0000">浅谈LBS(基于位置的服务)</span> <a href="http://www.cnblogs.com/Tangf/archive/2006/07/17/452498.html">http://www.cnblogs.com/Tangf/archive/2006/07/17/452498.html</a><br>MapBar地图更新啦 <a href="http://www.cnblogs.com/Tangf/archive/2006/07/13/450215.html">http://www.cnblogs.com/Tangf/archive/2006/07/13/450215.html</a><br>推荐一款软件：Global Mapper <a href="http://www.cnblogs.com/Tangf/archive/2006/07/11/448411.html">http://www.cnblogs.com/Tangf/archive/2006/07/11/448411.html</a><br>51ditu、清华地图以及Google地图 <a href="http://www.cnblogs.com/Tangf/archive/2006/07/02/440953.html">http://www.cnblogs.com/Tangf/archive/2006/07/02/440953.html</a><br>计算最近点和最近线段 <a href="http://www.cnblogs.com/Tangf/archive/2006/07/01/440311.html">http://www.cnblogs.com/Tangf/archive/2006/07/01/440311.html</a><br>┕最近点和最近线段算法示例代码(脱离MAPX5，VB6实现)：<a href="http://www.cnblogs.com/Files/Tangf/neardis_new.rar">http://www.cnblogs.com/Files/Tangf/neardis_new.rar</a><br><span style="COLOR: #ff0000">Garmin Nuvi 350试用手记</span> <a href="http://www.cnblogs.com/Tangf/archive/2006/06/17/428045.html">http://www.cnblogs.com/Tangf/archive/2006/06/17/428045.html</a><br>┕全文下载(供转载专用)：<a href="http://www.cnblogs.com/Files/Tangf/Nuvi350.rar">http://www.cnblogs.com/Files/Tangf/Nuvi350.rar</a><br>MapBar中坐标的加密和解密(JS实现) <a href="http://www.cnblogs.com/Tangf/archive/2006/06/06/419124.html">http://www.cnblogs.com/Tangf/archive/2006/06/06/419124.html</a><br>发现一个SVG做的地图网站：ChinaQuest <a href="http://www.cnblogs.com/Tangf/archive/2006/06/04/417110.html">http://www.cnblogs.com/Tangf/archive/2006/06/04/417110.html</a><br>boot.ini文件的修复 <a href="http://www.cnblogs.com/Tangf/archive/2006/06/04/416915.html">http://www.cnblogs.com/Tangf/archive/2006/06/04/416915.html</a><br>再谈MAPX打包以及MAPX的安装 <a href="http://www.cnblogs.com/Tangf/archive/2006/05/31/414361.html">http://www.cnblogs.com/Tangf/archive/2006/05/31/414361.html</a><br><span style="COLOR: #ff0000">寻找MapBar的地图切割方法</span> <a href="http://www.cnblogs.com/Tangf/archive/2006/05/28/411397.html">http://www.cnblogs.com/Tangf/archive/2006/05/28/411397.html</a><br>┕我自己切割的Mapbar地图，并且可以在本地运行：<a href="http://www.cnblogs.com/Files/Tangf/MapBar_My.rar">http://www.cnblogs.com/Files/Tangf/MapBar_My.rar</a><br>已知一点求最近点(问题请教) <a href="http://www.cnblogs.com/Tangf/archive/2006/05/28/411182.html">http://www.cnblogs.com/Tangf/archive/2006/05/28/411182.html</a><br>┕求最近点示例代码(基于MAPX5，VB6实现)：<a href="http://www.cnblogs.com/Files/Tangf/neardis.rar">http://www.cnblogs.com/Files/Tangf/neardis.rar</a><br>基于数据库的公交换乘算法(一点思路一点问题) <a href="http://www.cnblogs.com/Tangf/archive/2006/05/28/411065.html">http://www.cnblogs.com/Tangf/archive/2006/05/28/411065.html</a><br>MapInfo/ArcInfo交流(提问解答,不定时更新) <a href="http://www.cnblogs.com/Tangf/archive/2006/05/09/395489.html">http://www.cnblogs.com/Tangf/archive/2006/05/09/395489.html</a><br>(收集)Shape转KML工具(更新:Google正式收购SketchUp) <a href="http://www.cnblogs.com/Tangf/archive/2006/04/26/386092.html">http://www.cnblogs.com/Tangf/archive/2006/04/26/386092.html</a><br>┕两个SHape转KML工具：<a href="http://www.cnblogs.com/Files/Tangf/shape2kml.rar">http://www.cnblogs.com/Files/Tangf/shape2kml.rar</a><br>地图投影 <a href="http://www.cnblogs.com/Tangf/archive/2006/04/17/377638.html">http://www.cnblogs.com/Tangf/archive/2006/04/17/377638.html</a><br>容器透明(如PictureBox) <a href="http://www.cnblogs.com/Tangf/archive/2006/04/05/367885.html">http://www.cnblogs.com/Tangf/archive/2006/04/05/367885.html</a><br>Google地图切割以及类似Google的开源API <a href="http://www.cnblogs.com/Tangf/archive/2006/03/29/362110.html">http://www.cnblogs.com/Tangf/archive/2006/03/29/362110.html</a><br>获取字符串中的指定位置的子字符串 <a href="http://www.cnblogs.com/Tangf/archive/2006/03/25/358311.html">http://www.cnblogs.com/Tangf/archive/2006/03/25/358311.html</a><br>做了个界面，请大家PP <a href="http://www.cnblogs.com/Tangf/archive/2006/03/16/351640.html">http://www.cnblogs.com/Tangf/archive/2006/03/16/351640.html</a><br>[存点资料]车载导航电子地图走向标准化 <a href="http://www.cnblogs.com/Tangf/archive/2006/03/04/342733.html">http://www.cnblogs.com/Tangf/archive/2006/03/04/342733.html</a><br>[ZT]谈谈 wiki 的缺点 <a href="http://www.cnblogs.com/Tangf/archive/2006/03/01/340725.html">http://www.cnblogs.com/Tangf/archive/2006/03/01/340725.html</a><br>[转贴]Web地图服务：GIS走近你我 <a href="http://www.cnblogs.com/Tangf/archive/2006/02/23/336493.html">http://www.cnblogs.com/Tangf/archive/2006/02/23/336493.html</a><br>算我给Google本地和E都市做个广告吧 <a href="http://www.cnblogs.com/Tangf/archive/2006/02/18/333076.html">http://www.cnblogs.com/Tangf/archive/2006/02/18/333076.html</a><br><span style="COLOR: #ff0000">电子地图查询系统_v1.0_源代码(VB6+MAPX5)</span> <a href="http://www.cnblogs.com/Tangf/archive/2006/02/15/331375.htmlGoogle">http://www.cnblogs.com/Tangf/archive/2006/02/15/331375.htmlGoogle</a><br>┕电子地图查询系统源代码：<a href="http://www.cnblogs.com/Files/Tangf/MapSearch_Source.rar">http://www.cnblogs.com/Files/Tangf/MapSearch_Source.rar</a><br><span style="COLOR: #ff0000">地图的配色问题(以及MapBar和51ditu)</span> <a href="http://www.cnblogs.com/Tangf/archive/2006/02/12/329162.html">http://www.cnblogs.com/Tangf/archive/2006/02/12/329162.html</a><br><span style="COLOR: #ff0000">[分享]上海市样图</span> <a href="http://www.cnblogs.com/Tangf/archive/2006/02/08/327310.html">http://www.cnblogs.com/Tangf/archive/2006/02/08/327310.html</a><br>┕上海市样图：<a href="http://www.cnblogs.com/Files/Tangf/Map_SH.rar">http://www.cnblogs.com/Files/Tangf/Map_SH.rar</a><br><span style="COLOR: #ff0000">用SetupFactory打包MapX(带打好的包和打包文档以及录像)</span> <a href="http://www.cnblogs.com/Tangf/archive/2006/02/05/325842.html">http://www.cnblogs.com/Tangf/archive/2006/02/05/325842.html</a><br>┕打包以及文档和录像：<a href="http://www.cnblogs.com/Files/Tangf/Mapx_Pack.rar">http://www.cnblogs.com/Files/Tangf/Mapx_Pack.rar</a><br>ArcGIS9、MapObject2.2和ArcExplorer2.0连接ArcSDE9.0问题 <a href="http://www.cnblogs.com/Tangf/archive/2006/01/26/323698.html">http://www.cnblogs.com/Tangf/archive/2006/01/26/323698.html</a><br><span style="COLOR: #ff0000">MapBar和MapInfo中的比例尺[更新:MapBar比例尺是正确的]</span> <a href="http://www.cnblogs.com/Tangf/archive/2006/01/24/322854.html">http://www.cnblogs.com/Tangf/archive/2006/01/24/322854.html</a><br>MapBar研究(百度地图中的JS部分) <a href="http://www.cnblogs.com/Tangf/archive/2006/01/22/321756.html">http://www.cnblogs.com/Tangf/archive/2006/01/22/321756.html</a><br>┕本地浏览，调用远程图片：<a href="http://www.cnblogs.com/Files/Tangf/MapBar_baidu.rar">http://www.cnblogs.com/Files/Tangf/MapBar_baidu.rar</a><br><span style="COLOR: #ff0000">浅谈WEBGIS运用栅格地图实现原理[更新:Google Maps带来的新型WebGIS设计模式]</span> <a href="http://www.cnblogs.com/Tangf/archive/2006/01/14/317327.html">http://www.cnblogs.com/Tangf/archive/2006/01/14/317327.html</a><br><span style="COLOR: #ff0000">校园WebGIS开发与实践(论文部分)</span> <a href="http://www.cnblogs.com/Tangf/archive/2006/01/13/316918.html">http://www.cnblogs.com/Tangf/archive/2006/01/13/316918.html</a><br>┕校园WEBGIS的论文下载：<a href="http://www.cnblogs.com/Files/Tangf/Campus_WebGIS.rar">http://www.cnblogs.com/Files/Tangf/Campus_WebGIS.rar</a><br>MapInfo中按区域分割地图的方法（带MapBasic方法） <a href="http://www.cnblogs.com/Tangf/archive/2006/01/13/316363.html">http://www.cnblogs.com/Tangf/archive/2006/01/13/316363.html</a><br><span style="COLOR: #ff0000">MIFtoSHP通用转换工具</span> <a href="http://www.cnblogs.com/Tangf/archive/2006/01/06/312654.html">http://www.cnblogs.com/Tangf/archive/2006/01/06/312654.html</a><br>┕MIFtoSHP通用转换工具：<a href="http://www.cnblogs.com/Files/Tangf/MIFtoSHP.rar">http://www.cnblogs.com/Files/Tangf/MIFtoSHP.rar</a><br><span style="COLOR: #ff0000">MIFtoTAB and TABtoMIF(MIF和TAB互转小工具)</span> <a href="http://www.cnblogs.com/Tangf/archive/2006/01/01/309375.html">http://www.cnblogs.com/Tangf/archive/2006/01/01/309375.html</a><br>┕MIFandTAB互转工具：<a href="http://www.cnblogs.com/Files/Tangf/MIFandTAB.rar">http://www.cnblogs.com/Files/Tangf/MIFandTAB.rar</a><br></p>
<img src ="http://www.cnblogs.com/Tangf/aggbug/468267.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/43812/" target="_blank">[新闻]Google操作系统已开始内部测试？</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>最后的礼物：校园多媒体系统和校园WEBGIS系统</title><link>http://www.cnblogs.com/Tangf/archive/2006/08/05/468257.html</link><dc:creator>Rover.Tang</dc:creator><author>Rover.Tang</author><pubDate>Fri, 04 Aug 2006 19:22:00 GMT</pubDate><guid>http://www.cnblogs.com/Tangf/archive/2006/08/05/468257.html</guid><wfw:comment>http://www.cnblogs.com/Tangf/comments/468257.html</wfw:comment><comments>http://www.cnblogs.com/Tangf/archive/2006/08/05/468257.html#Feedback</comments><slash:comments>7</slash:comments><wfw:commentRss>http://www.cnblogs.com/Tangf/comments/commentRss/468257.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/Tangf/services/trackbacks/468257.html</trackback:ping><description><![CDATA[<p>为什么说是最后的礼物，大概是因为我突然想这个blog不更新了。为什么呢？可能是今天晚上喝多了酒，呵呵，原因等下一篇中也许会阐述，同时我会对这个blog的文章等做个总结。其实，这两个东西至少我暂时是不大想放出来的，只是觉得反正这里也不更新了，仅仅将这些东西作为礼物吧，再说毕竟这些东西太过于菜菜了。还是先来介绍下最后的两个礼物吧：</p>
<p><span style="FONT-SIZE: 14pt; COLOR: red"><strong>校园多媒体系统：<br></strong></span>这个大概是今年过年后做的东西了，是给师弟做毕业设计用的。应该讲这也仅仅是电子地图查询系统的更新而已，没有太大的特色，只是做了些比较花的功能而已。<br><span style="COLOR: red">特色：</span><br>一、系统采用了双重数据库，对于如果无法连接SQL Server数据库的情况将提供备用的ACCESS数据库支持。<br>二、系统采用了实时在线更新的方法对软件进行升级，升级仅仅需要设置好服务端以及更新文件列表等即可。<br>三、界面上有所创新，吸取Google的WEB地图的界面，对部分控制条进行显示和隐藏。可以看我以前的截图：<a href="/Tangf/archive/2006/03/16/351640.html" target=_blank>做了个界面，请大家PP </a><br>四、简单的加密方式也可以学习下。这个加密方式可以对移植性进行控制。<br>五、移植性强，许多东西没有写死，只需要改变设置文件、启动画面文件、地图文件和数据库文件即可成为一套全新的系统。<br>开发环境：Visual Basic 6.0，MAPX5.02中文版，ACCESS，SQL SERVER 2000，AutodeskExpressViewe3.1、Windows Media Player 9.0等。<br><span style="COLOR: red">下载地址：</span><a href="/Files/Tangf/Campus_Multimedia_Infomation_System_Source.rar"><span style="COLOR: red">http://www.cnblogs.com/Files/Tangf/Campus_Multimedia_Infomation_System_Source.rar</span></a><br>压缩包中为源代码和生成的程序，同时还赠送了一个基于SF6的MAPX打包文件以及整个校园的地图文件，提供了开放环境中需要的插件支持文件(System目录下)，同时由于文件大小原因，删除了许多Img目录下的图片并且在数据库中删除了部分Img记录(不然会出错)，仅保留了1号楼的图片供参考。<br>相关或参考文章：<br>电子地图查询系统_v1.0_源代码(VB6+MAPX5) <a href="/Tangf/archive/2006/02/15/331375.htmlGoogle" target=_blank>http://www.cnblogs.com/Tangf/archive/2006/02/15/331375.htmlGoogle</a><br>┕电子地图查询系统源代码：<a href="/Files/Tangf/MapSearch_Source.rar">http://www.cnblogs.com/Files/Tangf/MapSearch_Source.rar</a><br>用SetupFactory打包MapX(带打好的包和打包文档以及录像) <a href="/Tangf/archive/2006/02/05/325842.html" target=_blank>http://www.cnblogs.com/Tangf/archive/2006/02/05/325842.html</a><br>┕打包以及文档和录像：<a href="/Files/Tangf/Mapx_Pack.rar">http://www.cnblogs.com/Files/Tangf/Mapx_Pack.rar</a><br>再谈MAPX打包以及MAPX的安装 <a href="/Tangf/archive/2006/05/31/414361.html" target=_blank>http://www.cnblogs.com/Tangf/archive/2006/05/31/414361.html</a></p>
<p><span style="COLOR: red"><strong style="FONT-SIZE: 12pt">校园WEBGIS系统：</strong></span><br>这个应该是05年的时候做的毕业设计，用超图的Supermap IS 2003＋SQL Server 2000建立的一个比较的简单的系统，只是玄乎了下就变的有点意思了，甚至也有点学习或者创新的意思。<br>加上上次发布的论文部分，这样整个系统也算是补全了。原来论文部分请见：校园WebGIS开发与实践(论文部分) <a href="/Tangf/archive/2006/01/13/316918.html">http://www.cnblogs.com/Tangf/archive/2006/01/13/316918.html</a><br><span style="COLOR: red">特色：</span><br>一、提出了地图接口的概念(其实当时的想法是将网络上的所谓企业标注移植到了这个系统上，只是这个功能免费提供给了学校的部门使用)。<br>二、部分搜索功能是通过搜索SQL输出XML来实现。<br>三、系统已经详细到每个楼房楼层的办公室以及办公室内的电话和教师名单、教学楼的班级以及课程表、宿舍的成员组成联系方式等。<br>四、空间数据库和属性数据库通过SQL Server的视图功能实现关联。<br>开发环境：Supermap Desktop 2003(地图编辑工具)，Supermap IS 2003(GIS服务端)，ASP＋SQL Server 2000(开发语言和数据库环境)，IIS 5.0(WEB服务端)，AutodeskExpressViewe3.1(Autodesk公司发布的浏览DWF文件的的客户端插件)等。<br>安装方法请见论文的附录部分，请不要再询问如何安装。<br>由于当时将每个楼层平面图的CAD数据也同时存入了SQL Server，所以导致数据库文件过于庞大，大概90M多，经过压缩大概21.8M左右。由于文件过大没有地方存放，所以这部分也不提供。所以可能会导致系统功能无法实现。数据库不提供，请不要索取。<br><span style="COLOR: red">下载地址：</span><a href="/Files/Tangf/Campus_WebGIS_Source.rar"><span style="COLOR: red">http://www.cnblogs.com/Files/Tangf/Campus_WebGIS_Source.rar</span></a><br>压缩包中为WEB主程序，以及答辩用的演讲稿。<br>相关或参考文章：<br>校园WebGIS开发与实践(论文部分) <a href="/Tangf/archive/2006/01/13/316918.html">http://www.cnblogs.com/Tangf/archive/2006/01/13/316918.html</a><br>┕校园WEBGIS的论文下载：<a href="/Files/Tangf/Campus_WebGIS.rar">http://www.cnblogs.com/Files/Tangf/Campus_WebGIS.rar</a></p>
<p>由于各种原因，压缩包中已经删除了无关紧要的楼层平面图的DWF部分。同时由于文件大小原因，AutodeskExpressViewe3.1程序也没有提供，请从网上下载。</p>
<p>特别说明：两个程序中已经提供了比较完整的数据和代码，可以复制、修改、传播，传播请保证文件完整性，并且包含Readme文件同时注明出处，但禁止用于商业用途。谢谢。</p>
<p>但愿我的礼物能够给您带来一些帮助。<br></p>
<img src ="http://www.cnblogs.com/Tangf/aggbug/468257.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/43812/" target="_blank">[新闻]Google操作系统已开始内部测试？</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>Google卫星地图的URL计算</title><link>http://www.cnblogs.com/Tangf/archive/2006/07/23/457902.html</link><dc:creator>Rover.Tang</dc:creator><author>Rover.Tang</author><pubDate>Sun, 23 Jul 2006 14:59:00 GMT</pubDate><guid>http://www.cnblogs.com/Tangf/archive/2006/07/23/457902.html</guid><wfw:comment>http://www.cnblogs.com/Tangf/comments/457902.html</wfw:comment><comments>http://www.cnblogs.com/Tangf/archive/2006/07/23/457902.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cnblogs.com/Tangf/comments/commentRss/457902.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/Tangf/services/trackbacks/457902.html</trackback:ping><description><![CDATA[<p>写的重名了，Pany的原文：<a href="http://panyee.cnblogs.com/archive/2006/04/27/386914.html" target=_blank>http://panyee.cnblogs.com/archive/2006/04/27/386914.html</a><br>只是用了下觉得算法不太对。<br>后来又找了下以前收集的在南京大学小百合BBS上的资料，找到了些有用的东西，摘录一些有用的文字：<br>Google卫星地图是由256x256大小的jpeg图片拼接而成，每块图片的URL格式为&#8220;http://kh.google.com/kh?v=2&amp;t=trstrqqstsrqttsttq&#8221;样。参数v与图片关系不大，主要是参数t起作用，它是&#8220;qrst&#8221;4个字符排列而成的字符串。为获取某经纬度的URL，就需要把经纬度转化为&#8220;qrst&#8221;字符串。 Google卫星地图在zoom=1时，全球就为一个256x256的图片，它的中心经纬度为(0,0)，URL为&#8220;http://kh.google.com/kh?v=2&amp;t=t&#8221;。zoom=2时裂化为4块，每块的编号为：左上&#8221;t=tq&#8221;,右上&#8221;t=tr&#8221;,右下&#8220;t=ts&#8221;,左下&#8221;t=tt&#8221;。依此类推，每放大一倍，每一小块都裂分为四，从左上到右下顺时针按qrst编号，裂分后的编码为裂分前的编号上小块的编号。<br>摘录一个网页：<a href="http://intepid.com/stuff/gmkh/" target=_blank>http://intepid.com/stuff/gmkh/</a>，在这个网页上输入一个坐标和缩放级别就可以显示地图，并显示从世界图到详细图的逐层计算。<br>摘录两个代码，一个是上面这个网页中的JS代码，一个是小百合论坛上说的另一中Delphi的算法。</p>
<p>原文连接：<br><a href="http://intepid.com/2005-07-17/21.50/" target=_blank>I was born at TSRRTRSQSQQQRQRTSS</a><br><a href="http://bbs.nju.edu.cn/vd18190/bbstcon?board=GIS&amp;file=M.1149682584.A" target=_blank>有人知道google earth吗－小百合论坛<br></a><br>延伸：通过这样的算法可以看出Google切图的索引方式，那么能否推算出地图切割算法呢？<br><br>两个代码如下</p>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img id=Code_Closed_Image_225748 onclick="this.style.display='none'; Code_Closed_Text_225748.style.display='none'; Code_Open_Image_225748.style.display='inline'; Code_Open_Text_225748.style.display='inline';" height=16 src="http://www.cnblogs.com/images/OutliningIndicators/ContractedBlock.gif" width=11 align=top><img id=Code_Open_Image_225748 style="DISPLAY: none" onclick="this.style.display='none'; Code_Open_Text_225748.style.display='none'; Code_Closed_Image_225748.style.display='inline'; Code_Closed_Text_225748.style.display='inline';" height=16 src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedBlockStart.gif" width=11 align=top><span id=Code_Closed_Text_225748 style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">Gmap URL_JS</span><span id=Code_Open_Text_225748 style="DISPLAY: none"><br><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top><span style="COLOR: #0000ff">function</span><span style="COLOR: #000000">&nbsp;GetQuadtreeAddress(</span><span style="COLOR: #0000ff">long</span><span style="COLOR: #000000">,&nbsp;lat)<br><img id=Codehighlighter1_39_806_Open_Image onclick="this.style.display='none'; Codehighlighter1_39_806_Open_Text.style.display='none'; Codehighlighter1_39_806_Closed_Image.style.display='inline'; Codehighlighter1_39_806_Closed_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_39_806_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_39_806_Closed_Text.style.display='none'; Codehighlighter1_39_806_Open_Image.style.display='inline'; Codehighlighter1_39_806_Open_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_39_806_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cnblogs.com/images/dot.gif"></span><span id=Codehighlighter1_39_806_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #0000ff">var</span><span style="COLOR: #000000">&nbsp;PI&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">3.1415926535897</span><span style="COLOR: #000000">;<br><img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #0000ff">var</span><span style="COLOR: #000000">&nbsp;digits&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">18</span><span style="COLOR: #000000">;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">&nbsp;how&nbsp;many&nbsp;digits&nbsp;precision</span><span style="COLOR: #008000"><br><img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>//</span><span style="COLOR: #008000">&nbsp;now&nbsp;convert&nbsp;to&nbsp;normalized&nbsp;square&nbsp;coordinates</span><span style="COLOR: #008000"><br><img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>//</span><span style="COLOR: #008000">&nbsp;use&nbsp;standard&nbsp;equations&nbsp;to&nbsp;map&nbsp;into&nbsp;mercator&nbsp;projection</span><span style="COLOR: #008000"><br><img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #0000ff">var</span><span style="COLOR: #000000">&nbsp;x&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;(</span><span style="COLOR: #000000">180.0</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;parseFloat(</span><span style="COLOR: #0000ff">long</span><span style="COLOR: #000000">))&nbsp;</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">360.0</span><span style="COLOR: #000000">;<br><img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #0000ff">var</span><span style="COLOR: #000000">&nbsp;y&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">parseFloat(lat)&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">&nbsp;PI&nbsp;</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">180</span><span style="COLOR: #000000">;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">&nbsp;convert&nbsp;to&nbsp;radians</span><span style="COLOR: #008000"><br><img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000">y&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0.5</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">&nbsp;Math.log((</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">Math.sin(y))&nbsp;</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">&nbsp;(</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">&nbsp;Math.sin(y)));<br><img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>y&nbsp;</span><span style="COLOR: #000000">*=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">1.0</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">(</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">&nbsp;PI);&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">&nbsp;scale&nbsp;factor&nbsp;from&nbsp;radians&nbsp;to&nbsp;normalized</span><span style="COLOR: #008000"><br><img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000">y&nbsp;</span><span style="COLOR: #000000">+=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0.5</span><span style="COLOR: #000000">;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">&nbsp;and&nbsp;make&nbsp;y&nbsp;range&nbsp;from&nbsp;0&nbsp;-&nbsp;1</span><span style="COLOR: #008000"><br><img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #0000ff">var</span><span style="COLOR: #000000">&nbsp;quad&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">t</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">&nbsp;google&nbsp;addresses&nbsp;start&nbsp;with&nbsp;t</span><span style="COLOR: #008000"><br><img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #0000ff">var</span><span style="COLOR: #000000">&nbsp;lookup&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">qrts</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">&nbsp;tl&nbsp;tr&nbsp;bl&nbsp;br</span><span style="COLOR: #008000"><br><img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #0000ff">while</span><span style="COLOR: #000000">&nbsp;(digits&#8211;)<br><img id=Codehighlighter1_583_791_Open_Image onclick="this.style.display='none'; Codehighlighter1_583_791_Open_Text.style.display='none'; Codehighlighter1_583_791_Closed_Image.style.display='inline'; Codehighlighter1_583_791_Closed_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_583_791_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_583_791_Closed_Text.style.display='none'; Codehighlighter1_583_791_Open_Image.style.display='inline'; Codehighlighter1_583_791_Open_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ContractedSubBlock.gif" align=top></span><span id=Codehighlighter1_583_791_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.cnblogs.com/images/dot.gif"></span><span id=Codehighlighter1_583_791_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">&nbsp;make&nbsp;sure&nbsp;we&nbsp;only&nbsp;look&nbsp;at&nbsp;fractional&nbsp;part</span><span style="COLOR: #008000"><br><img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000">x&nbsp;</span><span style="COLOR: #000000">-=</span><span style="COLOR: #000000">&nbsp;Math.floor(x);<br><img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>y&nbsp;</span><span style="COLOR: #000000">-=</span><span style="COLOR: #000000">&nbsp;Math.floor(y);<br><img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>quad&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;quad&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;lookup.substr((x&nbsp;</span><span style="COLOR: #000000">&gt;=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0.5</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">?</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">&nbsp;:&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">)&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;(y&nbsp;</span><span style="COLOR: #000000">&gt;=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0.5</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">?</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">&nbsp;:&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">),&nbsp;</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">);<br><img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">&nbsp;now&nbsp;descend&nbsp;into&nbsp;that&nbsp;square</span><span style="COLOR: #008000"><br><img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000">x&nbsp;</span><span style="COLOR: #000000">*=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">;<br><img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>y&nbsp;</span><span style="COLOR: #000000">*=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">;<br><img src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000"><br><img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;quad;<br><img src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span></span></div>
<br>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img id=Code_Closed_Image_225834 onclick="this.style.display='none'; Code_Closed_Text_225834.style.display='none'; Code_Open_Image_225834.style.display='inline'; Code_Open_Text_225834.style.display='inline';" height=16 src="http://www.cnblogs.com/images/OutliningIndicators/ContractedBlock.gif" width=11 align=top><img id=Code_Open_Image_225834 style="DISPLAY: none" onclick="this.style.display='none'; Code_Open_Text_225834.style.display='none'; Code_Closed_Image_225834.style.display='inline'; Code_Closed_Text_225834.style.display='inline';" height=16 src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedBlockStart.gif" width=11 align=top><span id=Code_Closed_Text_225834 style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">Gmap URL_Delphi</span><span id=Code_Open_Text_225834 style="DISPLAY: none"><br><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">function&nbsp;getSatURL(zoom:&nbsp;integer;&nbsp;X,&nbsp;Y:&nbsp;</span><span style="COLOR: #0000ff">double</span><span style="COLOR: #000000">):&nbsp;</span><span style="COLOR: #0000ff">string</span><span style="COLOR: #000000">;<br><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>var<br><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;wx,&nbsp;wy,&nbsp;cx,&nbsp;cy:&nbsp;</span><span style="COLOR: #0000ff">double</span><span style="COLOR: #000000">;<br><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;tid:&nbsp;</span><span style="COLOR: #0000ff">string</span><span style="COLOR: #000000">;<br><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;i:&nbsp;integer;<br><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>begin<br><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;cx&nbsp;:</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;cy&nbsp;:</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;wx&nbsp;:</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">180</span><span style="COLOR: #000000">;<br><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;wy&nbsp;:</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">180</span><span style="COLOR: #000000">;<br><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;tid&nbsp;:</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">t</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">;<br><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">&nbsp;i&nbsp;:</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">&nbsp;to&nbsp;zoom</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">do</span><span style="COLOR: #000000"><br><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;begin<br><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">&nbsp;(x&nbsp;</span><span style="COLOR: #000000">&gt;=</span><span style="COLOR: #000000">&nbsp;cx)&nbsp;and&nbsp;(y&nbsp;</span><span style="COLOR: #000000">&gt;=</span><span style="COLOR: #000000">&nbsp;cy)&nbsp;then<br><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;begin<br><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tid&nbsp;:</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;tid&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">r</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">;<br><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cx&nbsp;:</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;cx&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;wx&nbsp;</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">;<br><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cy&nbsp;:</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;cy&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;wy&nbsp;</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">;<br><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;end<br><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">&nbsp;(x&nbsp;</span><span style="COLOR: #000000">&gt;=</span><span style="COLOR: #000000">&nbsp;cx)&nbsp;and&nbsp;(y&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">&nbsp;cy)&nbsp;then<br><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;begin<br><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tid&nbsp;:</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;tid&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">s</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">;<br><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cx&nbsp;:</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;cx&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;wx&nbsp;</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">;<br><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cy&nbsp;:</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;cy&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">&nbsp;wy&nbsp;</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">;<br><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;end<br><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">&nbsp;(x&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">&nbsp;cx)&nbsp;and&nbsp;(y&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">&nbsp;cy)&nbsp;then<br><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;begin<br><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tid&nbsp;:</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;tid&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">t</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">;<br><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cx&nbsp;:</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;cx&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">&nbsp;wx&nbsp;</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">;<br><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cy&nbsp;:</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;cy&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">&nbsp;wy&nbsp;</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">;<br><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;end<br><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000"><br><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;begin<br><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tid&nbsp;:</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;tid&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">q</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">;<br><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cx&nbsp;:</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;cx&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">&nbsp;wx&nbsp;</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">;<br><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cy&nbsp;:</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;cy&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;wy&nbsp;</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">;<br><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;end;<br><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;wx&nbsp;:</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;wx&nbsp;</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">;<br><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;wy&nbsp;:</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;wy&nbsp;</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">;<br><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;end;<br><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;result&nbsp;:</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">http://kh.google.com/kh?v=2&amp;t=</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;tid;<br><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>end;</span></span></div>
<img src ="http://www.cnblogs.com/Tangf/aggbug/457902.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/43811/" target="_blank">[新闻]Google阅读器界面升级 全新改版</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>两点坐标间距离的算法以及验证</title><link>http://www.cnblogs.com/Tangf/archive/2006/07/23/457884.html</link><dc:creator>Rover.Tang</dc:creator><author>Rover.Tang</author><pubDate>Sun, 23 Jul 2006 14:39:00 GMT</pubDate><guid>http://www.cnblogs.com/Tangf/archive/2006/07/23/457884.html</guid><wfw:comment>http://www.cnblogs.com/Tangf/comments/457884.html</wfw:comment><comments>http://www.cnblogs.com/Tangf/archive/2006/07/23/457884.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.cnblogs.com/Tangf/comments/commentRss/457884.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/Tangf/services/trackbacks/457884.html</trackback:ping><description><![CDATA[看了<a href="http://panyee.cnblogs.com/archive/2006/07/04/442771.html" target=_blank>通过两个点的经纬度计算距离</a>这篇，据说是Google里扒来的算法，于是决定验证一下。<br>东改西改改成了个VB的代码，通过计算发现非常正确。<br>用30,120和31,121两个坐标点进行验证，同Mapinfo中计算的结果非常的相近。<br>后来又把坐标系直接当成直角坐标系来计算，发现误差很大。<br>于是仍然用直角坐标系方法来计算，给纬度加上了个0.86的参数，这样计算下来和结果相近。<br>不上传文件了，直接贴代码了。代码如下：(五个TEXT，三个Button)<br>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img id=Code_Closed_Image_223855 onclick="this.style.display='none'; Code_Closed_Text_223855.style.display='none'; Code_Open_Image_223855.style.display='inline'; Code_Open_Text_223855.style.display='inline';" height=16 src="http://www.cnblogs.com/images/OutliningIndicators/ContractedBlock.gif" width=11 align=top><img id=Code_Open_Image_223855 style="DISPLAY: none" onclick="this.style.display='none'; Code_Open_Text_223855.style.display='none'; Code_Closed_Image_223855.style.display='inline'; Code_Closed_Text_223855.style.display='inline';" height=16 src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedBlockStart.gif" width=11 align=top><span id=Code_Closed_Text_223855 style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">两点坐标间距离_VB</span><span id=Code_Open_Text_223855 style="DISPLAY: none"><br><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top><span style="COLOR: #0000ff">Const</span><span style="COLOR: #000000">&nbsp;EARTH_RADIUS&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">6378.137</span><span style="COLOR: #000000"><br><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">Const</span><span style="COLOR: #000000">&nbsp;Pi&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">3.1415926535898</span><span style="COLOR: #000000"><br><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">Function</span><span style="COLOR: #000000">&nbsp;rad(ByVal&nbsp;d&nbsp;</span><span style="COLOR: #0000ff">As</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">Double</span><span style="COLOR: #000000">)&nbsp;</span><span style="COLOR: #0000ff">As</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">Double</span><span style="COLOR: #000000"><br><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>rad&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;d&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">&nbsp;Pi&nbsp;</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">180</span><span style="COLOR: #000000"><br><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">End&nbsp;Function</span><span style="COLOR: #000000"><br><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">Function</span><span style="COLOR: #000000">&nbsp;GetDistance(lat1&nbsp;</span><span style="COLOR: #0000ff">As</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">Double</span><span style="COLOR: #000000">,&nbsp;lng1&nbsp;</span><span style="COLOR: #0000ff">As</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">Double</span><span style="COLOR: #000000">,&nbsp;lat2&nbsp;</span><span style="COLOR: #0000ff">As</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">Double</span><span style="COLOR: #000000">,&nbsp;lng2&nbsp;</span><span style="COLOR: #0000ff">As</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">Double</span><span style="COLOR: #000000">)&nbsp;</span><span style="COLOR: #0000ff">As</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">Double</span><span style="COLOR: #000000"><br><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">Dim</span><span style="COLOR: #000000">&nbsp;radlat1&nbsp;</span><span style="COLOR: #0000ff">As</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">Double</span><span style="COLOR: #000000">,&nbsp;radlat2&nbsp;</span><span style="COLOR: #0000ff">As</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">Double</span><span style="COLOR: #000000"><br><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">Dim</span><span style="COLOR: #000000">&nbsp;a&nbsp;</span><span style="COLOR: #0000ff">As</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">Double</span><span style="COLOR: #000000">,&nbsp;b&nbsp;</span><span style="COLOR: #0000ff">As</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">Double</span><span style="COLOR: #000000">,&nbsp;s&nbsp;</span><span style="COLOR: #0000ff">As</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">Double</span><span style="COLOR: #000000">,&nbsp;Temp&nbsp;</span><span style="COLOR: #0000ff">As</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">Double</span><span style="COLOR: #000000"><br><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>radlat1&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;rad(lat1)<br><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>radlat2&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;rad(lat2)<br><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>a&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;radlat1&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">&nbsp;radlat2<br><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>b&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;rad(lng1)&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">&nbsp;rad(lng2)<br><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>Temp&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">Sqr</span><span style="COLOR: #000000">(</span><span style="COLOR: #0000ff">Sin</span><span style="COLOR: #000000">(a&nbsp;</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">)&nbsp;</span><span style="COLOR: #000000">^</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">Cos</span><span style="COLOR: #000000">(radlat1)&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">Cos</span><span style="COLOR: #000000">(radlat2)&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">Sin</span><span style="COLOR: #000000">(b&nbsp;</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">)&nbsp;</span><span style="COLOR: #000000">^</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">)<br><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>s&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">Atn</span><span style="COLOR: #000000">(Temp&nbsp;</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">Sqr</span><span style="COLOR: #000000">(</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">Temp&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">&nbsp;Temp&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">))&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">'</span><span style="COLOR: #008000">没有反正弦函数，网上找了个</span><span style="COLOR: #008000"><br><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">s&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;s&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">&nbsp;EARTH_RADIUS<br><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>GetDistance&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;s<br><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">End&nbsp;Function</span><span style="COLOR: #000000"><br><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">Private</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">Sub</span><span style="COLOR: #000000">&nbsp;Command1_Click()<br><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>Text5.Text&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;Str(GetDistance(Val(Text1.Text),&nbsp;Val(Text2.Text),&nbsp;Val(Text3.Text),&nbsp;Val(Text4.Text)))<br><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">End&nbsp;Sub</span><span style="COLOR: #000000"><br><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">Private</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">Sub</span><span style="COLOR: #000000">&nbsp;Command2_Click()<br><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>Text5.Text&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;Str((</span><span style="COLOR: #0000ff">Sqr</span><span style="COLOR: #000000">((Val(Text3.Text)&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">&nbsp;Val(Text1.Text))&nbsp;</span><span style="COLOR: #000000">^</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;(Val(Text4.Text)&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">&nbsp;Val(Text2.Text))&nbsp;</span><span style="COLOR: #000000">^</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">))&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">111.3199338</span><span style="COLOR: #000000">)<br><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">End&nbsp;Sub</span><span style="COLOR: #000000"><br><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">Private</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">Sub</span><span style="COLOR: #000000">&nbsp;Command3_Click()<br><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>Text5.Text&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;Str((</span><span style="COLOR: #0000ff">Sqr</span><span style="COLOR: #000000">((Val(Text3.Text)&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0.86</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">&nbsp;Val(Text1.Text)&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0.86</span><span style="COLOR: #000000">)&nbsp;</span><span style="COLOR: #000000">^</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;(Val(Text4.Text)&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">&nbsp;Val(Text2.Text))&nbsp;</span><span style="COLOR: #000000">^</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">))&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">111.3199338</span><span style="COLOR: #000000">)<br><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">End&nbsp;Sub</span></span></div>
<img src ="http://www.cnblogs.com/Tangf/aggbug/457884.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/43811/" target="_blank">[新闻]Google阅读器界面升级 全新改版</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>极索(Gsuo)推出新版地图采用Gmap设计思路</title><link>http://www.cnblogs.com/Tangf/archive/2006/07/23/457521.html</link><dc:creator>Rover.Tang</dc:creator><author>Rover.Tang</author><pubDate>Sat, 22 Jul 2006 18:46:00 GMT</pubDate><guid>http://www.cnblogs.com/Tangf/archive/2006/07/23/457521.html</guid><wfw:comment>http://www.cnblogs.com/Tangf/comments/457521.html</wfw:comment><comments>http://www.cnblogs.com/Tangf/archive/2006/07/23/457521.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cnblogs.com/Tangf/comments/commentRss/457521.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/Tangf/services/trackbacks/457521.html</trackback:ping><description><![CDATA[无意又连接到极索，突然觉得有点不对，因为我在前几天的时候与病毒奋战后JAVA虚拟机都搞没了，极索一般都是JAVA小程序的引擎，我怎么没有虚拟机的情况下也能运行呢？细一看，原来地图已经变化了。控制条放在了地图左上角了，地图右下角又多了极索的连接。并且在显示地图的时候明显的有显示图片的现象。原来极索也抛弃了JAVA小程序这样的方式而采用了Google Map的设计模式。<br><br>相关连接：<a href="http://wangjifeng.cnblogs.com/archive/2006/03/21/354940.html" target=_blank>Google Maps带来的新型WebGIS设计模式 </a>
<img src ="http://www.cnblogs.com/Tangf/aggbug/457521.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/43811/" target="_blank">[新闻]Google阅读器界面升级 全新改版</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>浅谈LBS(基于位置的服务)</title><link>http://www.cnblogs.com/Tangf/archive/2006/07/17/452498.html</link><dc:creator>Rover.Tang</dc:creator><author>Rover.Tang</author><pubDate>Sun, 16 Jul 2006 16:08:00 GMT</pubDate><guid>http://www.cnblogs.com/Tangf/archive/2006/07/17/452498.html</guid><wfw:comment>http://www.cnblogs.com/Tangf/comments/452498.html</wfw:comment><comments>http://www.cnblogs.com/Tangf/archive/2006/07/17/452498.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.cnblogs.com/Tangf/comments/commentRss/452498.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/Tangf/services/trackbacks/452498.html</trackback:ping><description><![CDATA[<p class=a><span style="FONT-FAMILY: 宋体"><a href="http://www.3snews.net/batch.download.php?aid=77" target=_blank></a>近日好几个朋友和我谈到</span><span lang=EN-US><a onclick="tagshow(event, 'LBS');return false;" href="javascript:;"><u><strong>LBS</strong></u></a></span><span style="FONT-FAMILY: 宋体">，本来也想谈谈我个人浅薄的看法，只是后来翻看了我几年前保存的</span><span lang=EN-US>LBS</span><span style="FONT-FAMILY: 宋体">资料后，觉得自己已经没有什么好再说的了，所以，只好把此文作为</span><span lang=EN-US>LBS</span><span style="FONT-FAMILY: 宋体">的个人概括吧，当然也会掺杂一些我个人的所见所想。</span></p>
<div style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0cm; BORDER-TOP: medium none; PADDING-LEFT: 0cm; PADDING-BOTTOM: 1pt; MARGIN-LEFT: 0cm; BORDER-LEFT: medium none; MARGIN-RIGHT: 168pt; PADDING-TOP: 0cm; BORDER-BOTTOM: black 1pt solid">
<p class=a6 style="MARGIN: 2.5pt 0cm 15.6pt"><strong><font size=3><span style="FONT-FAMILY: 宋体">什么是</span><span lang=EN-US>LBS</span></font></strong></p>
</div>
<p class=a><span lang=EN-US>LBS</span><span style="FONT-FAMILY: 宋体">，全称是</span><span lang=EN-US>Location Based Services</span><span style="FONT-FAMILY: 宋体">，就是基于位置的服务。</span><span lang=EN-US>LBS</span><span style="FONT-FAMILY: 宋体">是基于地理信息<a onclick="tagshow(event, '%BC%BC%CA%F5');return false;" href="javascript:;"><u><strong>技术</strong></u></a>将物理位置在<a onclick="tagshow(event, '%B5%E7%D7%D3%B5%D8%CD%BC');return false;" href="javascript:;"><u><strong>电子<a onclick="tagshow(event, '%B5%D8%CD%BC');return false;" href="javascript:;"><u><strong>地图</strong></u></a></strong></u></a>上定位，并以此为基础而提供的空间信息服务</span><span lang=EN-US>(</span><span style="FONT-FAMILY: 宋体">注意：这句摘自<a onclick="tagshow(event, '%B5%E7%D0%C5');return false;" href="javascript:;"><u><strong>电信</strong></u></a>增值业务的新领域</span><span lang=EN-US>LBS)</span><span style="FONT-FAMILY: 宋体">。博通智信在很早的时候就发布过《中国位置服务</span><span lang=EN-US>(LBS)</span><span style="FONT-FAMILY: 宋体">业务市场分析》报告，报告说中国</span><span lang=EN-US>LBS</span><span style="FONT-FAMILY: 宋体">业务</span><span lang=EN-US><a onclick="tagshow(event, '2006');return false;" href="javascript:;"><u><strong>2006</strong></u></a></span><span style="FONT-FAMILY: 宋体">年下半年后将步入高速增长期。可惜的是我一直没有见到过这份报告</span><span lang=EN-US>(</span><span style="FONT-FAMILY: 宋体">当然我是没有钱去买这么一份所谓的报告啦</span><span lang=EN-US>)</span><span style="FONT-FAMILY: 宋体">。不过还是简单的看到了些概要和目录。</span></p>
<p class=a><span style="FONT-FAMILY: 宋体">日常生活中的</span><span lang=EN-US>80%</span><span style="FONT-FAMILY: 宋体">的信息与位置有关，足以见得位置的重要性。举个简单的例子。比如我今天早上要出门去虹口区密云路，首先拿出智能<a onclick="tagshow(event, '%CA%D6%BB%FA');return false;" href="javascript:;"><u><strong>手机</strong></u></a>查询了我这里到密云路的公交线路。中途转车的时候我想在这个地方取点钱，于是拿出手机查了下离我最近的</span><span lang=EN-US>ATM</span><span style="FONT-FAMILY: 宋体">。到了密云路，朋友说他在哪里哪里的位置，拿出手机，我所在的位置清晰的表现在了地图上，查找了一下朋友的位置，简单的步行一点点路就找到了朋友，和朋友简单寒暄后说去哪里吃饭，拿出手机查了下最近的餐馆，并按口味、价格、好评等<a onclick="tagshow(event, '%C6%C0%C2%DB');return false;" href="javascript:;"><u><strong>评论</strong></u></a>排序后我们找了家吃饭。如果我没有</span><span lang=EN-US>LBS</span><span style="FONT-FAMILY: 宋体">服务，那么我可能首先网络上查找好公交线路，如果取钱，先想好哪里的银行最方便，如果吃饭还要先上网查饭店的好评价格等等。而</span><span lang=EN-US>LBS</span><span style="FONT-FAMILY: 宋体">，让你随时随地随心所欲的安排这一切。</span></p>
<p class=a><span style="FONT-FAMILY: 宋体"><span style="FONT-FAMILY: 宋体"><a href="http://www.3snews.net/batch.download.php?aid=77" target=_blank><img src="http://www.3snews.net/attachments/2006/07/2006715_078cf72c05f8dd0328639daa267b3352.gif" border=0></a></span></span></p>
<p class=a><span style="FONT-FAMILY: 宋体">如果说</span><span lang=EN-US>LBS</span><span style="FONT-FAMILY: 宋体">什么时候出现，可以说很早，</span><span lang=EN-US>01</span><span style="FONT-FAMILY: 宋体">年的时候移动就基于移动梦网推出了位置服务，</span><span lang=EN-US>03</span><span style="FONT-FAMILY: 宋体">年的时候联通推出了定位之星的服务。两者的服务服务，个人至今没有尝试用过，如果有使用过的朋友欢迎你来发表高见。个人感觉就两家大的网络提供商提供的位置服务也应该是比较的牵强的，个人猜想是这样的，客户通过短信的形式告知服务商所在位置，并向服务商索要所在位置周围的餐馆信息，很快收到了服务商发回的餐馆信息，最多提供一张图片。给我的感觉是比较陈旧的死板的服务。个人的希望是达到</span><span lang=EN-US><a onclick="tagshow(event, 'GPS');return false;" href="javascript:;"><u><strong>GPS</strong></u></a></span><span style="FONT-FAMILY: 宋体">上类似的显示查询等各种功能</span><span lang=EN-US>(</span><span style="FONT-FAMILY: 宋体">可能从现在的手机的硬件上来看就不具备这样的条件，但以后的趋势肯定如此</span><span lang=EN-US>)</span><span style="FONT-FAMILY: 宋体">。</span></p>
<p class=a><span lang=EN-US>LBS</span><span style="FONT-FAMILY: 宋体">同</span><span lang=EN-US><a onclick="tagshow(event, 'GIS');return false;" href="javascript:;"><u><strong>GIS</strong></u></a></span><span style="FONT-FAMILY: 宋体">、</span><span lang=EN-US>GPS</span><span style="FONT-FAMILY: 宋体">以及</span><span lang=EN-US>WEBGIS</span><span style="FONT-FAMILY: 宋体">到底有甚么样的区别呢？个人觉得，</span><span lang=EN-US>LBS</span><span style="FONT-FAMILY: 宋体">是通过</span><span lang=EN-US>GPS</span><span style="FONT-FAMILY: 宋体">实时定位你的位置并在</span><span lang=EN-US>GIS</span><span style="FONT-FAMILY: 宋体">系统上显示的服务，当然这里还包括扩展信息服务。</span><span lang=EN-US>GIS</span><span style="FONT-FAMILY: 宋体">是底层，必不可少，</span><span lang=EN-US>GPS</span><span style="FONT-FAMILY: 宋体">重要，突出实时性</span><span lang=EN-US>(</span><span style="FONT-FAMILY: 宋体">这个实时性表现在你的位置实时，你需要知道的周围的信息实时</span><span lang=EN-US>)</span><span style="FONT-FAMILY: 宋体">，然而，个人认为最重点的是在</span><span lang=EN-US>LBS</span><span style="FONT-FAMILY: 宋体">中的</span><span lang=EN-US>S</span><span style="FONT-FAMILY: 宋体">上面，服务，服务是第一位的最重要的，也许和</span><span lang=EN-US>GIS</span><span style="FONT-FAMILY: 宋体">、</span><span lang=EN-US>GPS</span><span style="FONT-FAMILY: 宋体">最重要的区别就是这个</span><span lang=EN-US>S</span><span style="FONT-FAMILY: 宋体">上面吧。和</span><span lang=EN-US>WEBGIS</span><span style="FONT-FAMILY: 宋体">的区别就更是显而易见了，就是不能实时实地的表现。</span></p>
<p class=a><span lang=EN-US>LBS</span><span style="FONT-FAMILY: 宋体">到底有多大的<a onclick="tagshow(event, '%D3%A6%D3%C3');return false;" href="javascript:;"><u><strong>应用</strong></u></a>呢，有多少人或者多少<a onclick="tagshow(event, '%D0%D0%D2%B5');return false;" href="javascript:;"><u><strong>行业</strong></u></a>需要</span><span lang=EN-US>LBS</span><span style="FONT-FAMILY: 宋体">呢？个人应用方面：紧急援助，跟踪监控，信息查询，娱乐游戏，打折促销。行业应用方面：租赁行业，物流行业，邮政系统，交警系统。当然个人觉得还有许多方面的应用，重点在于看需求。</span></p>
<div style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0cm; BORDER-TOP: medium none; PADDING-LEFT: 0cm; PADDING-BOTTOM: 1pt; MARGIN-LEFT: 0cm; BORDER-LEFT: medium none; MARGIN-RIGHT: 168pt; PADDING-TOP: 0cm; BORDER-BOTTOM: black 1pt solid">
<p class=a6 style="MARGIN: 2.5pt 0cm 15.6pt"><font size=3><strong><span lang=EN-US>LBS</span><span style="FONT-FAMILY: 宋体">的架构与组成</span></strong></font></p>
</div>
<p class=a style="TEXT-INDENT: 21.1pt"><b><span lang=EN-US>LBS</span></b><b><span style="FONT-FAMILY: 宋体">的网络架构：</span></b></p>
<p class=a><span lang=EN-US>(1) </span><span style="FONT-FAMILY: 宋体">定位操作平台。通过各种定位技术来获取移动台的位置信息。</span></p>
<p class=a><span lang=EN-US>(2) LCS</span><span style="FONT-FAMILY: 宋体">中间件。向</span><span lang=EN-US>SP</span><span style="FONT-FAMILY: 宋体">提供定位服务接口，</span><span lang=EN-US>SP</span><span style="FONT-FAMILY: 宋体">通过</span><span lang=EN-US>LCS</span><span style="FONT-FAMILY: 宋体">中间件访问运营商的定位资源</span><span lang=EN-US>(GIS)</span><span style="FONT-FAMILY: 宋体">，以及完成对</span><span lang=EN-US>LBS</span><span style="FONT-FAMILY: 宋体">业务的计费、管理等功能。</span></p>
<p class=a><span lang=EN-US>(3) GIS</span><span style="FONT-FAMILY: 宋体">系统。提供各种基于</span><span lang=EN-US>LBS</span><span style="FONT-FAMILY: 宋体">应用的地理信息服务，包括地图服务、路径搜索、目录查询等。</span></p>
<p class=a><span lang=EN-US>(4) SP</span><span style="FONT-FAMILY: 宋体">。面向最终用户提供</span><span lang=EN-US>LBS</span><span style="FONT-FAMILY: 宋体">服务。</span></p>
<p class=a><span lang=EN-US>(5) CP</span><span style="FONT-FAMILY: 宋体">。</span><span lang=EN-US>CP</span><span style="FONT-FAMILY: 宋体">专指提供电子地图数据、</span><span lang=EN-US>POI(</span><span style="FONT-FAMILY: 宋体">兴趣点</span><span lang=EN-US>)</span><span style="FONT-FAMILY: 宋体">信息的内容提供商。</span></p>
<p class=a><span lang=EN-US>(6) </span><span style="FONT-FAMILY: 宋体">终端。需要与网络交互完成定位操作</span><span lang=EN-US>(</span><span style="FONT-FAMILY: 宋体">获取终端经纬度</span><span lang=EN-US>)</span><span style="FONT-FAMILY: 宋体">，通过</span><span lang=EN-US>WAP/Java/BREW/SMS</span><span style="FONT-FAMILY: 宋体">等方式与</span><span lang=EN-US>SP</span><span style="FONT-FAMILY: 宋体">交互得到最终服务。对于矢量地图服务，终端需要内置矢量地图浏览器。</span></p>
<p class=a><span style="FONT-FAMILY: 宋体">我更喜欢把上面的架构理解为</span><span lang=EN-US>LBS</span><span style="FONT-FAMILY: 宋体">中的环节，而除了终端这个环节外，个人认为其它的每一个环节都是</span><span lang=EN-US>LBS</span><span style="FONT-FAMILY: 宋体">这个大蛋糕中的一块小蛋糕。一个人或者一个公司吃下这么个大蛋糕，基本上是不可能的事情，所以分成了许多小蛋糕给许多人吃，现在就看什么人什么公司选择吃什么蛋糕了，而是否有能力吃蛋糕，更是一大考验。第一个定位环节，从定位技术来讲就有好几种模式</span><span lang=EN-US>(</span><span style="FONT-FAMILY: 宋体">基于网络的定位技术，辅助</span><span lang=EN-US>GPS</span><span style="FONT-FAMILY: 宋体">技术</span><span lang=EN-US>(AGPS)</span><span style="FONT-FAMILY: 宋体">，混合定位技术，基于移动台的</span><span lang=EN-US>GPS</span><span style="FONT-FAMILY: 宋体">定位。摘自</span><span lang=EN-US>LBS</span><span style="FONT-FAMILY: 宋体">中的定位技术和</span><span lang=EN-US>GIS</span><span style="FONT-FAMILY: 宋体">系统</span><span lang=EN-US>)</span><span style="FONT-FAMILY: 宋体">，而选择一种技术意味着和不一样的提供商合作，个人不是很喜欢的是基于移动或者联通网络定位的技术，因为他们大牌所以选择了这样的技术就意味着被移动或者联通牵着鼻子走</span><span lang=EN-US>(</span><span style="FONT-FAMILY: 宋体">这里可能我说的有点过，但是对于移动和联通这样耍大牌的行为个人真的比较反感，可能是个人的了解</span><span lang=EN-US>)</span><span style="FONT-FAMILY: 宋体">。第二个环节可能比较简单，个人不是非常的了解，不做任何评价。第三个环节，重要，这个应该是关系到引擎和应用的环节。第四个环节，服务商是直接面向客户的，重要的在于服务商的推广销售。第五环节，信息提供商，重要并且门槛比较高，因为正规地图公司的地图门槛都是很高的</span><span lang=EN-US>(</span><span style="FONT-FAMILY: 宋体">指的是资金部分</span><span lang=EN-US>)</span><span style="FONT-FAMILY: 宋体">。而</span><span lang=EN-US>POI</span><span style="FONT-FAMILY: 宋体">部分，肯定有公司做但做的好与坏个人不是很了解，但是，这个也是一个细化的发展的方向，值得考虑。</span></p>
<div style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0cm; BORDER-TOP: medium none; PADDING-LEFT: 0cm; PADDING-BOTTOM: 1pt; MARGIN-LEFT: 0cm; BORDER-LEFT: medium none; MARGIN-RIGHT: 168pt; PADDING-TOP: 0cm; BORDER-BOTTOM: black 1pt solid">
<p class=a6 style="MARGIN: 2.5pt 0cm 15.6pt"><strong><font size=3><span style="FONT-FAMILY: 宋体">实现</span><span lang=EN-US>LBS</span><span style="FONT-FAMILY: 宋体">业务面临的问题</span></font></strong></p>
</div>
<p class=a><span style="FONT-FAMILY: 宋体">实现</span><span lang=EN-US>LBS</span><span style="FONT-FAMILY: 宋体">业务面临的问题：</span><span lang=EN-US>(1)</span><span style="FONT-FAMILY: 宋体">定位的精度。</span><span lang=EN-US>(2)</span><span style="FONT-FAMILY: 宋体">位置信息的收集和组织。</span><span lang=EN-US>(3)</span><span style="FONT-FAMILY: 宋体">矢量地图浏览器。</span></p>
<p class=a><span style="FONT-FAMILY: 宋体">我喜欢把问题理解为重点。第一关于定位精度，对于</span><span lang=EN-US>GPS</span><span style="FONT-FAMILY: 宋体">，个人还是觉得蛮有信心的，因为十米左右的误差应该还是可以接受的，而对于基于网络的，定位精度可能会差一点，当然也有优化的。当然，对于定位的精度也是根据应用不同而不同，对于个人而言，甚至几十米的误差都可以接受，但对于比如交警系统可能定位精度要求比较高。第二位置信息的收集和组织，这里应该是</span><span lang=EN-US>CP</span><span style="FONT-FAMILY: 宋体">的事情了，当然个人觉得</span><span lang=EN-US>SP</span><span style="FONT-FAMILY: 宋体">或者</span><span lang=EN-US>GIS</span><span style="FONT-FAMILY: 宋体">系统提供商都可以做</span><span lang=EN-US>CP</span><span style="FONT-FAMILY: 宋体">，因为可以让终端添加信息的同时收集这些信息</span><span lang=EN-US>(</span><span style="FONT-FAMILY: 宋体">国内许多的</span><span lang=EN-US>WEBGIS</span><span style="FONT-FAMILY: 宋体">网站推出的</span><span lang=EN-US>WIKI</span><span style="FONT-FAMILY: 宋体">服务或者自定义点的服务应该就是这样的目的</span><span lang=EN-US>)</span><span style="FONT-FAMILY: 宋体">。信息的收集组织确实是一个非常庞大的工程，至少需要很多的人力。第三，矢量地图浏览器，就是地图引擎，这里当然是关键，如果不能提供给客户直观的地图显示等功能，客户肯定不买账的。</span></p>
<div style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0cm; BORDER-TOP: medium none; PADDING-LEFT: 0cm; PADDING-BOTTOM: 1pt; MARGIN-LEFT: 0cm; BORDER-LEFT: medium none; MARGIN-RIGHT: 168pt; PADDING-TOP: 0cm; BORDER-BOTTOM: black 1pt solid">
<p class=a6 style="MARGIN: 2.5pt 0cm 15.6pt"><span style="FONT-FAMILY: 宋体"><font size=3><strong>发展方向</strong></font></span></p>
</div>
<p class=a><span style="FONT-FAMILY: 宋体">上面的说的比较简单，希望下次能够再补充吧，下面总结下个人觉得的几个发展方向吧。</span></p>
<p class=a><span lang=EN-US>(1).</span><span style="FONT-FAMILY: 宋体">信息提供商</span></p>
<p class=a><span style="FONT-FAMILY: 宋体">从上面的文字中可以看出，信息提供商有地图数据提供商、</span><span lang=EN-US>POI(</span><span style="FONT-FAMILY: 宋体">兴趣点</span><span lang=EN-US>)</span><span style="FONT-FAMILY: 宋体">提供商等等。对于地图数据提供商，个人觉得基本上是不可能挤的上了，因为现在国家地图数据市场要求规范，国内现在有地图资质的总共九家，购买地图数据基本上是需要问这九家公司购买，而向私人购买地图或者私人出售地图都是犯法的行为，当然大陆地图市场仅仅是处于起步阶段还没有真正的规范，所以很多的私买私售地图的现象。正是因为大陆地图市场才起步，所以进入的门槛比较高，能够取得资质的公司肯定是经过了多年的积累，公司至少有几百号人从事路<a onclick="tagshow(event, '%B2%E2%BB%E6');return false;" href="javascript:;"><u><strong>测绘</strong></u></a>图等工作，并且需要投入大量的个人电脑来采集绘制组织数据以及许多服务器来存放数据，硬件成本也不会低。所以许多地图公司也在喊着没有赚钱。现实如此了，你还敢贸然的去信誓旦旦的去做地图数据提供商吗？</span></p>
<p class=a><span style="FONT-FAMILY: 宋体">那么出路何在？既然做不成基础数据，那么你可以做个性化的数据。这里的个性化数据个人称之为富信息或者富兴趣点，即</span><span lang=EN-US>RichPoi(</span><span style="FONT-FAMILY: 宋体">应该讲这个富是丰富的意思，比如现在比较火的</span><span lang=EN-US>RIA</span><span style="FONT-FAMILY: 宋体">，丰富互联网应用程序</span><span lang=EN-US>)</span><span style="FONT-FAMILY: 宋体">。既然是富，那么富在何处？兴趣点，仅仅一个名字和坐标即可以称之为兴趣点了，而富兴趣点，区别在于它含有富信息，比如电话、地址、简介、图片等等都可以作为富信息。比如，对于一个普通的餐馆这样的兴趣点，我知道它叫苏浙汇静安店，位于延安中路</span><span lang=EN-US>1121</span><span style="FONT-FAMILY: 宋体">号</span><span lang=EN-US>(</span><span style="FONT-FAMILY: 宋体">近华山路</span><span lang=EN-US>)</span><span style="FONT-FAMILY: 宋体">，坐标也可以知道，但是这样的兴趣点用户不感兴趣，觉得单调枯燥乏味。那么如果是富兴趣点呢？我给它添加了简介，用户的评价，招牌菜推荐，口味、环境、服务等指标以及价位，并且给他们的店面、内部陈设、招牌菜拍了照，对于这样的富信息用户是肯定感兴趣的。而对于这样的富信息，商家</span><span lang=EN-US>(</span><span style="FONT-FAMILY: 宋体">指的是兴趣点</span><span lang=EN-US>)</span><span style="FONT-FAMILY: 宋体">也是非常的感兴趣的。既然你来我愿那么我们就把他们撮合一下吧。我向兴趣点收取一定的费用</span><span lang=EN-US>(</span><span style="FONT-FAMILY: 宋体">不一定高，但可以从数量取胜</span><span lang=EN-US>)</span><span style="FONT-FAMILY: 宋体">，和许多服务提供商合作给这些富兴趣点推广到非常多的用户面前，甚至可以收取服务提供商或者用户的部分费用</span><span lang=EN-US>(</span><span style="FONT-FAMILY: 宋体">用户部分可能会由服务提供商收取，而和服务提供商也可以采用合作的模式</span><span lang=EN-US>)</span><span style="FONT-FAMILY: 宋体">。</span></p>
<p class=a><span style="FONT-FAMILY: 宋体">上面所说的富信息仅仅是一个方向，当然还有动态信息等方向。举个简单的例子，上海有家公司专门做停车服务的公司，有专门的网站，有专门的客服人员，有语音电话服务，而停车位信息是连锁并且实时的信息，车主只要登陆他们的网站或者一个语音电话就可以知道哪里的停车场满的哪里是空的等等，给车主带来很大的方便，不过使用程度我还不是很清楚，从上海这里眯表的使用情况来看对这一服务还是觉得不太乐观，至少是现阶段。所以个人对这类信息暂时觉得还没有太大的价值，但动态信息肯定是一个方向，对于停车、交通拥堵等这样的动态信息肯定是先行者，而对于其他一些相对实时性较差的动态信息的利用价值也不会很高。</span></p>
<p class=a><span style="FONT-FAMILY: 宋体">因为个人对于数据这一块比较的熟悉，所以在这里说的比较多。</span></p>
<p class=a><span lang=EN-US>(2).</span><span style="FONT-FAMILY: 宋体">技术提供商</span></p>
<p class=a><span style="FONT-FAMILY: 宋体">技术提供商可以提供定位、引擎、应用开发等这样的几个技术方向。而个人认为引擎是关键，虽然说引擎也不难。但如果是</span><span lang=EN-US>C/S</span><span style="FONT-FAMILY: 宋体">或者</span><span lang=EN-US>B/S</span><span style="FONT-FAMILY: 宋体">模式，就难说了，因为对于现在的所谓的</span><span lang=EN-US>2.5G</span><span style="FONT-FAMILY: 宋体">的网络来说，这种模式势必会带来成本的增加，而这里最开心的应该还是移动、联通这样的网络提供商。并且，需要考虑硬件提供商以及系统提供商，当然硬件提供商是最乐意的了，你能够在我提供的硬件平台上做开发是求之不得，这里也可能要涉及到系统平台，比如</span><span lang=EN-US>Windows Mobile</span><span style="FONT-FAMILY: 宋体">的以及</span><span lang=EN-US>SmartPhome</span><span style="FONT-FAMILY: 宋体">的还有</span><span lang=EN-US>Plam</span><span style="FONT-FAMILY: 宋体">的等等，技术的难易程度也会不同。</span></p>
<p class=a><span style="FONT-FAMILY: 宋体">想再多说些什么的，但觉得说的很乱，希望有技术人员补充。</span></p>
<p class=a><span lang=EN-US>(3).</span><span style="FONT-FAMILY: 宋体">服务提供商</span></p>
<p class=a><span style="FONT-FAMILY: 宋体">不多说，就两个字：市场。</span></p>
<p class=a><span style="FONT-FAMILY: 宋体">但愿许多人都能吃到并且吃好这个蛋糕。<br><br><br><br><span style="COLOR: red">本文发表于《3S新闻周刊》第九期，感谢3Snews的收录，谢谢。<br>心血来潮所以写了这篇文章，但写到后面部分的时候就显得无力而混乱了，请见谅。<br>本文欢迎转载，转载请注明出处，谢谢。<br></span></span></p>
<img src ="http://www.cnblogs.com/Tangf/aggbug/452498.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/43810/" target="_blank">[新闻]微软官方下载：Windows Vista SP2 Beta测试版</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>MapBar地图更新啦</title><link>http://www.cnblogs.com/Tangf/archive/2006/07/13/450215.html</link><dc:creator>Rover.Tang</dc:creator><author>Rover.Tang</author><pubDate>Thu, 13 Jul 2006 14:23:00 GMT</pubDate><guid>http://www.cnblogs.com/Tangf/archive/2006/07/13/450215.html</guid><wfw:comment>http://www.cnblogs.com/Tangf/comments/450215.html</wfw:comment><comments>http://www.cnblogs.com/Tangf/archive/2006/07/13/450215.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnblogs.com/Tangf/comments/commentRss/450215.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/Tangf/services/trackbacks/450215.html</trackback:ping><description><![CDATA[取了这个名字却一直不想写，MapBar的地图也更新已经很久了。最后还是觉得写完这么一篇吧，主要是想说说MapBar地图以前和现在的变化。<br>MapBar地图采用最新的四维地图制作(是不是那，网络上都说四维的图那，应该是吧)，主要区别如下：<br>1.增加了绿地和水系(我记得以前抱怨过他们的没有绿地)<br>2.增加了单行道的行车方向<br>3.增加了路口的红绿灯<br>4.道路颜色有所变化<br>还有什么变化我就看不出来了。<br>个人感觉增加了绿地和单行道方向还是不错的。至于红绿灯，觉得是一个败笔，太过于刺眼，又没有太大的意义，特别是地图窗口比较大并且在12这个级别的时候。道路方面，黄色道路增加，土黄色道路也增加了，以前高架部分应该是土黄色，现在是有许多主路也是土黄色了。<br>相比上一版本地图，虽然地图更新了，内容也增加了，但质量也下降了。<br>比如，还有红绿灯错位的情况，太仓市就是这样的一个情况，我看了找了半天只找到市政府几个字，最后通过坐标判断才知道这原来是太仓市。昆山市也应该存在这样的情况。<br>比如，昆山太仓这样的市的地图很详细，很好，但是由于城市祥图和全国图之间过渡太突然，有方方正正的城市的现象，在9和10级别下面显得很丑陋，可以看昆山和太仓的效果。希望能够增加些城市周边道路以使得城市详图和全国图之间的过渡显的自然一些。<br>比如，政府以及政府机关都用了国徽的标志，不妥。这是在部分城市出现。<br>不想写了，就说这些吧。以上部分纯粹是个人意见而已。谢谢。
<img src ="http://www.cnblogs.com/Tangf/aggbug/450215.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/43809/" target="_blank">[新闻]微软发布PC Live单机游戏客户端</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>推荐一款软件：Global Mapper</title><link>http://www.cnblogs.com/Tangf/archive/2006/07/11/448411.html</link><dc:creator>Rover.Tang</dc:creator><author>Rover.Tang</author><pubDate>Tue, 11 Jul 2006 15:22:00 GMT</pubDate><guid>http://www.cnblogs.com/Tangf/archive/2006/07/11/448411.html</guid><wfw:comment>http://www.cnblogs.com/Tangf/comments/448411.html</wfw:comment><comments>http://www.cnblogs.com/Tangf/archive/2006/07/11/448411.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://www.cnblogs.com/Tangf/comments/commentRss/448411.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/Tangf/services/trackbacks/448411.html</trackback:ping><description><![CDATA[<p>真是后悔没有早知道这款软件那，一年多的数据工作算是白做了，痛哭流涕地向大家推荐(呵呵)。<br>今天去上帝之眼的论坛瞎逛(一般我很少去逛，仅仅去看看上面很不错的文章)，不逛不知道，一逛吓一跳，原来高手都云集在那里那。<br>看了很多的帖子，其中一个是说把MAPINFO的数据导成google earth的格式，推荐了这么个Global Mapper软件。当时帖子说的是用这个软件将Mapinfo的文件转换成GPX(应该是GPS数据通用交换格式文件)，然后用GE读出显示。后来试用的时候发现能够直接导出KMZ。只是这个KMZ文件我没有在GE中检查是否正确(一是这么着急地向大家推荐吗，二是我的GE在2003下不能用，郁闷，应该是DX或者opengl有问题)。<br>软件是英文版的，用的我有点头痛。真想把它汉化掉，不知道有没有朋友提供英文方面的帮助那？再看下软件，发现如果汉化，工程量也很大。<br>至于软件是否是好软件，大家试用后便知道。呵呵。下载地址：霏凡(带注册机的哦)</p>
<p>同时，也看到一篇关于GELink的文章，说是&#8220;MapInfo到 Google Earth的通道&#8221;，但个人用下来很不爽，感觉只是MAPINFO打开一个地图然后保存窗口并生成一个KML文件。我在想怎么会MAPBASIC能够写出个这么强大的东东呢。不多说，具体可以看3SNEWS的旧BLOG地址：<a href="http://www.3snews.net/blog/user1/rodger/archives/2006/4113.html" target=_blank>http://www.3snews.net/blog/user1/rodger/archives/2006/4113.html</a></p>
<p>顺便在这里推荐大家多上<a href="http://www.godeyes.cn/" target=_blank>上帝之眼</a>的网站，专业的GE/WW玩家站，一是觉得为了感谢这样的一个网站能够提供这么好的东西，二是觉得看这样的网站能够开阔你的眼界、拓宽你的思路。</p>
<img src ="http://www.cnblogs.com/Tangf/aggbug/448411.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/43808/" target="_blank">[新闻]Firefox遭“独家”恶意软件攻击</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>51ditu、清华地图以及Google地图</title><link>http://www.cnblogs.com/Tangf/archive/2006/07/02/440953.html</link><dc:creator>Rover.Tang</dc:creator><author>Rover.Tang</author><pubDate>Sun, 02 Jul 2006 12:04:00 GMT</pubDate><guid>http://www.cnblogs.com/Tangf/archive/2006/07/02/440953.html</guid><wfw:comment>http://www.cnblogs.com/Tangf/comments/440953.html</wfw:comment><comments>http://www.cnblogs.com/Tangf/archive/2006/07/02/440953.html#Feedback</comments><slash:comments>16</slash:comments><wfw:commentRss>http://www.cnblogs.com/Tangf/comments/commentRss/440953.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/Tangf/services/trackbacks/440953.html</trackback:ping><description><![CDATA[<p>51地图：<br>灵图的地图我是很久没有关心了，以前一直去K_Reverter的网站(<a href="http://www.step1.cn/" target=_blank>http://www.step1.cn/</a>)去了解他那关于Google Map API以及灵图API开发的一些信息。今天偶然又去了次，发现K_Reverter也把他的Blog搬到园子里来了(祝贺一下，地址：<a href="http://step1.cnblogs.com/" target=_blank>http://step1.cnblogs.com/</a>)。<br>主要是看了他做的东西，绝对的漂亮，把Google地图和灵图的地图完全结合起来了，Google地图用的是卫星图，上面叠加了灵图的地图，当然灵图的地图应该是经过了滤镜处理，对地图底色进行了滤色处理，这样叠加在卫星图上的灵图地图就非常的漂亮。具体效果可以看这里：<a href="http://www.step1.cn/51ditu/" target=_blank>http://www.step1.cn/51ditu/</a><br>觉得效果非常的好，于是去了灵图地图的API网站看了下。发现一个重大的改变是灵图的API不需要申请了，可以直接调用灵图的地图了。还有一大改变是开发了地图频道接口，地图接口，搜索接口，导航接口，标注接口等非常有特色的接口。看来这么多美元给灵图确实没有错。这里希望以后的灵图能够做的更好吧，希望能给我们更多的惊喜。<br>去K_Reverter的站上下了些JS，去掉了一些验证，终于可以在本地运行K_Reverter的51ditu的示例了。玩了半天，忽然想，灵图的地图原来就是这样的吗(我这里指的是切割方法)？从效果上来看，灵图的地图和Google的卫星图完全重合，Google的卫星图是256*256的，灵图的是128*128的，竟然结合的这么好，有点不可思议。看来以后要多向灵图学习了，学习的地方：<br>1。地图的投影和切割。投影是WGS84吗？切割方法是否参考Google。<br>2。关于经纬度的加密，用的是灵图的NTU单位。真的是不可逆的加密方式吗？<br>3。获取图片的函数。比如pak?x=123&amp;y=321&amp;zoom=12。可以用ASP.NET或者PHP或者JSP实现(可惜个人对这些语言都不懂，所以暂时还没有任何思路)。</p>
<p>清华地图：<br>这是我偶然逛了下CSDN不小心看到的。清华地图是基于Google Map API做的地图，原理应该是自定义一个类型的地图，读取按照Google地图的切割方法切割了的自定义的地图。这个选择卫星图你就可以发现。可惜的是他们只做了一个比例尺，其他比例尺的都没有(我想这是因为他们直接使用栅格图切割而没有矢量图的缘故吧)。还是先看看效果吧：<a href="http://www.blueforge.net/thumap/" target=_blank>http://www.blueforge.net/thumap/</a>。其实这个网站很有特色，提供的是基于Google Map API的IP地址查询，思路很好，可惜也没有做什么推广也很久没有更新了。<br>所以我在想，我们是否也可以做一个类似的校园地图呢？具体步骤：<br>1。矢量化校园数据(这部分比较简单，很容易完成)，矢量地图栅格化(又是回到了地图切割问题，看来基础数据确实重要那)。<br>2。本地化JS。参考当然还是Google Map API。把JS中获取图片的地址改为自定义的地址应该就可以调用自定义图片了。当然，这部分的JS是非常有用的，平移放大缩小等一系列操作都在这JS里。<br>3。应用开发。使用ASP、PHP、.NET或者JSP来开发一些简单的应用，毕竟能够提供用户应用才是最重要的。比如用户自定义添加点，比如象UUMAP的神秘地带等。<br>这里只是为大家提供了一点点思路，我想这样简单易用的校园WEBGIS还是有一定市场(如果你开发了一个大学城或者开发了一个城市的大学，并且学生是网络的主力军以及容易赚钱的对象，好像说的有点过头了)的。<br>不知道自己有没有能力研究这些东西了，如果研究出来，就送给正在上大四的朋友做毕业论文吧，题目大概取为《基于Google Map API的校园WEBGIS》。</p>
<p>Google地图<br>Google地图其实是没有什么好说的。主要是因为Google更新了大陆地区许多城市的卫星图，感动流涕之余希望能和大家多多交换自家点等一些个性地址。<br>我家，这个坐标是我站在阳台从GPS上测试获得的，到Google Map上一验证，发现非常的准。<a href="http://maps.google.com/maps?f=q&amp;hl=zh-CN&amp;q=31.15675,121.38168&amp;ie=UTF8&amp;ll=31.156831,121.381679&amp;spn=0.001923,0.005311&amp;t=k&amp;om=1" target=_blank>http://maps.google.com/maps?f=q&amp;hl=zh-CN&amp;q=31.15675,121.38168&amp;ie=UTF8&amp;ll=31.156831,121.381679&amp;spn=0.001923,0.005311&amp;t=k&amp;om=1</a><br>我们公司，就在那栋破楼里。<a href="http://maps.google.com/maps?f=q&amp;hl=zh-CN&amp;q=31.178,121.4062&amp;ie=UTF8&amp;ll=31.17812,121.4062&amp;spn=0.002001,0.005364&amp;t=k&amp;om=1" target=_blank>http://maps.google.com/maps?f=q&amp;hl=zh-CN&amp;q=31.178,121.4062&amp;ie=UTF8&amp;ll=31.17812,121.4062&amp;spn=0.002001,0.005364&amp;t=k&amp;om=1</a><br>我的大学。在正中点上的是学校的标志性建筑，21层的大楼，取了个很好听的名字叫21世纪大楼。Google也真拽，对这样的二级城市也用上了这么清晰的卫星图，难道真想泄露我们国家的军事秘密(呵呵，和Google开个玩笑而已)。<a href="http://maps.google.com/maps?f=q&amp;hl=en&amp;q=34.200085,117.177612&amp;ie=UTF8&amp;ll=34.200312,117.177612&amp;spn=0.003869,0.010729&amp;t=k&amp;om=1" target=_blank>http://maps.google.com/maps?f=q&amp;hl=en&amp;q=34.200085,117.177612&amp;ie=UTF8&amp;ll=34.200312,117.177612&amp;spn=0.003869,0.010729&amp;t=k&amp;om=1</a><br></p>
<img src ="http://www.cnblogs.com/Tangf/aggbug/440953.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/43806/" target="_blank">[新闻]Python 3.0正式发布</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>计算最近点和最近线段</title><link>http://www.cnblogs.com/Tangf/archive/2006/07/01/440311.html</link><dc:creator>Rover.Tang</dc:creator><author>Rover.Tang</author><pubDate>Sat, 01 Jul 2006 05:49:00 GMT</pubDate><guid>http://www.cnblogs.com/Tangf/archive/2006/07/01/440311.html</guid><wfw:comment>http://www.cnblogs.com/Tangf/comments/440311.html</wfw:comment><comments>http://www.cnblogs.com/Tangf/archive/2006/07/01/440311.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnblogs.com/Tangf/comments/commentRss/440311.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/Tangf/services/trackbacks/440311.html</trackback:ping><description><![CDATA[<p>上次发了一个&#8220;<a href="http://tangf.cnblogs.com/archive/2006/05/28/411182.html" target=_blank>已知一点求最近点(问题请教) </a>&#8221;的贴，今天对这个问题做一下补充探讨。上次是基于Mapx控件做的，今天做的是脱离MAPX的，基于文本文件的。<br>问题回顾：已知点P(经纬度),查找该点最临近的点D(点,线,面),返回D的名称及与P的方向,位置和距离关系,地物总数大于50万个。<br>现在实现的功能：生成一个点判断离这个点最近的点的坐标、距离和方向；生成一个点，生成一个线段，判断点到直线的最短距离(分垂足是否落在线段上两种情况)。<br>大体的思路：求最近点，仍然是遍历。求线段上的最近点，先判断垂足，这里用的是两条垂直的直线的斜率之积为－1，然后判断垂足是否落在线段上，即判断垂足是否在线段的最小范围矩形框。如果是垂足落在线段上那么最短距离是点到垂足的距离，如果不是，那么最短距离是点到线段的最近端点的距离。<br>发现原来算法问题都是数学问题，我数学不好，唉，一个简单的问题搞了我蛮久。上面的都没有做任何优化，并且把大地坐标当成了直角坐标做(有点不妥，但在速度优先的情况下我觉得这点误差也许还能接受)，如果觉得有甚么优化的地方欢迎提出，比如，遍历的时候先判断是否落在已知点附近的固定距离的矩形框。</p>
<p>代码下载地址：<a href="/Files/Tangf/neardis_new.rar">http://www.cnblogs.com/Files/Tangf/neardis_new.rar</a></p>
<p>界面图如下：<br><img alt="" src="http://www.cnblogs.com/images/cnblogs_com/tangf/neardis_new.png" border=0></p>
<img src ="http://www.cnblogs.com/Tangf/aggbug/440311.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/43805/" target="_blank">[新闻]JavaFX千呼万唤始出来</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item></channel></rss>