公交迷网 - 巴士之家

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
12
返回列表 发新帖
楼主: xcaogu
打印 上一主题 下一主题

现在有在Google Earth上看的公交线路图吗?

 关闭 [复制链接]
16
 楼主| 发表于 2009-10-21 01:11 | 只看该作者
14# tosa

获得bjbus或是sogou的路线信息,需要先分析URL的规则和数据文件的数据结构,需要了解一点点HTTP协议来下载数据文件,一点点XML和json(bjbus上的数据格式主要是json的,其中嵌套了一些XML格式的站名数据,sogou的都是XML的)、也许还要了解一点点SQL和数据库的知识,便于存放和以后使用下载下来的数据,还有就是KML格式(是基于XML格式的Google Earth使用的格式),以便生成KML文件。
这些还不是最主要的,最主要的是解析这些数据中的地理坐标表示法,而要了解地理坐标表示法,bjbus网站用的Flash文件来解密坐标,我用ASV反编译了一个swf文件的脚本之后才了解了加密解密坐标的办法,但解密之后的坐标在GE上有上百米的偏差,还需要纠偏,这个我还没试验该怎么纠。sogou的坐标相对简单,代表经度的值和经纬度坐标基本成线性,但纬度我用了最小二乘法进行多项式拟合,试验了十多个点(用同一地点sogou坐标与Google Earth的坐标对照),大致偏差能在米的级别了,但效果也不太好。另外,给bjbus提供数据服务的mapbar(因为看到数据文件是从这个网站来的),还有另外一种坐标加密方式,是用jsp写的加解密代码,不过代码经过混淆了,可读性很差。但网上有人已经公开了加解密办法(虽然不够简洁),可以直接拿来用。但是解密后的坐标在GE上的误差也不小,仍然需要纠偏。
bjbus的路径数据和sogou的应该是同一来源,但表示方式不同。mapbar自己的路径数据,似乎是前面的数据经过了优化生成的,但优化的效果也不是太好,仍然有许多不准确的地方。
你若是有编程的基础,也许过几天我可以把源代码发给你(因为现在还没写好,也比较乱),如果没有就算了,我看看把数据捣腾成Excel的表格发给你,省得你再去下载路线信息了。

另外,不一下显示全部数据的办法是有的,我用过有人在上帝之眼做的各地村级地名的KML,人家的文件是可以把不同级别的地名在不同距离时才开始显示的,应该可以参考,但我现在还没看。技术问题不多说了,毕竟是公交论坛,不是程序员论坛。有事站短联系吧。
17
发表于 2009-10-21 02:16 | 只看该作者
我说的就是上帝的那个帖子 站短了 不在这里浪费资源了 呵呵
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|小黑屋|公交迷网 ( 苏ICP备18015221号

GMT+8, 2025-8-24 05:33

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表