www.geobeijing.info
在北京举行的第29届奥运会和残奥会期间,150多万志愿者将为游客提供支持。一些任务,如提供交通和地理定位信息,可以通过地理浏览器来执行。作者开发了一个门户网站www.geobeijing.info,用于在ISPRS大会和奥运会期间引导游客访问北京。该地图基于谷歌地图卫星图像,叠加附加信息。
该门户网站提供与北京、奥运会和国际prs大会有关的信息和链接。用户可以通过带有超链接的侧板搜索街道和酒店,并获取相关信息。会场位置,照片和交通信息提供给ISPRS大会。
叠加
商业地理浏览器提供的信息,如谷歌,Yahoo!微软或MapQuest在街道、场地等方面的细节不够详细,无法引导2008年奥运会和ISPRS大会的游客正确地通过北京。然而,在线地图工具的技术发展使开发人员能够构建叠加在地理位置浏览器上的门户,并添加特定主题的信息。使用JavaScript编写的谷歌Maps在API中公开了它的类、变量和内部结构。开发人员可以生成客户端脚本和服务器端挂钩,这些挂钩允许基于API扩展和定制特性(mashup)。例如,使用谷歌的核心地图引擎及其地图/卫星图像,用户可以添加地图覆盖,包括标记、折线、多边形,甚至WMS层,并显示包含额外数据的阴影“信息窗口”。
布局
布局设计的主要标准是门户应该具有吸引力和易于使用。在目前的实现中,用户将简要但清楚地了解门户的用途和可用的信息。这三列基于级联样式表标准(CSS),样式属性与现代浏览器基本兼容。左边显示了导航和搜索功能。在地图显示过程中,右栏作为一个侧面板,支持方便地访问额外的信息,如场地、街道或酒店,其内容根据显示的信息进行更新。
内容
我们能够从互联网和文献研究中收集大量的信息。大多数地理数据是点、线或多边形的形式。这些几何特性在OGC的简单特性规范中有描述,并得到了谷歌的API和其他供应商的支持。在谷歌API中,定义了许多类、类型和事件来表示映射上的许多特性和多个函数。例如Map2类和用于地理坐标中的点的GlatLng类。我们使用专业的桌面GIS软件(MapInfo professional)从扫描的地图中收集数据,或者使用基于谷歌API的mashup将地图数字化,该API可以将数据导出为适合进一步处理的格式。通过这种方式,我们收集了点特征(兴趣点、酒店、巴士和火车站)、线性特征(街道、地铁、公交线路)和多边形特征(奥运会和ISPRS场馆)。我们在谷歌卫星图像上覆盖了1800多条街道。每条街道都可以通过侧面板中的姓名列表或基于ajax自动完成的搜索表单访问。
酒店的位置也会被整合到地图中,用户也可以通过同样的方式找到酒店的位置,而到酒店网站的照片和超链接则会显示在一个单独的窗口中。侧板可以缩放和平移到国家体育场、国家游泳中心或北京大学体育馆等奥运场馆,同时附加信息和照片会自动弹出窗口显示。北京市中心以外的场馆也可前往,如位于明陵水库的铁人三项比赛场馆。使用按钮,玩家可以直接从一个位置“跳跃”到另一个位置。ISPRS 2008大会会场也连接到公共巴士基础设施信息。通过侧板可以看到有趣的地方,围绕城市中心的高速公路也被视觉化,以便更好地定位。
格式
地铁和地点信息的编码是由XML完成的,XML是一种元语言,用于定义其他(与地理相关的)语言,如地理标记语言(GML)或GeoRSS。大多数编程语言都支持创建和解析XML数据。JavaScript对象表示法(JSON)在整个网络中被广泛使用,并且能够结合各种特性。谷歌的一些基于web的应用程序和服务提供JSON格式的提要数据。与XML相比,其优点是数据表示的紧凑性。另一方面,对于用户输入的数据应该谨慎,因为它可能包含恶意代码。JSON已经被扩展为一种地理方言,GeoJSON,旨在标准化空间特征的转移以及如何在客户端实例化。对于批量加载地理数据,使用CSV(逗号分隔值);这种格式很简单,几乎所有的电子表格和数据库管理系统都支持这种格式,甚至对于GIS系统来说也是一种伪标准,可以很容易地在客户端生成和评估。在这个项目中,一些数据以两种方式编码。 After digitisation, geometrical properties are converted into OGC’s WKT format. The resulting string is embedded in a CSV-encoded string, together with information about id, name, layer name, geometry type and bounding box.
结束语
在客户端使用上述技术的同时,PHP是用于创建动态网页和访问数据库的服务器端编程语言。MySQL是一个数据库管理系统。上述技术将推动向数百万人提供地理信息。
进一步的阅读
- Garrett, j.j., 2005。Ajax: Web应用的新方法。自适应路径。http://www.adaptivepath.com/publications/essays/archives/000385.php [2008-05-05]
- Purvis, M., Sambells, J., Turner, C., 2006开始使用PHP和Ajax映射应用程序。出版社,350页,ISBN 1590597079,http://googlemapsbook.com/
-谷歌映射API参考http://code.google.com/apis/maps/documentation/reference.html u
AJAX
文本框1:
AJAX(异步JavaScript和XML)是一个体系结构概念,用于通过组合技术提供交互体验。由万维网联盟(W3C)标准化的XMLHttpRequest对象向URL定义的Web资源发送请求,并异步接收响应。客户机获得更新后的数据,例如地图,而无需重新加载整个页面。XML(可扩展标记语言)用于浏览器和web服务器之间的编码数据传输。文档对象模型(Document Object Model, DOM)具有层叠的内部结构,允许程序和脚本动态地访问和更新文档的内容、结构和样式,而JavaScript则用于解析、分析和交互所获得的信息。例如,谷歌对谷歌Maps和谷歌Suggest使用AJAX。它的API导出了一种创建XmlHttpRequest对象的方法,该对象与新版本的IE、Firefox和Safari兼容。
文本框2:
CSV编码字符串示例
(116.375686 39.931674,116.375683 39.931593,116.375747 39.93026,116.375806 39.926574)