转自:http://blog.csdn.net/cdl2008sky/article/details/7266680java
GIS的三大应用
第一类是政府应用,“电子政务” 是当今政府增强信息化建设的新方向,是指在现代计算机、网络通讯等技术支撑下,政府机构平常办公、信息收集与发布、公共管理等事务在数字化、网络化的环境下进行的国家行政管理形式。GIS已成为不少政府决策部门工做必备的支撑系统之一,在国家水利、电力、林牧业、地矿、交通、资源环境保护等机构己发挥重要做用。
第二类是企业应用,随着信息时代的到来,企业的组织、运营、管理也逐渐向信息化方向发展,GIS经过提供可视化地理空间信息服务结合企业管理信息系统,为企业的业务规划、物流等领域提供辅助决策。
第三类是大众应用,WebGIS的产生为大众提供了获取地理空间信息服务的平台,经过开放的、操做简单的WebGis服务,知足大众对地理信息的需求,如:方便人们出行的谷歌、百度地图服务。
GIS三大组成部分
(1)数字化的数据
数字化的数据是信息在计算机中的表现形式,是指要使用计算机软硬件进行图形化显示和空间分析操做的地理空间信息。GIS中的数据不一样于其余信息系统的数据,它具备空间特性,Gis数据分为空间数据和非空间数据两类.好比GIS中的一条数据经度和纬度数据表示该事物的空间位置,属于空间数据,名字和日期数据表示该事物的属性,属于非空间数据,GIS将空间数据和非空间数据进行结合进行分析、处理。
GIS功能
基本功能应包括:数据输入、数据编辑、数据存储、数据操做、数据分析、数据显示和输出
(1)数据输入:也称数据采集
人工数字化输入 远程遥感的卫星图像和GPS
(2)数据编辑:随着地图要素的数字化操做,用户须要完成将全部的空间要素关联到其对应的属性数据,清理并改正在数据转换过程当中产生的错误.
(3)数据存储:当数据通过数字化、编辑后,数字化的地图数据须要存储在磁盘或其余存储设备上,存储使用的数据模型最经常使用的包括:栅格格式和矢量格式。两种格式都将原有图数据简化为一种容易存储的通用格式。
(4)数据操做:当数据在系统中存储后,用户就能够对数据进行一系列的操做,GIS操做一般以一个工具包的形式提供给用户,工具包中包括基本的数据操做和分析功能,如:数据检索、面积周长测量、坐标转换、投影变换、图幅接边等。
(5) 数据分析:Gls的核心在于其强大的分析能力,如对距离某一事故地点必定范围内各类空间要素的搜索,并对相关的信息进行统计分析,为事故处理提供所须要的信息。遥感技术、全球定位技术与地理信息系统合称为“3S”技术
OpenGIS(Open Geodata Interoperation Specification,OGIS-开放的地理数据互操做规范)
是由美国OGC(OpenGIS协会,OpenGIS Consortium)提出,主要架构和类库
几何基础类库
表明: JTS(Java), GEOS(C++), Shapely(Python)
这类几何基础类库主要实现的是OpenGIS的Simple Feature Access标准,简单地说他们就是对几何类型(Geometry)进行了必定程度的封装。以JTS为例,它按照OpenGIS对于Geometry的描述实现了基于Java的接口和继承关系,制做好了可使用的相似Point、LineString这样的类。另外这些类库还广泛实现了OpenGIS的DE-9IM空间位置关系判断和一些经常使用的计算几何方法(如缓冲(buffer))此类软件是全部GIS类库的基础,正如几何是GIS的基础之一同样。
数据源实现
表明:PostGIS(PostgreSQL),MySQL Spatial
数据源的实现主要是开源数据库的空间扩展。数据库的空间扩展不只仅在数据表中支持几何类型的存储,算法
并且更提供了SQL级别的集合关系判断,例如,能够直接利用SQL查询在某个多边形内的点。数据库
PostGIS是加拿大Refractions公司支持的开源项目,它为开源数据库PostgreSQL提供了空间支持。PostGIS安装后,PostgreSQL中出现一个模版数据库,新建空间数据库时只需以PostGIS为模版便可。PostGIS在SQL级别上实现了基本的空间运算功能。另外绝大多数开源GIS软件(即便是不严格遵照OpenGIS标准的)都支持PostGIS数据表的直接载入,读写等功能。毋庸置疑,PostGIS是OpenGIS数据源最佳实现。
目的是促进采用新的技术和商业方式来提升地理信息处理的互操做性(Interoperability),
它致力于消除地理信息应用(如地理信息系统,遥感,土地信息系统,自动制图/设施管理(AM/FM)系统)
之间以及地理应用与其它信息技术应用之间的藩篱,创建一个无“边界”的、分布的、基于构件的地理数据互操做环境编程
中间件api
表明:GeoTools(Java)
中间件在系统中扮演链接数据和服务的角色。GeoTools承担了从各类数据源(如PostGIS,GML,Shapefile,WFS)读取数据并将数据标准化的工做。Feature接口就定义在GeoTools中,不一样数据源的数据读出后被统一成包含一个Geometry成员(定义在JTS中)的Feature接口的实现。这样,进一步的操做只需面向Feature便可,
省去了高层软件对于不一样数据源的解读过程。另外,GeoTools仍是OpenGIS标准的全面实现,其中包括Filter、坐标转换、GML。
浏览器
GeoTools和JTS还有GeoAPI究竟是什么关系?
JTS是加拿大的 Vivid Solutions 作的一套开放源码的 Java API。它提供了一套空间数据操做的核心算法。为在兼容OGC标准的空间对象模型中进行基础的几何操做提供2D空间谓词API。
GeoAPI为OpenGIS规范提供一组Java接口。
Geotools是一个开源的Java GIS工具包,可利用它来开发符合标准的地理信息系统。
Geotools提供了OGC(Open Geospatial Consortium)规范的一个实现来做为他们的开发。
简单而言:GeoTools的目标是致力于开发一个符合规范的Gis工具包,既然是工具包,那么就要有不少工具用来对付构建一个完整的地理信息系统时会碰到的问题,常见的问题好比:投影的转换,基准面的设定,空间数据对象的渲染和样式,各类数据源的支持,各类GIS文件格式支持,空间数据过滤与搜索。。。。等等的问题。
在开发这些工具的时候,刚好在处理空间数据图形关系的时候,有一个很是好的解决方案,那就是JTS,JTS解决了对象与对象之间拓扑关系的断定和计算,并提供不少有用的算法来解决对象的面积,长度。。。等等等的问题。这样而言,JTS就至关于GeoTools中的一个子模块。但由于这个模块自己不是GeoTools工程的,因此在javadoc中找不到JTS的API,须要到JTS官网上面另外下载。至于GeoAPI则是GeoTools符合标准的模板。它制定了地理信息系统中全部的数据类型应该是什么,投影转换的方式有哪几种诸如此类的规范。这样兼容GeoAPI接口的GeoTools才是一个符合规范的地理信息系统工具包。服务器
WMS/WFS服务器网络
Web Map Service(WMS)根据用户的请求返回相应的地图(包括PNG,GIF,JEPG 等栅格数据或者SVG,WEB CGM 矢量数据) 。架构
表明: GeoServer(Java),MapServer(PHP)
地图服务器扮演向网络中的客户端提供地图服务的角色。这类地图服务器能够接收统一规范的WMS和WFS请求(request),返回多种格式的数据。这个过程有WMS/WFS规范的严格规定,因此,对客户端来讲其地图服务器的实现到底是什么并不会形成太大影响。
GeoServer 是 OpenGIS Web 服务器规范的 J2EE 实现的社区开源项目,利用 GeoServer 能够方便的发布地图数据,容许用户对特征数据进行更新、删除、插入操做,经过 GeoServer 能够比较容易的在用户之间迅速共享空间地理信息。
GeoServer兼容 WMS 和 WFS 特性;支持 PostGIS 、 Shapefile 、 ArcSDE 、 Oracle 、 VPF 、 MySQL 、 MapInfo ;支持上百种投影;可以将网络地图输出为 jpeg 、 gif 、 png 、 SVG 、 KML 等格式;可以运行在任何基于 J2EE/Servlet 容器之上;嵌入 MapBuilder 支持 AJAX 的地图客户端OpenLayers;ide
客户端
表明:OpenLayers/MapBuilder(JavaScript),uDig(Java),QGIS(C++)
客户端分为浏览器和桌面客户端程序两种。以OpenLayers为表明的B/S系统客户端如今已经很是强大,它能够封装WMS请求,在浏览器上实现地图的切片载入功能。另外拖动、缩放都功能也很是完善,能够实现跨浏览器操做。最近的OpenLayers版本还支持了矢量编辑功能,能够经过WFS-t提交。而传统的桌面客户端程序功能则更增强大,支持多种包括WMS和WFS在内的数据源,另外编辑功能、操做性也要比浏览器中的强大。
数据格式
ESRI的Shapefile格式
是GIS矢量文件格式的事实标准,一般由.shp, .shx, .prj, .dbf等文件组成。
OpenGIS的实现软件广泛支持Shapefile的读写。Shapefile在GeoServer中能够直接做为数据源,可是这种方式并不被推荐,缘由很简单,基于文件的数据源可能形成性能不佳和数据丢失。shape格式文件最少包含3个文件,他们的后缀是:.shp, .dbf, .shx。.shp存储地理形状和位置信息,.dbf存储属性信息,.shx是索引文件。
MapInfo 的.mif/.mid格式
.MIF的文件,它主要用来保存空间对象的几何数据;扩展名为.MID的文件,它主要用来保存与几何数据相对应的属性数据;
GML
GML是OpenGIS的标准规范之一,它基于xml描述地理数据。于Shapefile相比,xml更容易读写,易于在网络中以各类形式传播。
同时,xml还具备可读性,人能够理解和辨识。GeoTools实现了GMLDataStore,所以在GeoServer中GML也能够直接做为数据源(须要下载GML扩展)。
同时,GML的数据源为数据源动态化提供了实现的思路和可能性。
地理应用服务器
Mapinfo MapXtreme
MapObject Autodesk
Map Guide
ArcIMS
Super Map
ArcGIS Server
MapXtreme是MapInfo公司开发的基于Internet/ Intranet的应用服务器,它具备强大的地图化功能,包括绘制专题地图、缓冲区分析、地图编辑、地图目标查找、地图显示、图层控制、空间选择、地理编码、扩展地图库和示例数据等。管理员只要在Web服务器上对MapXtreme进行编程和管理,用户就可以经过Web浏览器访问到地图信息。工做方式 MapXtreme的工做方式整体来讲是瘦客户端的工做方式,客户端看到的地图是服务端根据用户请求动态生成的某种格式的图片。MapXtreme采用的是B/S模式三层架构客户端首先向Web服务器提交HTTP请求,递交Form表单,Web服务器收到该请求后,把地图操做请求提交给地图应用服务,地图应用服务在内部调用MapXServer响应用户的操做请求,进行相应的空间分析和处理后,产生新的地图图片,返回给Web服务器,Web服务器再把该图片嵌入到HTML页面中并返回到客户端的浏览器上