Java与GIS的联系

地理信息系统是70年代初发展起来的一门新兴的边缘学科。 
   由于GIS在数据采集与输入、空间数据管理、地图提取、自动制图、数字地形分析、数据输出等方面具有强大而又独特的功能 ,因此它在资源清查与管理、区域城镇规划、灾害防治与监测、环境保护和评价、土地管理与房地产管理、宏观决策等与空间信息相关的领域得到了广泛的应用 ,并取得了良好的社会效益和经济效益。 
   近年随着网络化技术的发展以及数字地球的提出,迫切要求 GIS向网络化方向发展。虽然现有的一些GIS软件或多或少地支持网络功能 ,但是真正意义上的网络 GIS并没有出现,也就是说能够直接在网络浏览器上进行浏览和操作的 GIS软件还没出现。研究适于网络的 GIS已成为 GIS领域的一个热点。所以在GIS开发中就有了Java的出现。 
   Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是Java程序设计语言和Java平台的总称。 
   Java语言是简单的。Java语言的语法与C语言和C++语言很接近,使得大多数程序员很容易学习和使用Java。另一方面,Java丢弃了C++中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。特别地,Java语言不使用指针,并提供了自动的废料收集,使得程序员不必为内存管理而担忧。  
   Java语言是面向对象的。Java语言提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制。Java语言全面支持动态绑定。总之,Java语言是一个纯的面向对象程序设计语言。  
   Java语言是分布式的。Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。  
   Java语言是健壮的。Java的强类型机制、异常处理、废料的自动收集等是Java程序健壮性的重要保证。对指针的丢弃是Java的明智选择。Java的安全检查机制使得Java更具健壮性。  
   Java语言是安全的。Java通常被用在网络环境中,为此,Java提供了一个安全机制以防恶意代码的攻击。除了Java语言具有的许多安全特性以外,Java对通过网络下载的类具有一个安全防范机制(类ClassLoader),如分配不同的名字空间以防替代本地的同名类、字节代码检查,并提供安全管理机制(类SecurityManager)让Java应用设置安全哨兵。  
   Java语言是体系结构中立的。Java程序(后缀为java的文件)在Java平台上被编译为体系结构中立的字节码格式(后缀为class的文件),然后可以在实现这个Java平台的任何系统中运行。这种途径适合于异构的网络环境和软件的分发。

   Java语言是可移植的。这种可移植性来源于体系结构中立性,另外,Java还严格规定了各个基本数据类型的长度。Java系统本身也具有很强的可移植性,Java编译器是用Java实现的,Java的运行环境是用ANSIC实现的。  
   Java语言是解释型的。如前所述,Java程序在Java平台上被编译为字节码格式,然后可以在实现这个Java平台的任何系统中运行。在运行时,Java平台中的Java解释器对这些字节码进行解释执行,执行过程中需要的类在联接阶段被载入到运行环境中。  
   Java是高性能的。与那些解释型的高级脚本语言相比,Java的确是高性能的。事实上,Java的运行速度随着JIT(Just-In-Time)编译器技术的发展越来越接近于C++。  
   Java语言是多线程的。在Java语言中,线程是一种特殊的对象,它必须由Thread类或其子(孙)类来创建。通常有两种方法来创建线程:其一,使用型构为Thread(Runnable) 的构造子将一个实现了Runnable接口的对象包装成一个线程,其二,从Thread类派生出子类并重写run方法,使用该子类创建的对象即为线程。值得注意的是Thread类已经实现了Runnable接口,因此,任何一个线程均有它的run方法,而run方法中包含了线程所要运行的代码。线程的活动由一组方法来控制。Java语言支持多个线程的同时执行,并提供多线程之间的同步机机制。  
   Java语言是动态的。Java语言的设计目标之一是适应于动态变化的环境。Java程序需要的类能够动态地被载入到运行环境,也可以通过网络来载入所需要的类。这也有利于软件的升级。另外,Java中的类有一个运行时刻的表示,能进行运行时刻的类型检查。 
   总而言之,Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。 
   所以优秀的编程语言Java是GIS开发用的比较多的二次开发语言,尤其应用在网络GIS方面。网络GIS可以用JavaEE技术来进行搭建。比如开发网站来加载显示地图数据,分析等等,像Google Map。同时,基于Android进行Mobile GIS的开发,因为Android开发是基于Java语言的,所以Java的优势就在于与Android的结合。

05-11 20:48