原文链接:http://www.gis8.net/Article/arcgis/200611/362.htm随着GIS应用系统在复杂性、集成性、并发性等方面的要求不断增加,系统所需的空间数据量在急剧地增长,同时用户对空间数据并发访问的需求也越来越突出。以传统的文件形式存储和表示空间数据的方法显然已经无法满足这些需求。由于ArcSDE本身所具有的海量数据存储、多用户并发访问、版本管理、长事务处理等强大优势,在GIS应用系统中引入ArcSDE作为空间数据存储和管理引擎,变得越来越普遍。ArcSDE作为空间数据库引擎,在ArcGIS 8.1系列软件中属于服务器端的产品,在整个产品框架中,处 ...
    作者:Flyingis    一般在JavaScript中可以调用Object类的构造函数来创建对象:var obj = new Object();     并且可以将对象附加到其他对象上,类似于C++中的对象数组,例如,某大学里拥有多个专业,每个专业都有一位主任和多名讲师组成,在JavaScript中可以这样来描述:var university = new Object();university.specialty = new Array();university.specialty[0] = new Object();//该专业的主任是Samuniversity.spec ...
    作者:Flyingis    BlueViewer是基于.NET Link进行ArcIMS二次开发的一个实例,里面包含了WebGIS最基本的一些功能。关于ArcIMS结构及其简介可以参考我的另外一篇随笔《ArcIMS体系结构》。关于.NET Link连接器的介绍可以参考《ArcIMS连接器--.NET Link使用方法》。Mars写了一篇《浅析ArcIMS》,对BlueViewer做了简单的分析。    使用.NET Link进行ArcIMS二次开发并不复杂,但不少刚刚接触GIS朋友面对大量JavaScript和ArcXML,加上对WebGIS运行机制不了解,还是感觉无从下手。这篇随笔 ...
    作者:Flyingis    BOM全称是Browser Object Model,在不依赖于网页内容的情况下提供和浏览器视窗交互的对象,下图显示了BOM的组成结构。    可以看出,window是BOM的核心对象,在使用window中所有对象时,可以省去window,例如window.document可以写成document,window.frames[0]可以写成frame[0]。为了对视窗进行操作,BOM提供了四种方法:moveBy(dx,dy)、moveTo(x,y)、resizeBy(dw,dh)、resizeTo(w,h),这四种方法比较简单,具体使用可以参考相关资料。   ...
    作者:Flyingis    SVG(Scalable Vector Graphics)是一种基于XML的语言,用来在Web中绘制矢量图形。当前,除了Mozilla 2.0外,没有一款浏览器在本质上支持SVG,都需要插件来显示SVG图形,著名的有Adobe公司和Corel公司的SVG插件。    一个简单的SVG<?xml version="1.0"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN""http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">& ...
    作者:Flyingis    之前写过不少JavaScript基础的随笔,基本上都是针对其语法、语言结构来论述的。但是,现在使用JavaScript最多的地方是在浏览器中,这里就简单谈谈浏览器中使用JavaScript。    在浏览器中使用JavaScript分为内联和外联两种方法,和CSS比较相似。    内联<html><head><title>内联</title><script language="JavaScript">  function message() {    alert("Good Day !");  } ...
    作者:Flyingis    正则表达式用来从某一段字符串中匹配所需要的字符,这些字符可以非常简单,也可以非常复杂。JavaScript生来就对正则表达式有着良好的支持,在网络的字符搜索匹配中发挥着重要的作用。    JavaScript通过RegExp类来支持正则表达式,举一个最简单的例子:  var regApple = new RegExp("apple");    它可以匹配一个字符串中出现的第一个"apple"字符串,并且对大小写敏感。在构造方法中加入第二个参数"g"则代表的搜索出字符串中所有的"apple",这里"g"代表"global"。如果第二个参数为"i",则代表着c ...
    作者:Flyingis        前几天马维峰写了一篇关于ArcIMS文章——《浅析ArcIMS》,主要分析了ArcIMS的基本体系结构和几种二次开发模式的简单对比,比笔者之前的《ArcIMS体系结构》分析的透彻许多。    ArcIMS二次开发,关注最多的无非是它的连接器(connector)和ArcXML。在这些连接器中,Servlet Connector通过纯粹的ArcXML文件来传输请求和响应,ColdFusion Connector在其自身的运行环境中使用自定义tags来产生ArcXML请求和响应,Java Connector和ActiveX Connector比较类似, ...
    一直以来本地XMLHttpRequest对象是不区分大小写的,但从IE7开始,XMLHttpRequest/ActiveX对象将对大小写敏感,这将和传统的面向对象语言例如Java、C#等保持一致,ECMAScript中也是如此。    过去在IE7版本之前使用的方法和函数不需要关心这个问题,但如果要将程序迁移到IE7中或保持所有浏览器版本的兼容性,需要对过去的程序进行修改来保证程序的正确运行。    其实这种变化应该是发展的趋势,严格控制对象名称可以规范代码风格统一化并减少阅读代码所带来的困难,这是即使在对大小写没有任何要求的时候也应该注意的问题,能形成规约是件 ...
    作者:Flyingis     Prototype    在《JavaScript中的对象(下)》一文中,我们了解到任何prototype的属性和方法都会被传递到该类的所有实例中,利用这一特性,使用prototype也能实现继承。   function ClassA()  {} ...
    作者:Flyingis    继承是面向对象语言基本特征之一,通过继承可以将父类所具有的特性遗传到子类。ECMAScript中的继承不像Java、C++等语言那么明显,直接通过关键字来实现,通常它是通过模拟方式来实现继承功能的,并且实现方式有多种。    在继承中引入this关键字,使用构造器方法定义类来实现继承。一个构造器是一个函数,因此可以将父类的构造器作为子类的一个方法使用并进行调用。 function ClassA(id) { ...
    作者:Flyingis 5  自定义类和对象 5.1  工厂方法    在ECMAScript中创建工厂方法,返回一个特定类型的对象,以此实现代码的简洁适用。function createFruit() {  var tempFruit = new Object;  tempFruit.name = "apple";  tempFruit.number = 5;  tempFruit.showName = function() {    alert(this.name);   ...
    作者:Flyingis    面向对象语言需要具备三种基本特征:继承(Inheritance)、多态 (Polymorphism) 、封装(Encapsulation and Aggregation)。和Java 、C++ 等语言一样,ECMAScript 被认为是面向对象的,因为它同时支持这些特征。 var obj = new Object();    该语句创建了一个对象,当构造函数没有参数时,可以省略后面的括号。我们通常是通过对象的引用来进行对象操作,当一个对象的引用为null时,ECMAScript将启动垃圾回收程序删除该对象,释放内存。当一个对象存在多个引用时,需要 ...
    作者:Flyingis      JavaScript代码看起来总是要比Java、C#乱的多,可能是自己还不熟悉JavaScript编程,因此一款优秀的JavaScript调试器就显得格外重要。目前在网络和书上见到最多的有:    Microsoft Script Debugger: 集成在IE中的一款很原始的调试工具,具备基本的调试功能,除了可以用于调试客户端脚本,还能调试在Microsoft IIS上运行的服务器端脚本。该工具命令窗口是基于文本的,针对VBScript和IE环境进行调试会更加适用。       Firefox JavaScript Console: 可以记录Java ...
    作者: Flyingis     JavaScript的核心之一ECMAScript的语言特性和Java、C、Perl都有许多相似之处,其中不少特性都是从这些语言借鉴而来,同时它们之间也存在许多差异。下面列举一些ECMAScript的基本特性。    --和Java一样,ECMAScript区分大小写,注释的格式相同,通过{}确定代码块,原始数据类型存储在堆栈,对象的引用存储在堆中    --ECMAScript是一种松散的语言,ECMAScript通过var操作符声明变量,并且不限类型,例如var n = 25,那 ...
    JavaScript的学习,以Nicholas C.Zakas的《Professional JavaScript for Web Developers》为基础材料。    JavaScript作为一种网络客户端的脚本语言,由以下三部分组成:1.  ECMAScript--JavaScript的核心,描述了语言的基本语法和对象。    ECMAScript经历了三个版本的更新,现在大多数网络浏览器都支持Edition3。ECMAScript主要提供语言相关的信息与标准,如语法、类型、声明、关键字、保留字、操作运算符、对象等等。2.  DOM--The Document Object Mo ...
    近段时间在忙毕业设计,研究程序开发设计的时候少了。        传一张论文中用到的图示,遥感数据的解译、编辑、空间地理计算、成图在Erdas + ArcGIS中完成,计算的理论基础是层次分析法(AHP)和Saaty提出的1~9比较标度法。图中省略了一些图层信息和基本元素。(点击标题进入可以看到图)
作者: Flyingis 模型是为了理解和预测现实世界而构建的一种有效的替代物,它不是现实世界的复制,它是物体的一种简化,并能够体现物体的关键特征。地理学研究的目的是理解人类与环境间的关系,在地理建模过程中必然包含了许多人为或主观因素,但也不能随心所欲去表达所要表达的世界。一个好的模型可以把一个复杂的问题简单明了地表达出来,反之则会将问题描述的非常复 ...
作者: Flyingis 地理信息空间几何关系分析主要包括邻近度 (proximity) 分析、叠加分析、网络分析等。缓冲区分析是邻近度分析的一种,缓冲区是为了识别某一地理实体或空间物体对其周围地物的影响度而在其周围建立具有一定宽度的带状区域。缓冲区作为独立的数据层进行叠加分析,可应用到道路、河流、环境污染源、居民点、辐射源等的空间分析,为某种应用目的提供科学依据,另外,结合不同的专业模型,可以在生活、军事、城乡规划等领域发挥重要的作用。 ...