公交迷网 - 巴士之家

标题: 现在有在Google Earth上看的公交线路图吗? [打印本页]

作者: xcaogu    时间: 2009-10-10 00:28
标题: 现在有在Google Earth上看的公交线路图吗?
类似附件里这样的kml文件。
如果没有,我想试试能不能做出来。
作者: xcaogu    时间: 2009-10-15 11:50
自己顶下帖子。今天制作出来了大致的kml文件,不过有22M大,打开非常缓慢。因此只上传夜班车kml文件做个参考,希望大家多提建议和意见。
[attach]393794[/attach]
[attach]393793[/attach]
也许论坛里用Google Earth的朋友不多,Google Earth可以在http://earth.google.com/下载,现在有中文可以选择了。
作者: 大兴线丰台段    时间: 2009-10-15 12:20
LZ这个怎么制作啊,谢谢
作者: xcaogu    时间: 2009-10-15 12:51
LZ这个怎么制作啊,谢谢
大兴线丰台段 发表于 2009-10-15 12:20


是从go2map(或者说bjbus或map.sogou)那里“偷”来的数据,按照kml文件的格式加工处理得到的。具体过程比较麻烦。
kml文件可以用记事本或者其他文本编辑器打开,简单的路线可以参考前面发上来的kml文件,照猫画虎。
作者: AudiA4Sline    时间: 2009-10-15 13:34
我原来也有这样的想法,后来发现如果全部做完实在太大了。
楼主继续加油吧。
作者: 京华╰★巡洋舰    时间: 2009-10-15 13:41
LZ无敌哈!用GOOGLE做成这样..密密麻麻的!牛!
作者: ccce    时间: 2009-10-15 15:45
有人做地铁线路的,这个公交线路实在是太多了,不容易,lz强~
作者: xcaogu    时间: 2009-10-15 15:57
这个做出来只用了几天的时间,数据“偷”来之后,生成kml数据不过几秒钟时间就行了。现在找到的线路有2120条(上、下行,支线、区间、专线分开计算,并且包括地铁、郊区线路、机场大巴),车站信息56383个(不同线路同一车站未合并),路径标注点455742个(有不少点不必要或有差错)。bjbus公交信息有错误或不规范的地方有不少,要都改成正确的不容易,再要合并车站和修正线路,这工作我就做不了了。
作者: sweetstar    时间: 2009-10-19 15:49
22m那个木有啊?
作者: 最爱我家653    时间: 2009-10-19 18:31
有的并不准确。
作者: xcaogu    时间: 2009-10-19 23:23
22m那个木有啊?
sweetstar 发表于 2009-10-19 15:49


那个大文件论坛发不上来,限制文件大小了。而且发现了许多线路数据不准确,先不发了。过些天如果修正和转换顺利,也许按一个分公司一个文件的方式发出来。


有的并不准确。
最爱我家653 发表于 2009-10-19 18:31


确实不准确。有坐标转换的误差,也有map.sogou网站上数据的错误。地图网站上不能提供真实坐标,我做的近似转换要做到高精度也比较困难。
作者: tosa    时间: 2009-10-20 00:06
LZ厉害
我也有过类似的想法 不过一来信息量太大 变化也太快 一个人几乎无法完成 即使用已有的数据来修正也有不少工作量
我认为更重要的一点是 谷歌地球本身的问题 目录结构太简单 理想状态应该是每条线路有一个目录 包括路径和站点 同一个站点被包括在不同的线路目录中(这点我认为十分重要 可以大量减少数据量)
像现在有人做的地铁线路和LZ的作品 都是把路径和站点分开在不同的目录里 这样会造成大量重复站点数据 而且使用起来也不方便 但是目前似乎没有解决的办法
作者: xcaogu    时间: 2009-10-20 13:38
12# tosa


每条线路路径和站点放在一个单独目录下很简单,但这样又有个问题,没法通过一次选择让所有站点都不显示只显示路径,要想达到这样的效果,只能一个一个线路下面一个一个去选。最好能有办法在不增加数据的情况下,既能把线路和站点分开来,又能让每条线路和站点合并显示。
我的想法是不仅合并重复站点,而且把每两个相邻站点间的路径固定下来,每条公交线路都由一小段一小段的线路连起来,这样更能减少数据点。

KML我没太看明白,但从看到的资料里,感觉似乎是没有这样的功能。。。
作者: tosa    时间: 2009-10-20 23:56
12# tosa


每条线路路径和站点放在一个单独目录下很简单,但这样又有个问题,没法通过一次选择让所有站点都不显示只显示路径,要想达到这样的效果,只能一个一个线路下面一个一个去选。最好能有办法在不增加数 ...
xcaogu 发表于 2009-10-20 13:38


“通过一次选择让所有站点都不显示只显示路径” 这一点可以通过建子目录来近似实现 上级目录为某条线路 内有路径和站点子目录 子目录里包括所有站点 这样选择两次即可让站点不显示而只显示路径

其他的我认为LZ说的很对 但是“在不增加数据的情况下,既能把线路和站点分开来,又能让每条线路和站点合并显示。”貌似是目前比较重要的一个问题 否则即使合并了重复站点 在目前ge的目录控制能力下 显示效果就会是密密麻麻的无数站点地标和真正希望显示的一条或几条路径混杂在一起 既非常不美观也无法实际使用 关于这个问题我能想到的一个解决方法是给站点地标增加高度控制 这样在显示线路全局时不显示站点 放大至局部后才会显示 而路径则始终显示 算是一个无奈之举吧

另外LZ是如何获得bjbus或是sogou的路线信息呢 希望能详细说一说
作者: tosa    时间: 2009-10-20 23:58
恩 楼上的高度控制方案其实还有一个问题 路径上的其他线路站点也会被一同显示出来 这一点尤其不利于大站快车这样的线路
作者: xcaogu    时间: 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,人家的文件是可以把不同级别的地名在不同距离时才开始显示的,应该可以参考,但我现在还没看。技术问题不多说了,毕竟是公交论坛,不是程序员论坛。有事站短联系吧。
作者: tosa    时间: 2009-10-21 02:16
我说的就是上帝的那个帖子 站短了 不在这里浪费资源了 呵呵




欢迎光临 公交迷网 - 巴士之家 (http://www.gongjiaomi.com/) Powered by Discuz! X3.2