2008年05月
综合维基百科GeoWeb词条和GeoWeb.org的介绍,还有一些Jack Dangermond的演讲报告,GeoWeb的概念首次被提出来是在1994年,指在互联网上部署GIS(Deploying GIS on the Internet),旨在解决冗余数据、昂贵数据的整合以及分布处理能力,将利用新的技术、市场和决策系统来开启(unlock)我们的世界。GeoWeb是一次关键的技术迁移,不仅会改变我们的工业世界,更会改变我们日常生活中运用地理空间信息的方式。GeoWeb将为数据的自组织、发现和使用等提供可视化的媒介和地理空间平台,他允许每一个互联网用用户发布信息流,同时任何人都可以调动或拉动信息,从而形成一种新的commons,媒介或公众环境,贸易和信息商品化。阅读全文>
发表于 @ 2008年05月25日 17:53:00|评论(loading...)|编辑
2008年5月22日,距离四川省汶川大地震已经过去了整整十天。我们在沉痛悼念遇难同胞的同时,每个人都应该思考这样一个问题,“地震面前,我们如何做得更多……”。
作为一个专业的地图制图与地理信息系统开发工作人员,我常常思考如何利用地图来更好地服务于各行各业。因此,针对地震,我专门写了这么一篇小文章来和大家分享我收集的一些地震中应用到的地图和网络地图。
阅读全文>
发表于 @ 2008年05月22日 23:32:00|评论(loading...)|编辑
针对GE的开发有两种方式,一种是基于GE的com API,一种是基于KML。基于 Com API的开发方式主要用来控制GE的视角、实现动画效果,而基于KML的开发方式主要用来生成地理要素,实现数据的动态更新等。在实际应用中,需要结合这两种开发方式,这样才能得到比较理想的效果。阅读全文>
发表于 @ 2008年05月18日 22:47:00|评论(loading...)|编辑
OpenLayers中的事件封装是其一大亮点,非常值得学习。说到事件机制,在宏观上不得不涉及控件OpenLayers.Control类、OpenLayers. Marker类、OpenLayers.Icon类等。是这样,在外观上控件通过Marker和Icon表现出来,而事件包含在控件之后,用他们自己的话说就是:The controls that wrap handlers define the methods that correspond to these abstract events 。顺便再说一句,控件实现的核心是handler类,每个控件中都包含对handler的引用,通过active和deactive两个方法,实现动态的激活和注销。
阅读全文>
发表于 @ 2008年05月08日 13:42:00|评论(loading...)|编辑
OpenLayers中的控件,是通过加载到地图上而起作用的,也算地图表现的一部分。同时,控件需要对地图发生作用,所以每个控件也持有对地图(map对象)的引用。
阅读全文>
发表于 @ 2008年05月08日 13:40:00|评论(loading...)|编辑
上一回说到OpenLayers.Map类,这回介绍组成Map的主体部分OpenLayers. Layer类,先从其实现细节上分析,看它是怎么设计出来的。关于它许许多多的子类,即各种图层,想单独写一篇。
阅读全文>
发表于 @ 2008年05月08日 13:35:00|评论(loading...)|编辑
一开始看到OpenLayers,就有一个问题。就是它作为WebGIS的前端,通俗地说,是“显示”地图的。那么,它显示的地图是什么,是怎么显示的,又是怎么实现的?——暂且把这个问题叫做地图表现。我觉得最关键的就是Map类,把这个类分析清楚了,问题就解决了一大半了。阅读全文>
发表于 @ 2008年05月08日 13:33:00|评论(loading...)|编辑
实际上,OpenLayers的整个表现过程是这样的:通过调用获取数据,然后各种格式的解析器解析数据,在用所谓的渲染器渲染后加到图层上,最后再结合相应的控件表现出来,成为一幅我们看到的“动态”地图。
这里主要讨论OpenLayers. Renderer这个类及其子类。
阅读全文>
发表于 @ 2008年05月08日 13:31:00|评论(loading...)|编辑
前面也提到过,OpenLayers设计是符合标准的,有良好的框架结构和实现机制,非常值得学习。OpenLayers支持的格式比较多,有XML、GML、GeoJSON、GeoRSS、JSON、KML、WFS等。这回主要以GML为例来看OpenLayers 数据的解析过程。
阅读全文>
发表于 @ 2008年05月08日 13:28:00|评论(loading...)|编辑
在OpenLayers空间数据的实现主要存在OpenLayers. Geometry类及其子类中。我们先看下面的两个图片,表现了这些类的继承关系。从图上可以清楚的看出MultiPoint、Polygon和MultiLineString 这三个类实现了多重继承,即直接继承于Geometry类,又继承于Collection类(为什么要这样实现?)。阅读全文>
发表于 @ 2008年05月08日 13:26:00|评论(loading...)|编辑
OpenLayers不仅“自己”写了一些底层的类,像上回说的那些都是。同时也定制了一些JS的一些内置类,即对JS内置类的扩展。这个扩展主要包含3类:String,Number,Function,存在于BaseTypes.js文件中。阅读全文>
发表于 @ 2008年05月08日 13:23:00|评论(loading...)|编辑
先说基类型BaseTypes下,OpenLyers构建的“自己”的类。它们分别是:OpenLayers. LonLat、OpenLayers. Pixel、OpenLayers.Size、OpenLayers. Element、OpenLayers. Bounds和OpenLayers. Class。阅读全文>
发表于 @ 2008年05月08日 13:19:00|评论(loading...)|编辑
通过前面的项目介绍,我们大概已经知道Openlayers是什么,能够做什么,有什么意义。接下来我们分析它怎么样,以及怎样实现的等问题。阅读全文>
发表于 @ 2008年05月08日 13:16:00|评论(loading...)|编辑
OpenLayers 是由MetaCarta公司开发的,用于WebGIS客户端的JavaScript包,目前的最高版本是2.5 V,通过BSD License 发行。它实现访问地理空间数据的方法都符合行业标准,比如OpenGIS的WMS和WFS规范, OpenLayers采用纯面向对象的JavaScript方式开发,同时借用了Prototype框架和Rico库的一些组件。阅读全文>
发表于 @ 2008年05月08日 13:13:00|评论(loading...)|编辑
网上关于ASP.NET2.0 Callback的介绍已经很多了,但是全面系统讲述并带有示例的还比较少。正好这几天在研究SharpMap的AjaxMap控件,就搜集和整理了这方面的资料。为了方便大家的学习,同时节省大家搜集和阅读资料的时间,我就写了这篇博文,希望不是画蛇添足,呵呵。阅读全文>
发表于 @ 2008年05月07日 20:52:00|评论(loading...)|编辑