- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Google 绘图法:你身边的街头艺术
203
第三章 图像
H A C K Google 绘图法:你身边的街头艺术
#52
car*tog*ra*phy n :绘制地图或者图表的艺术或技术。
Google 绘图法(见/google-hacks/google-cartography/
google-cartography.html )通过Google Search API [第九章]来实现用
Google 绘制某个区域地图的功能。
实现这个功能的时候从某个街区开始,搜索到和它相交的其他街区。然后从
横向扫描这个街区,找到其他和这个街区相交的地方,就这样逐渐画出以这
个街区为起点的一块区域的地图。
图3-5 和图3-6 分别显示了Google 画出的两个世界著名城市—— 纽约和墨
尔本的地图。
图3-5 :Google 绘图法得到的美国纽约的地图
如果你了解某个地图中地区的布局,就可以通过文本解析的办法发现其中
的矛盾,这是我们后面的章节要介绍的内容。
不得不正视的实事
Google 绘图法通过使用Google API 来查找与街区名有关的页面。初始街区
和地区标准组成了我们使用的查询,接着通过Google API 来完成这个查询。
204
第三章 图像
图3-6 :Google 绘图法得到的澳大利亚墨尔本的地图
然后在Google 得到的搜索结果中,每个URL 页面的内容都被提取出来,组
成了一个新的文本。通过形式匹配的方法(程序规划员)将这个文本进行处
理,得到文本中包含的关于街区之间关系的信息(比如,哪个街道互相交叉,
哪些街道彼此连接)。
每个页面可以产生一系列的顶点,每个顶点代表两条街道的交点。等我们选
定的初始街道通过上面的方法处理完之后,这个顶点的列表就又被扩充了一
些,里面包含了与这个选定的街道相交的其他顶点。
现在,我们通过上面的方法确定了从某条特定的街道能够到达的所有和它相
邻或者相交的街道。然后,这些与这个初始街道相交的其他街道也会按照同
样的方法找出它们自己与其他街道的交点,这样我们得到的这个地图中的顶
点就越来越多了。按照这样的办法继续找下去,直到通过某个初始的街道将
所有能找到的顶点都找到为止,或者直到达到了我们规定的结束查找标准满
足为止(例如,直到达到Google API 密钥的数量上限为止)。
等这个数据收集的过程完成之后,应用程序会将这个交点的集合转变成一张
图。每个交点用街道来表示,每条街道延伸到和其他街道相交处。然后分析
这张图的连通性(使用 上的Jung 图表软件包),
看看所有的顶点都与其他点连通的最大子图。一般来说,这个最大子图都会
包含我们初始选定的那个街道;不过有时候也不包括,这个初始街道穿过的
205
第三章 图像
街道数目越少(这些被它穿过的街道也会在最大子图中出现),最大子图包
含它的概率就越小。
得到了这个最大的连通子图后,我们用Prefuse 图形结构工具提供的Radial
Layout algorithm (射线布局算法)将这个图显示出来。这个图的初始定位
中心是我们选定的起始街道,不过之后会根据这些街道的使用频率自动调整
到用户最常选择的街道。
除了在功能上的一些缺陷(到本书编写的时间为止),在应用上还有一些问
题:
• 使用常用的表示法来代替客户化解析器,意味着会出现
文档评论(0)