-
记忆中的年轻,仿佛都是素的心情却沾着脂粉气的文字...
******************************************************** -
《没有终点的旅程》叶平
——电脑科技全景透视
●走进电脑世纪(代前言)
●于无声处听惊雷 世纪电脑大爆炸
历史与未来的交叉点
数字化生存
●我们都是未解之谜 破译天机
编织程序
孤独的普罗米修斯
开关的奥秘
电脑世纪的滥觞
●新石器时代 回归“新石器”
硅谷之火
芯片上的计算机
给你一颗奔腾的“芯”
硅芯片终结者
●惊世伟绩 巨人的奇迹
小是美好的
精英与叛逆
世纪焦点
软件英雄
后PC时代
●走进人类的心灵 “深蓝”震撼
人工智能的旗帜
推倒贝伯尔塔之梦
会看会听会说的机器
制作“生命”
走进人类的心灵
●满园春色关不住 挡不住的诱惑
来路不正的电脑游戏
“玩”出来的多媒体
真实的谎言
第九艺术的崛起
●网络惊魂 互联网络溯源
航行于“蜘蛛网”
环球第一商战
网络就是服务
方兴未艾的第四媒体
电子商务潮起潮落
赛伯空间文化
教育历史大变革
●芝麻,开门吧(代后记)
这是我遇到的关于电脑科技最完整和人性化探索的书籍,她把电脑科技与物理学、数学、生物学、心理学乃至哲学等多种自然学科联系到一起对人类发展的生命本质回归提出了深刻的启发,书中无数敢于为真理呐喊和奉献的科学家们承前启后的引导着技术的革新和思想的启蒙,从牛顿、莱布尼茨到摩尔、西蒙等各个领域的奠基人,以及无数甚至作古数十年之后才惊醒人类的伟大论著,都透过历史闪耀着濯濯的光芒。她后半篇张的内容甚至于超出了我所有的想像,如生物DNA电脑、量子电脑等新概念更像是传说中的科幻小说,而这些正在离我们不远的地方现实而神奇的实现着,背后是人类敢于超越智慧创造生命的不停求索。。。
可惜没有找到对这本书有丝毫评价的资料,只是自己对此粗陋的浅评,而且在继续阅读的过程中不断韵羡作者的博识,并且坚信以上的赏识有不及而无过之。。。 -
现代商业的成败,在很大程度上已经由细节决定了。大笔的金钱投入下去,往往只为了赚取百分之几的利润,而任何一个细节的失误,就可能将这些利润完全吞噬掉。拿上海的地铁为例。上海的地铁一号线是由德国人设计的,看上去并没有什么特别的地方,直到中国人自己设计的二号线投入运营才知道其中有那么多的细节被二号线忽略了。结果二号线运营成本远远高于一号线,似乎至今仍未实现收支平衡。现将我所知的二号线忽略的细节罗列于下,给大家一个参考。
1、三级台阶
地铁一号线的每一个室外出口都不是和地面齐平的,要进入地铁口,必须要踏上三级台阶,然后再往下进入地铁站。不要小看这三级台阶,在下雨天它可以阻挡雨水倒灌,从而减轻地铁的防洪压力。事实上一号线内的那些防汛设施几乎从来没有动用过,与之相较地铁二号线曾发生过雨天被淹的惨剧。
2、转弯
地铁一号线的每一个出口都会转一个弯,不会直接通到室外,而二号线显然没有注意到这一点。这一个转弯大大减少了地铁站台和外部的热量交换,从而减轻了空调的压力,使得一号线的电费大大小于二号线。
3、地面装饰线
一号线的站台最外边采用金属装饰,里面又用黑色大理石嵌了一条边,在里面铺设同一色彩地砖。这样的装饰,给予乘客心理上暗示,从而使所有的人都会下意识地站在地砖所在的范围内,和地铁保持了大约50 厘米的距离,保证了乘客的安全。而二号线地面全部用同色的地砖铺成,稍不注意就会过于靠近轨道,使得地铁公司不得不安排专门的人员来提醒乘客。
4、站台宽度
一号线的站台比较宽,上下车比较方便,而二号线的站台比较窄,尤其其一二层之间的楼梯比较窄。在高峰时间,显得非常拥挤。较窄的站台,也使乘客无法看清楚对面的本站站牌,容易坐过站。这使得二号线重新装饰了所有的柱子,使每一个站台的柱子都不相同,以方便乘客辨认。但同时二号线也丧失了在柱子上做广告的收入。
5、小缺口
地铁一号线,在设计的时候留有站台门,地铁到达的时候,地铁门和站台门会对准,同时打开。没有地铁的时候站台门关闭。这进一步保存了站台的热量,节省电费。同时也保证了旅客的安全,使得旅客根本不可能跳下站台。然而在实际运营的时候,并没有安装站台门,但仍然可以在站台上看到门的导轨,导轨在每一个正对门的地方都留有一个缺口。
6、其他
地铁一号线每一个站台的楼梯、柱子的位置基本上是相同的,这大大减少了设计时候的绘图费用。从德国进口的车子的照明程度得到了精确的测量,当车厢壁上没有悬挂任何东西的时候,其亮度是相当舒适的。而目前由于大量张贴了广告,使得车厢内的照明偏暗。
小小一个地铁就有如此多的细节需要掌握,那么学习和引入一种制度呢?又有多少细节需要掌握,又有多少人真正努力去研究和思考这些细节呢?
原文载自《吉奥之星通讯》49期 -
2005-06-21
GIS的19个研究方向(美) - [六個偶然]
1 空间数据库的准确性研究
地理信息数据中误差处理和不确定性错误处理的方法和技术 ,包括 :
不确定性误差模型 ;
误差跟踪并对误差进行编码的方法 ;
计算和表达在 GIS应用中的误差 ;
数据精度的评估 ;
数据质量、元数据、数据标准等问题研究。
2 空间关系语言研究
以地理空间概念的规范化形式为基础 ,利用自然语言和数学方法 , 形成空间关系表达的理论 ;
关于定位表达的计算模型 ;
空间概念的获取和表达 ;
拓扑关系的定义 ;
空间信息的可视化 ;
GIS的用户接口。
3 空间数据的多种表达方式研究
为高效数据提取而组织的不同版本的数据及相应的拓扑关系 ,以及空间数据的多种表达方式 ;
满足数据一致性和精度要求的地图制图规则 ;
数据模型、链接、多机构、多尺度等对数据的需求。
4 地理信息的使用和价值研究
对 GIS获取、实现和使用起关键作用的因素和过程的理解 ;
GIS传播模型建立方法 ;
确定 GIS的经济价值。
5 海量空间数据库的结构体系研究
海量数据库中数据模型、结构、算法、用户接口等问题的实现方法 ;
空间代数学 ;
基于逻辑的计算机查询语言 ;
元数据的具体内容和组织 ;
数据压缩和加密方法。
6 空间决策支持系统
GIS及其相关学科在决策形成中的作用 ;
区域灾害问题解决的空间决策支持方法 ;
空间决策支持系统的模型和数据 ;
空间决策支持系统技术和实现 ;
用户需求和组织等问题研究。
7 空间信息的可视化研究
数据质量的管理和可视化表达构成研究 ;
误差模型和数据质量指标 ;
数据库中数据的质量管理 ;
使内在表达和地图显示更容易的可视化工具 ;
对数据质量信息的用户需求评估。
8 地图制图的规范化研究
研究相应的方法和准则 ,以提高空间数据的一致性 , 以及空间数据在表达方式和空间分析方面的效率和准确性 ;
地图制图语言规范化研究 ;
规范化设计评估体系 ;
将知识推理嵌入数据模型。
9 地理信息数据共享的研究
由地理信息和技术共享到空间数据共享 ;
空间数据共享的理论研究 ;
空间数据共享的场所 ;
空间数据共享的处理方法。
10 GIS中时空关系的研究
地理空间中空间、时间以及和变化相关联的对象研究 ;
不同时间概念的划分 ,如 :离散的、连续的、单调的等 ;
具体应用中 ,笛卡儿坐标和欧几里得坐标的选择 ;
将人类对时间和空间的认知过程具体化、形式化 ;
空间现象的模拟计算模式。
11 遥感和 GIS的集成研究
解决遥感和 GIS集成方面的关键问题 ,主要包括 :
数据结构和存取问题 ;
数据处理流程 ;
误差分析 ;
机构问题。
12 GIS的用户接口研究
人机交互的用户接口设计和实现 ;
在 GIS环境中 ,人和计算机相互作用的研究 ;
不同背景、语言、文化对人机交互的影响
GIS软件用户接口设计的准则和方法。
13 GIS和空间分析研究
空间统计学地理数据的空间统计分析 ;
地理边界和地图比例尺在空间数据体系中的作用 ;
空间数据的采样和内插 ;
GIS数据结构和空间统计计算之间的关系。
14 GIS在全球变化中的作用研究
全面、定量地理解 GIS应用对全球变化所起的作用 ;
从小尺度的研究出发 ,建立理论基础和计算结构 ;
全球数据质量的评估。
15 法律、信息政策和空间数据库关系研究
GIS数据适用范围 ;
科学地理解空间数据库环境中的法律和政策 ;
如何完善 GIS方面法律的内容和质量 ;
空间数据库在公众政策和法律建设方面的作用
GIS在公众政策和法律方面的有用性尝试。
16 通过协作形成空间决策系统的研究
提供开发和评估工具 ,以解决复杂空间问题 ;
建立知识获取方法 ;
建立评估方案 ;
确定协作方的相互联系方式 ;
在相互作用的环境中解决冲突的方法。
17 在社会背景中 ,如何在 GIS中表达人、空间与环境的研究
人口的管理和控制 ;
确定冲突影响的人口范围 ;
政治经济关心的自然资源的开采和使用。
18 地理信息系统的互操作研究
开放的、分布式存储的 GIS结构 ;
地理数据语义特性获取方法 ;
数据抽象和处理模型研究 ;
地理空间数据的粒度 (Granularity)。
19 地理世界的规范化模式研究
地理世界的规范化表达 ;
用空间数据结构表达现实世界时 ,基本的描述元素 ;
GIS用户对地理世界的直觉看法。 -
2005-06-17
JAVA(我的程序泡沫梦想) - [六個偶然]
如何迅速成为Java高手[Tomjava原创]
---转载
很多网友问我学习Java有没有什么捷径,我说“无他,唯手熟尔”。但是我却很愿意将自己学习的一些经验写出来,以便后来者少走弯路,帮助别人是最大的快乐嘛!
要想学好Java,首先要知道Java的大致分类。我们知道,自从Sun推出Java以来,就力图使之无所不包,所以Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE,这也就是Sun ONE(Open Net Environment)体系。J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入是系统开发,如手机和PDA的编程;J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。J2SE开发桌面应用软件比起VC,VB,DEPHI 这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。所以现在应用最广泛又最好学的就是 J2EE了。J2EE又包括许多组件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要学习起来可不是一两天的事。
那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟悉了吗?然后再从JSP学起。如果你学过HTML,那么事情要好办的多,如果没有,那你快去补一补HTML基础吧。其实JSP中的Java语法也不多,它更象一个脚本语言,有点象ASP。然后你就该学一学 Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢?还好,SUN提供了 Javabean可以把你的JSP中的Java代码封装起来,便于调用也便于重用。接着就是EJB了,EJB就是Enterprise JavaBean,看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看Javamail了。
好了,对Java和J2EE有了一些基本概念之后,你就应该编一些程序了,千万不要纸上谈兵哦。最好找一些有实例且带光盘的书来看,这样看到好的程序就可以直接Ctrl+C再Ctrl+V,也不用劳您老大架再亲自把它再输一遍吧,再说直接复制还不用怕出错,何乐而不为呢!还有就是要经常上一些好的Java编程文章,有好的文章要Cut下来,有问题尽管问,只要问题不是太傻,一般高手都会回答你的。下面介绍几个好的Java方面的编程网站:
CSDN论坛http://www.csdn.net/中国最有名的技术论坛,《程序员》杂志就是他们出版的,你可以在上面提出问题,马上就有人回答你,如果你觉得好,你可以给那人加分;
Java研究组http://www.javaresearch.org/上面有很多原创文章,高手还是挺多的;
Java开发者http://www.chinajavaworld.com/那里Java资料比较全;
IBM的开发者网http://www-900.ibm.com/developerWor...ava/index.shtmlIBM永远的蓝色巨人;
http://www.javastudy.org/[url]这个?..//www.jdon.com/ 去下载,或到同济技术论坛的服务器ftp://nro.shtdu.edu.cn去下,安装上?..坛上去提问。Pet Store.(宠物店)是SUN公司为了演示其J2EE编程规范而推出的开放源码的程序,应该很具有权威性,想学J2EE和EJB的朋友不要错过了。
你一定会高兴地说,哈哈,原来成为Java高手就这么简单啊!记得Tomjava也曾碰到过一个项目经理,号称Java很简单,只要三个月就可以学会。其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java 的精髓。接下来你得研究设计模式了。设计模式是高级程序员真正掌握面向对象核心思想的必修课。设计模式并不是一种具体"技术",它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧,让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。关于设计模式的资料,还是向大家推荐banq的网http://www.jdon.com/,他把GOF的23种模式以通俗易懂的方式诠释出来,纯Java描述,真是经典中的经典。有时间再研究一下MVC结构(把Model-View- Control分离开的设计思想)吧,现在很流行的Structs就是它的一种实现方式,不过Structs用起来实在是很繁,我们只要学习其精髓即可,我们完全可以设计自己的MVC结构。然后你再研究一下软件Refactoring(重整)和极限XP编程,相信你又会上一个台阶。
做完这些,你不如整理一下你的Java代码,把 -
网格被称为第三代因特网,资源的汇聚和共享是其最重要的特征。当网格达到最理想的状态,能够在全球的因特网范围内按需共享各种IT资源,就像电话、电力、水、煤气等公用设施一样,拿起电话就能够通话,拧开水龙头就能够出水,用户一旦接入网格,就能够根据需要随时取用各种IT资源。
最“正统”的网格研究来源于美国联邦政府过去10年来资助的高性能计算项目。这类研究使用的名词就是“网格”(Grid)或“计算网格”。早期还使用过另一个名词—“元计算”(Metacomputing)。这类研究的目标是将跨地域的多台高性能计算机、大型数据库、贵重科研设备(电子显微镜、雷达阵列、粒子加速器、天文望远镜等)、通信设备、可视化设备和各种传感器整合成一个巨大的超级计算机系统,支持科学计算和科学研究。这方面的代表性研究工作包括美国国家科学基金会资助的NPACI、“国家技术网格”(NTG)、分布万亿次级计算设施(DTF)、美国宇航总署的IDG、美国能源部的ASCI Grid以及欧盟的Data Grid等(有关这些网格研究的信息可从“全球网格论坛” www.gridforum.org网站查阅)。
也有人把网格看成是未来的互联网技术。国外媒体常用“下一代Internet”、“Internet2”、“下一代Web”等词语来称呼与网格相关的技术。“下一代Internet”(NGI)和“Internet2”是美国的两个具体科研项目的名字,它们与网格研究目标相交,但研究内容和重点有很大不同。中国科学院计算所所长李国杰院士认为,网格实际上是继传统因特网、Web之后的第三个大浪潮,可以称之为第三代因特网。简单地讲,传统因特网实现了计算机硬件的连通,Web实现了网页的连通,而网格试图实现互联网上所有资源的全面连通,包括计算资源、存储资源、通信资源、软件资源、信息资源、知识资源等。
还有一类研究的侧重点是智能信息处理,它与网格研究的共同点是如何消除信息孤岛和知识孤岛,实现信息资源和知识资源的智能共享。这方面研究常见的名词包括语义网(Semantic Web)、知识管理(Knowledge Management)、知识本体(Ontology)、智能主体(Agents)、信息网格、知识网格、一体化智能信息平台等。
企业界用的名字也有很多,包括内容分发(Contents Delivery)、服务分发(Service Delivery)、电子服务(e-service)、实时企业计算(Real-Time Enterprise Computing,简称RTEC)、分布式计算、Peer-to-Peer Computing(简称P2P)、Web服务(Web Services)等。这些名词所代表的技术有一个共同点,即将因特网上的资源整合成一台超级服务器,有效地提供内容服务、计算服务、存储服务、交易服务等。另一个共同点是这些技术会尽量利用现有的Internet/Web技术,以便早出产品。当然这些技术也各有小的区别。比如,P2P强调打破Client/Server或Browser/Server的主从模式,用对等模式(或无服务器模式)实现超级服务器的功能。RTEC则强调对企业级在线事务处理的实时支持。
在企业界对网格的相关研究开发工作中,最重要的就是Web服务。这些公司已经就几个底层标准协议达成了共识,包括XML、SOAP、WSDL、UDDI等。Web服务不是纯研究,而主要是产品开发,可望在市场上开始普及。 -
IT企业动物图腾
作者:TOM科技
如果将自然界的动物特性与企业结合起来,就会看到某种特别的企业文化。用凶猛的动物用作企业“图腾”,很形象的表现出企业的某种特性。郭士纳的《谁说大象不能跳舞》让全世界都认准了这只IBM大象。
大多数企业都选择了凶狠、勇猛、敏捷的动物自喻,都希望如同展翅飞翔的雄鹰一样,驰骋全球市场。给自身赋予了好寓意,既是希望有所作为,更重要的是,在激烈的市场竞争中,只有生存下来才有语话权。因此,“生存”能力极强的动物,便成了国内企业趋之若鹜的自喻。像“狼”,是中国企业用得很频繁的比喻。
“土狼”华为让跨国巨头越来越寝食难安,而联想面对来势汹汹的国外巨头,已到了“要么成为狼,要么被狼吃掉”的地步,所以杨元庆也要让联想变成“狼”。
而国际巨头也同样面临着改革问题,就像索尼现在成了一只受到威胁的恐龙。
变狐狸变刺猬都好,最起码不要变成消极的鸵鸟。但中国企业什么时候才变成狮子?
野性十足:中国企业的苍狼一代
华为:在矛盾和平衡中前进的“狼群”
早有观察家分析指出,华为的企业文化的核心其实反映最深刻的就是任正非军人雷厉风行的性格和军事化的作风。在华为的发展历程中,任正非对危机特别警觉,在管理理念中也略带“血腥”,认为做企业就是要发展一批狼。因为狼有让自己活下去的三大特性:一是敏锐的嗅觉;二是不屈不挠、奋不顾身的进攻精神;三是群体奋斗。任正非还有些“狡猾”,他不满足于只像狼,而是要求华为的每个部门都要有一个狼狈组织计划,既要有进攻性的狼,又要有精于算计的狈。正是这些凶悍的企业文化,使华为成为连跨国巨头都寝食难安的一匹“土狼”。
这种“土狼文化”和军事化的管理以及独裁的作风在华为的创业期间确实是功不可没的。因为当时面对的是跨国巨头的激烈竞争,任正非本身并不是专业出身,也不拥有核心技术,但眼前却展现出一片广阔的市场,任正非别无选择:“我们是一群饿狼,只有让狼性爆发才能生存”。
但随着华为的壮大与国内通讯市场饱和,华为实施“狼性文化”的环境已经改变,而任正非和他的华为依旧在维护着他的军事化作风和“狼性文化”。
联想:崭露“狼性” “准直销”轮廓初现
联想出了什么问题?杨元庆针对弥漫在业界的质疑声回应说:“尽管与3年前制订的目标有差别,但联想的经营管理没有问题,战略调整对年轻的联想来说很正常,我们有资本!”
杨元庆回顾了联想近几年的发展,从1999年到2003年,营业额从110亿港元增长到了231亿港元,利润则从4.3亿港元增长到了11亿港元,5年内实现了翻番。
杨元庆说:“每年赚10亿元的企业在各行业中已为数不多。”在过去3年净利润增长最快的前10家恒生指数公司中,联想名列第6,低于中国移动,但高于中国联通。
但杨元庆承认,联想已经遇到了天花板,“我们在国内已经做到了极致,要超过30%的市场占有率将需付出很大的代价”。
但他同时也表示,面对来势汹汹的国外巨头,“要么成为狼,要么被狼吃掉!”联想已经没有退路。
中兴通讯:像羚羊一样奔跑
为了生存,羚羊必须比跑得最快的狮子跑得更快一些。
中兴通讯的幸福时光:海外扩张迅速
在殷一民办公室的墙上,挂着一副做工精致的工艺画匾,画匾上是一只羚羊。这是殷一民对公司经营风格的一种形象表述。实际上,中兴通讯在近20年的发展中一直低调潜行,只是在最近几年才开始显山露水。虽然不把羚羊作为一种企业图腾而对外宣传,但中兴通讯已经不知不觉地在认同羚羊的品性——温和而敏捷,快速反应而不失稳健,时间一长才能显出后劲。中兴对自己的目标是做一个长跑好手。
奇怪凶狠:跨国公司“变形”记
跨国公司是一种既奇怪又凶狠的动物。只要有利益需要,它可以游说国会给予某国最惠国待遇,它可以通过国际政治谈判使自己的技术成为一国的产业标准,甚至,它可以左右一国的政局,并在想见一国国家领导人时候就能见到。
大多数跨国公司相信,这样痛苦的“变形”是必须的,也是值得的。但仍有一批强硬的跨国公司在中国遭到了更多非议。ORACLE、微软、戴尔、沃尔玛……它们背后所代表的西方尤其是美 国商业精神,似乎与中国传统商业文化格格不入
IBM:会跳舞的大象
会跳舞的大象是否正在逐渐打击对手们好不容易积攒起来的那一点挑战的毅志?几次遭遇危机,又几次重回颠峰,变革和转型这些词汇对于IBM来说太过稀松平常了。提倡随需应变的IBM本身就是随需应变的最佳范例—其或主动或被动的种种变化也许只是在说明,IBM要为自己的庞大找到更坚实的着力点,同时要为自己的强势找到更温和的出口。
被业界叫了几十年的“蓝色巨人”称号要过时了吗?这可不是在开玩笑。最近半年,以软件集团的全面重新塑造为标志,扛着“Big Blue”美誉的IBM居然再次跳出了一连串令同行惊叹的轻灵舞步。这不得不让人充满想象:IBM还是大象吗?或者说,这位巨人还是蓝色的吗?
让IBM像惠普那样色彩斑斓起来?这恐怕不大可能。“蓝色”加上“巨人”,这也许是IBM留给 -
2004-11-28
arcobject说明 - [六個偶然]
第一章 了解ArcObjects
1.1AO是什么?
AO是ESRI公司ArcGIS? 家族中应用程序ArcMap?, ArcCatalog? 和 ArcScene?的开发平台,它是基于Microsoft? COM技术所构建的一系列COM组件集。应该澄清的是到目前为止,AO还不是一个独立的应用产品, 是依附在你的ArcGIS DeskTop产品中的软件开发包。也就是说,你购买了ArcGIS Desktop的任何一个产品,不管是ArcView还是ArcInfo,你都有了这套强大的AO组件集,利用AO提供的组件对 象来进行应用开发。
1.2AO的功能
通过AO你可完成以下甚至更多的GIS功能:
?空间数据的显示、查询检索、编辑和分析;
?创建各种专题图和统计报表;
?高级的制图和输出功能;
?空间数据管理和维护;
……
其实是ArcMap、ArcCatalog和ArcScene这三个应用程序都是由AO搭建起来的,因此从理论上讲这些应 用程序能完成的任务,通过AO同样可以完成(但重新搭建一个ArcMap式的应用程序先不考虑其代价,就可靠性和稳定性而言就值 得怀疑,在以后的内容里我会谈到这个问题)。我们现在绝大部分时候要做的---就是要利用ESRI提供的这些AO组件来进行积木 式的组装任务。 AO已经提供了许多底层的基本功能,而你的任务是按照应用需求将这些底层功能组装集合成一个更强大的COM对象。我们现在知道A O是基于微软的COM技术来构建的,因此它的开放性和扩展性很强大。这儿的开放性是指在开发环境的选择上可以有VBA、VB、V C++、DEPHI等多种支持COM标准的开发工具,而扩展性是指AO组件没有提供的功能,如需要定义一种新的数据格式,你就可 以利用COM技术来写自己的COM组件,对AO组件库进行扩展补充。在ESRI的文挡中曾经看过类似‘用AO开发功能是没有限制 的,这取决于你的想象力’这样的话,是不是觉得有些很狂妄。喔,不要理解错啊,AO的确非常强大 ,看看ArcMap给我们展现出来的功能就知道了。由于采用了COM技术,因此你不但可以在AO的基础上构造自己的COM组件, 而且可以自己来完成一个COM组件来对AO进行补充。至于为什么AO会基于COM技术,就我个人而言,目前和以后GIS的发展会 和主流IT技术融合的越来越紧密,毕竟任何一个软件产品最终是要拿来用的,所以除了提供专业的GIS功能外,从易用性和扩展性来 说也是极其重要的,而COM技术提供了一个解决之道。是不是有些罗嗦,强调其重要性的理由无非是在开始我们对AO的开发前先需要 您打针兴奋剂,虽然功能强大、使用方便的应用程序从来不是简单的几行代码和控件的拖来拖去就可以搞定的,还需要您不断地学习和掌 握更多的新的东西,但对于一个开发人员而言这些投入是值得的,对于尝试利用AO做开发的人员也是如此。那我们还不开始吗?
1.3需要的技术基础
如何进入AO软件的领域开发?对于高级的AO程序设计人员我想必须跨越四大技术障碍:
1.面向对象技术思想;
2.COM技术;
3.AO各组件对象的层次组织和相互关系;
4.支持COM的各种开发工具及其环境(如VB、VC、DEPHI等)
真正属于ESRI自己的东西无非就是这套AO组件库。对于初次进入AO开发领域的人员来说,我个人觉得(至于COM还有其它暂时 可以先放一边,照猫画虎完成许多任务还是没有问题的了)可以先从ArcGIS Desktop的应用开始,对AO的层次及相关概念有一个了解(如Map、Layer、View、Label、支持的数据格式等 ),否则等看到AO的示例时可能会一下子云里雾里,两厢印证我觉得最有可能豁然贯通吧。
1.4AO开发工具包
AO开发工具包的安装可以选择在安装ArcGIS Desktop时,也可以任何时候使用安装光盘下的\ArcGIS\ArcObjects Developer Kit目录下的Setup.exe文件进行安装。下面是AO开发包安装完成后的目录结构:
Arcobjects Developer Kit
Help --- 包含开发帮助文件:AODev.chm, ArcObjects.chm等
Kits --- 附加的开发者素材诸如投影引擎头文件,类别ID文件和ESRI 示例命令的源代码 (在最新的8.2版本中,该代码位置有所变化)
Object Model Diagrams --- 包括所有的PDF格式对象模型图
Samples --- 包含所有示例工程文件的源代码
Utilities --- 包含ESRI 对象浏览器等工具
1.5AO开发资源
1.《ArcObjects Developer Help》 ----- 这是AO开发的首选资源,个人觉得一定程度上甚至可以和微软的MSDN相媲美。不管是AO的基础COM、AO的对象层次图都提供 了说明,此外还提供了大量的开发示例。
2.《ArcObjects Online》 ----- 提供了最新的AO组件库文档,其中有一个关于AO的技术论坛相信会让大家有很多意外的收获;
3.《Exploring ArcObjects》 -----一本很不错的AO技术文档,对AO的开发进行了很好的组织,而且有大量的示例,可以随时复制利用;
4.《Building a Geodatabase》 -----应用都是围绕数据来展开的,这本书主要是用来设计和创建Geodatabase的,但理解和掌握Geodatabas e的层次和建摸方法,对AO的开发是很好的补充。
5.《Microsoft MSDN》----即使你的AO开发工具不是微软的,也建议安装一套完整的MSDN,想多了解和应用COM进行设计开发,MSD N是个宝藏。
第二章 AO的基础-----COM
组件化程序设计思想在今天应用已经非常普及,那 -
2004-11-27
WebGIS发展的解决之道 - [六個偶然]
作者:朱渭宁 黄杏元 马劲松 (南京大学城市与资源学系)
1引言
随着Internet应用的迅速普及和技术的日益发展,特别是国际上“数字地球”研究的兴起,以及建立“国家空间数据基础设施”方案的提出,原先基于Clien/serVer结构的GIS面临着丰富的、具有无限潜力的崭新空间。顺应这一趋势的WebGI必然是GIS能充分施展才能、提供更为有效服务的发展方向。以现有的Intemedlntranet为架构基础,建立基于Browser/Servers的WebGIS服务能够充分利用大量的WEB资源,合纵连横,向更为广大的GIS用户提供更为广泛的地理空间信息服务,已经成为目前国际GIS发展的主要趋势。尤其针对现有网络的不足而提出的XML,已被包括ESRI、Inergraph和Maplnfo等在内的主要GIS软件提供商所普遍接受,并正作为新一代GIS的关键技术加以试验。之所以要在WebGIS中使用XML,与Internet和WebGIS面临的一些技术难点有关。
2 WebGIS的技术难点与XML的提出
WebGIS是指利用Word Wide Web向各种类型的用户提供地理空间信息服务的地理信息系统,是Internet与GIS结合的产物。但Intenet毕竟不是 GIS的专用网,GIS最初的应用也不是以Internet为网络基础,所以,新旧事物在结合时必然面临着一些困难。
2.1 WebGIS技术难点
传统的Web语言是被广泛使用的HTML HypeText MarkUp Language,超文本标识语言),其实质是一种文本显示语言。随着Web上信息类型的日益增多,其不利于表现地理空间数据的 弊端也逐渐暴露出来,WebGIS由此而面临的一些技术难点也不易解决:
2.1.1 由于HTML页面仅仅擅长于数据表现,缺乏描述数据的内部结构和联系,不利于结构复杂的空间地理信息数据的查询和整合。
2.1.2 组成数字地球的数据将由数以千计的不同组织来维护,要对传统GIS数据库中大量的地理信息数据进行适应于Web表达的高效率、低 成本的转换,各个WebGIS需要资源和信息共享,真正地做到GIS数据的物理分散而逻辑集中。
2.1.3 按照数字地球的要求,WebGIS需要一定层次上的互操作性,使得GIS数据参与多方面的应用,但HTML页面一旦生成,信息便 处于静态,不能根据客户端的实际情况进行动态变化。
2.1.4 由于GIS处理海量的数据,而又受Internet的网路带宽以及其它路由限制,因此要建立快速的响应和传输机制,在满足用户交 互操作需求的基础上,向WebGIS用户提供快速的地理信息服务。
2.1.5 WebGIS需要向用户提供多样化的、直观易懂的图形用户界面,预测客户的请求,动态地、客户化地表现数据。
面对着上述的技术难点和国际信息化融合的潮流,XML将是WebGIS适应数 字地球的发展和要求、提高自身实际应用能力的解决之道。
2.2 XML概述与特点
XML(eXtensible Markup Language,可扩展标识语言)是W3C(Word Wde Web Consortium)为适应 Internet的发展,解决上述技术难点而推出的新型Web语言,是ISO(国际标准化组织)所制订的SGML(Standa rd Generalized Markup Language,通用语言标识标准)的一个精简集。它并不是类似于html的预定义的标识语言,而是用于定义其它标识语言的一 种元语言。与HTML中有固定数量的标识不同,XML用于描述信息的各种标识都可以由设计者自行建立,以强化特定专业数据的结构 和关联。
在WebGIS中引进XML,其优越性和作用是十分巨大的:
2.2.l 有助于实现地理空间数据的标准化、结构化。地理数据可被XML唯一地标识,便于网上查询和搜索,便于信息参与数字地球的资源共享 ,提高WebGIS服务的互操作性,减少了服务器和客户之间的频繁交互,从而提高GIS用户的互操作速度。
2.2.2 XML具有数据来源的多样性和多种应用的灵活性、柔韧性和适应性。XML可以将不同来源的结构化的GIS数据进行合并、集成,客 户获得XML数据后,可以用以开发多种形式的WallGIS应用软件,也可用于测量、制图、空间分析和地理建模等本地地理计算和 二次处理,扩展XML与GIS数据的多方面应用。
2.2.3 由于内容与形式的分离,XML只描述GIS数据本身,数据的具体表现形式可利用样式表语言进行转换,使地理信息能根据客户的配置 和实际情况动态地表现。
2.2.4用XML在现有的WEB上传输GIS数据具有可行性,不需要改变网络基础,利用原有的HTTP协议,成本低。
2.2.5 XML具有开放的标准和众多软件公司的支持。由W3C制订的XML1.0版已经发布,与处理XML相关的语言、接口等部件也由W 3C统一提供标准。微软、网景和众多数据库软件国际企业已经并将继续为XML提供支持和服务。OGC也制订了用于 WebGIS的一个基于 XML的语言:GML(Geography Markup Language,地理标识语言)。
3 XML在WebGIS中的应用
XML是针对于数据内容和结构的分析和描述,所以XML原则上可以被应用于任 何WebGIS的解决方案。由于XML功能强大,其实现和被利用的过程也就比HTML复杂,现以建立WibGIS的比较普遍的三 层服务解决方案为例,简要叙述XML的具体应用。
三层服务结构即以GIS基础数据库、中间层、Web客户端浏览器为架构基础的WebGIS解决方案。无论这三层结构如何具体实施 ,XML都可以在其中发挥数据存储、交换和表现的 -
2004-11-27
Geodatabase中基于规则的拓扑关系管理机制 - [六個偶然]
(富融公司 蔡晓兵)
1、问题的提出
空间数据的拓扑关系及其处理方法在高级的空间分析处理和空间数据库数据质量保证方面具有相当重要的作用。在ArcInfo的经典数据格式COVERAGE中,拓扑关系被完整地保存,并有一组检查工具(命令和函数)供使用者对空间数据进行拓扑关系检查并给出错误定位标识和相应的统计数据。这曾经是ArcInfo有别于其它GIS或图形处理软件的最重要的标志之一,为全球GIS界所广泛推崇。随着ArcInfo升级到8版本后,全新的空间数据模型Geodatabase被引入,其中对拓扑关系的管理和处理方法发生了重大的改变。笔者在《中国用户通讯》第十期中曾专门撰文(参见“什么是Geodatabase”)对COVERAGE到Geodatabase的演变进行了阐述,其中有较多的笔墨谈及拓扑关系的处理。直至ArcGIS 8.2版,Geodatabase对拓扑关系的处理都相对薄弱,ArcGIS Desktop在处理类似公共点公共边等空间拓扑关系时,所提供的动态编辑工具相对而言也较为简化和单一。Geodatabase中数据的空间拓扑关系的正确性靠数据入库前的工序来保证,ArcGIS Desktop和Geodatabase本身对此并不提供太多的帮助。时隔一年,情形又一次发生了深刻的变化,在ESRI即将发布的最新版本:ArcGIS 8.3中,Geodatabase对拓扑关系的处理较之以往,由于引入了一些全新的概念和技术,其能力产生了本质的飞跃。
2、Geodatabase中的数据存储和建模
在切入正题之前,让我们对Geodatabase的空间数据存贮机制作一个简要的说明。Geodatabase是ESRI在其新一代GIS平台软件ArcGIS 8中引入的一种全新的空间数据模型。Geodatabase采用一种开放的结构将空间数据(包括:矢量、栅格、影像、三维地形等)及其相关的属性数据统一存放在工业标准的数据库管理系统DBMS中。空间要素类(Feature Class),如:河流、国界、宗地、电杆等,对应了DBMS中的表,而具体的一个要素(Feature)则是表中的一条记录。具有共同空间参考的一组空间要素类又可以组成更大的结构,称为要素数据集合(Feature Data Set)。除了空间要素类以外,Geodatabase中还可以建立关系类、几何网络、定义要素子类型、值域及规则等。所有的要素类均可以借助通用的CASE工具(如:Visio、Rational Rose等)进行模型定义和扩展。
3、Geodatabase中拓扑关系的实现
在ArcGIS 8.3版中,Geodatabase引入了拓扑关系规则。如前所述,在Geodatabase中可以定义关系和规则。拓扑关系规则即是新增加的一类。拓扑关系规则可作用于同一要素数据集中的不同要素类或者同一要素类中的不同要素。用户可以指定空间数据必须满足的拓扑关系约束,譬如:要素之间的相邻关系、连接关系、覆盖关系、相交关系、重叠关系等。所有这些关系都对应相应的规则。在城市规划应用中,两个相邻的地块之间不能有“飞地”,我们可以有一条对应的规则:“相邻多边形间不能存在间隙”。再如,当以河流作为国界时,河流(线状)与国界线必须一致,可用规则:“线必须被多边形边线覆盖”。用户通过选择若干规则的组合构成对空间数据必须满足的拓扑关系的灵活指定。为了检查和维护空间数据的拓扑关系正确性,在ArcGIS Desktop中给出了一组(编辑)工具,用于对空间数据根据用户指定的拓扑关系规则进行编辑,并帮助用户及时发现可能存在的拓扑关系错误。
Geodatabase中并不实际保存拓扑关系。不同要素类之间的公共点、公共边等要素是在拓扑编辑过程中动态地检测到的。例如,我们选择一条线并对其进行编辑,此时Geodatabase将自动检测到与此线要素具有公共几何元素的所有其它要素,当我们修改该线要素时,系统自动对所有的公共边和公共点进行维护,以保持其应有的拓扑关系。这种实现方式的好处在于,可以局部、有选择的维护拓扑关系,效率很高。
4、拓扑规则
拓扑规则可以定义在要素类的不同要素之间,也可以定义在两个或多个要素类之间。比较典型的拓扑规则例子是:多边形不能相互重叠(两个建设用地地块间不可相互重叠);点必须被多边形边线覆盖(建设用地的界址点必须在用地红线上);不能有悬挂结点(用地红线不能有多余的出头线段);两个线层不能相交(地下管线和道路中心线不能有交叉点),等等。在ArcGIS 8.3版中,将给出总共25条可供选用的拓扑规则。在以后发布的版本中,还会给出更多的规则。对一个要素数据集,我们可以定义一个拓扑关系类,在拓扑关系类中,指定若干我们希望数据满足的拓扑关系规则。当然,通过修改拓扑关系类的定义,就能够方便地改变对拓扑关系约束的要求。这给我们管理空间数据带来了很大的灵活性。
5、拓扑属性
如上所述,通过定义拓扑关系类,我们就能按特定的要求规定要素本身及其间必须遵守的空间拓扑约束。在拓扑关系类中,除了拓扑关系规则外,还要指定:参与拓扑约束的各要素类,容限值(cluster tolerance),精度等级(coordinate accuracy rank)。其中:
&容限值:指落在以此值为半径的圆形区域内的所有点被看成是一致的,会被捕捉(snap)到一起。
&精度级别:每个参与拓扑约束的要素类都可以人为地赋予一个精度级别,精度级别越高, -
2004-11-27
ESRI独特的创新思维 - [六個偶然]
(富融公司 蔡晓兵)
自从1962年加拿大科学家提出GIS概念以来,关于GIS的定义可以说是五花八门。不同的定义,缘自看问题的角度和对GIS本身认识的不同。在GIS产业界,主流的思维是将GIS划归在技术的范畴内,认为GIS是一种技术而非一门科学。而恰恰是GIS产业界的龙头老大,几十年来一直执全球GIS研究、开发及应用之牛耳的美国环境系统研究所公司棗ESRI,却始终坚持GIS是一门科学。这是ESRI总裁Jack Dangermond先生的信念,也是ESRI及其合作伙伴们在实践和传递的一种理念。同时,我们也注意到,正是因为这种视GIS为科学而非技术的理念,使得ESRI在其产品技术的研发过程中,总是在自觉地运用其独特的科学思维。也正是这些独特的科学思维,日积月累,使ESRI拥有了超越所有竞争对手,同时,更重要的是不断超越自己的神奇力量。ESRI独特的科学思维,不是通过著书立说用大部头来加以阐述和表达的,而是散见于其丰富完整的产品线中。我们在此通过ESRI在处理数据共享及互操作、拓扑关系、长事务处理及并发操作、空间数据离线编辑等问题的思路来看看ESRI在产品研发过程中是如何特立独行、持续创新,从而始终引领世界GIS潮流的。
*关于数据共享及互操作
我们正在以前所未有的速度向信息化社会迈进。由于信息与空间位置的普遍相关性,GIS在人们的生产和生活中扮演着越来越重要的角色。在GIS的自身发展过程中,形成了众多相对封闭和独立的系统。这些系统之间,没有统一的数据格式标准,数据的存储和处理方法也各不相同,甚至看似相同的操作也由于缺乏统一的语义描述而存在诸多微妙的差异。这种现象,在GIS尚处在项目级或部门级的应用阶段时,由于系统的互联互通和信息共享需求还不是特别强烈,同时,与此阶段相对应的计算机硬件处理能力和网络本身互联及带宽等的不足也一定程度上淡化和抑制了人们在数据共享和互操作上的需求愿望。就像众多彼此没有公路相连的村落里的人们,尽管也有相互交往的愿望,但因为没有路,也就没有了太多的彼此频繁走访的冲动。随着计算机网络特别是Internet技术的日益成熟与普及,这种状态被彻底地打破了。网络的延伸和彼此连接已经不是问题,路已经修好或即将修好,可是,这路上跑什么车拉什么货以及如何进行顺畅的交换,就成了新的问题。不同格式的数据,不同的GIS平台,分布在不同的单位和部门中。当我们试图建立企业级的应用,甚至要建立跨行业、跨行政区域乃至跨国界的信息系统基础设施时,数据共享和系统互操作就成了我们再也无法回避的问题。
不同的平台构建的系统之间要达到数据的共享和功能互操作,一种自然的想法就是增强平台自身的开放性。在过去的几十年里,GIS在追求开放的道路上走得缓慢而艰难。其实现互操作性相关的概念、标准和技术,大致可分为:
&数据转换功能(如:COVERAGE->DLG、MOSS->COVERAGE等)
&标准交换格式(如:SDTS、DXF、GML等)
&开放的文件格式(如:VPF、shapefiles等)
&直接读取应用编程接口(API)(如:ArcSDE API、CAD Reader、ArcSDE CAD Client等)
&基于DBMS的通用空间特征表达(如:OGC的 Simple Feature Specification for SQL)
&标准化的GIS WEB服务集成(如:WMS、WFS和ArcIMS)
所有以上所列的各种概念、标准和技术,尽管我们可从中看出某种技术上的进化特征,但事实上,现在的GIS互操作性努力中,它们都在扮演着重要的角色。
在GIS技术发展的早期,受限于当时计算机的计算速度和处理能力,数据共享的方式主要是在不同的GIS平台之间进行文件级别的转换。不同的GIS平台多少都会提供一些与其它平台的数据转换功能(命令),或者是将自己格式的数据导出为某种标准格式。ESRI在这一阶段,给出了所有GIS软件中最为丰富的数据转换功能(命令)。随后,又第一个推出了公开的空间数据格式棗Shapefile。现在,这一格式已经是被GIS界广为认可。但是,转换毕竟是一种脱机的、批处理的方式,系统之间不能动态实时地进行数据交换和互联。ESRI在遵从国际开放GIS联盟(OGC)颁布的简单空间特征规范的基础上,开发了功能强大的空间数据库引擎棗ArcSDE。此时,ESRI的思路已经进化到直接读取。即对外提供空间数据库引擎的应用编程接口(API),提供ArcSDE API,ArcSDE CAD Client等。
当大家对转换和直接读取的思路倍加关注,并投入大量人力物力时,ESRI已将目光转向了元数据。在ESRI的ArcGIS平台中,提供了集成化的元数据创建、提取、编辑、同步和发布机制。而且,支持ISO和FGDC标准,并可方便地进行客户化定制。基于对元数据于数据共享的重要性的深刻认识,ESRI又提出了g.net框架,并循此思路,脚踏实地地在自己的产品线中广泛地提供了基于Internet/Intranet环境的空间数据共享发布和检索机制。至此,ESRI的g.net框架及其实现此框架的若干主要技术,如:元数据管理技术、元数据发布技术和元数据搜索技术,为我们在一个尽可能广泛的地域范围内迅速发现和挖掘所需的数据提供了切实可行的实现方案。基于g.net,数据的发布者(拥有者)可以在网上“广而告之”,而寻求数据的人则可以方便快 -
(图片转自搜狐)请专注图中的黑点,你发现和感到了什么?
-
2004-10-30
vb中dir函数用法 - [六個偶然]
vb中提供的成员函数dir返回一个满足指定类型或指定文件属性的文件名,目录名或卷标名,dir函数的语法结构为:Member Function Dir[(Pathname[,attributes])] As String
其中参数Pathname通常为一个文件名,此文件名可以包含目录或文件夹以及驱动器符号,如果没有找到指定的Pathname,dir语句将返回一个零长度的字符串("").支持多字符通配符和单字符通配符.需要注意的是
1.在程序中第一次调用dir函数时必须指明pathname参数,否则会产生运行错误;
2.dir函数只返回满足pathname条件的第一个文件名或目录名,要得到其余满足条件的文件名,可以再次调用dir函数而不用带参数,当没有匹配的文件,dir函数返回零长度的字符串,而此时如果再想调用dir函数,必须指定pathname参数,否则出现运行错误;
3.在没有检索到满足当前pathname匹配条件的文件时可以改变新的pathname值,但不能再次递归调用dir函数;
4.调用dir函数时将属性参数设置为vbdirectory并不能连续返回子目录,仅返回当前目录下的目录.
例1
Public Sub main()
Dim filenames As String
filenames = Dir("c:\", vbNormal + vbDirectory)
Do While filenames <> ""
Debug.Print filenames
filenames = Dir ’再次调用dir函数,此时可以不带参数
Loop
End Sub
例2
’将符合条件的条件和目录分类,存到对应的数组中,完成输出
Public Sub main()
Dim FileNames As String, DirNames As String
Dim FileArray() As String, DirArray() As String
Dim TotalDirs As Integer, TotalFiles As Integer
Dim iLoop As Integer
DirNames = "c:\"
FileNames = Dir(Dirname, vbNormal + vbDirectory)
Do While FileNames <> ""
If FileNames <> "." And FileNames <> ".." Then
If (GetAttr(Dirname & FileNames) And vbDirectory) = vbDirectory Then
TotalDirs = TotalDirs + 1
ReDim Preserve DirArray(TotalDirs)
DirArray(TotalDirs) = FileNames
Else
TotalFiles = TotalFiles + 1
ReDim Preserve FileArray(TotalFiles)
FileArray(TotalFiles) = FileNames
End If
End If
FileNames = Dir
Loop
’这里可对数组进行排序,此处略
Debug.Print "___Directories______"
For iLoop = 0 To UBound(DirArray)
Debug.Print DirArray(iLoop)
Next
Debug.Print "___Files____"
For iLoop = 0 To UBound(FileArray)
Debug.Print FileArray(iLoop)
Next
End Sub
Dir函数可以用在不确定本机是否存在某文件或目录的前提下后台帮助用户寻找并提示,然后运用该文件或目录完成指定操作,如run等.但是由于不能递归使用,这就意味着不能一次查找整棵树,更为糟糕的是,vb并没有提供用来在多个不知名的目录中查找某一给定的文件或文件簇的任何工具.幸运的win32api提供了一些文件查找的方法(SearchPath,FindFirstFile,FindNextFile等),此外还可利用已有的文件查找知识为用户创建一个listbox控件,用来显示所查找到的文件,以便用户能选中其一.
共1页 1






