gis开源框架,GIS的总体框架
GIS的三大应用
第一类是政府申请。“电子政务”是政府加强信息化建设的新方向。它是指在现代计算机和网络通信技术的支持下,政府机关的日常办公、信息采集与发布、公共管理等事务在数字化、网络化的环境中进行的国家行政管理形式。地理信息系统已成为许多政府决策部门必备的支撑系统之一,在国家水利、电力、林业畜牧、地质矿产、交通运输、资源环境保护等机构中发挥了重要作用。
第二类是企业应用。随着信息时代的到来,企业的组织、运营和管理逐渐向信息化方向发展。GIS通过提供与企业管理信息系统相结合的可视化地理空间信息服务,为企业在商业规划、物流等领域提供辅助决策。
第三类是热门应用。WebGis的出现为公众获取地理空间信息服务提供了平台。通过开放、简单的WebGIS服务,满足大众对地理信息的需求,如谷歌、百度地图服务,方便人们出行。
GIS三大组成部分
(1)数字数据
数字化数据是信息在计算机中的表现形式,是指需要计算机软硬件进行图形显示和空间分析的地理空间信息。Gis中的数据不同于其他信息系统中的数据,它具有空间特性。GIS数据可以分为空间数据和非空间数据。比如GIS中的一块数据,经纬度数据,表示的是事物的空间位置,属于空间数据,而名称和日期数据表示的是事物的属性,属于非空间数据。GIS将空间数据和非空间数据结合起来进行分析和处理。
GIS功能
基本功能应包括:数据输入、数据编辑、数据存储、数据操作、数据分析、数据显示和输出。
(1)数据输入:也叫数据采集。
手动数字输入遥感卫星图像和GPS。
(2)数据编辑:随着地图要素的数字化,用户需要将所有空间要素与其对应的属性数据关联起来,并对数据转换过程中的错误进行清理和修正。
(3)数据存储:数据数字化编辑后,需要将数字化的地图数据存储在磁盘或其他存储设备上。最常用的存储数据模型包括:栅格格式和矢量格式。两种格式都将原始图形数据简化为易于存储的通用格式。
(4)数据操作:数据存入系统后,用户可以对数据进行一系列操作。GIS操作通常以工具包的形式提供给用户,工具包包括基本的数据操作和分析功能,如:数据检索、面积周长测量、坐标变换、投影变换、图幅边连接等。
(5)数据分析:Gls的核心在于其强大的分析能力,如从事故现场搜索一定范围内的各种空间要素,并对相关信息进行统计分析,为事故处理提供所需信息。遥感技术、全球定位技术和地理信息系统统称为“3S”技术
OpenGIS
(OGIS-开放地理数据互操作性规范)。由美国OGC(OpenGIS Consortium)提出,主要架构和类库为
几何基础类库
。代表:JTS(Java),GEOS(C),Shapely(Python)
这类几何基础类库主要实现了OpenGIS的简单要素访问标准。简单来说,它们在一定程度上封装了几何。以JTS为例,根据OpenGIS中几何图形的描述,实现了基于Java的接口和继承关系,并制作了类似Point和LineString的可用类。此外,这些类库还普遍实现了OpenGIS的DE-9IM空间位置判断和一些常用的计算几何方法(如buffer)。这类软件是所有GIS类库的基础,就像几何是GIS的基础之一一样。
数据源实现
代表:PostgreSQL,MySQL空间
数据源的实现主要是开源数据库的空间扩展。数据库的空间扩展不仅支持数据表中几何类型的存储,还提供了SQL级别的集合关系判断。例如,您可以直接使用SQL来查询多边形中的点。
PostGIS是由Refractions Canada支持的开源项目,为开源数据库PostgreSQL提供空间支持。安装PostGIS后,PostgreSQL中会出现一个模板数据库。创建新的空间数据库时,只需使用PostGIS作为模板。PostGIS实现了SQL级别的基本空间操作功能。此外,大多数开源GIS软件(即使是不严格遵守OpenGIS标准的软件)都支持直接加载、读写PostGIS数据表的功能。毫无疑问,PostGIS是OpenGIS数据源的最佳实现。
目的是促进采用新技术和商业方法,以提高地理信息处理的互操作性,
它致力于消除地理信息应用(如地理信息系统、遥感、土地信息系统、自动制图/设施管理(AM/FM)系统)。
以及地理应用与其他信息技术应用之间的壁垒,从而建立一个无边界的、分布式的、基于组件的地理数据互操作环境。
中间件
代表:地理工具(Java)中间件在系统中起着连接数据和服务的作用。GeoTools负责从各种数据源(如PostGIS、GML、Shapefile、WFS)读取数据并使其标准化。特征接口在GeoTools中定义,来自不同数据源的数据被读出并统一到包含几何成员(在JTS定义)的特征接口的实现中。这样,进一步的操作只需要面对特征,
保存高级软件对不同数据源的解释过程。此外,GeoTools是OpenGIS标准的完整实现,包括过滤、坐标转换和GML。
GeoTools、JTS和GeoAPI之间的关系是什么?
JTS
是加拿大Vivid Solutions公司制作的开源Java API。它为空间数据操作提供了一套核心算法。为符合OGC标准的空间对象模型中的基本几何操作提供2D空间谓词API。GeoAPI
为OpenGIS规范提供了一组Java接口。Geotools
是一个开源的Java GIS工具包,可用于开发符合标准的地理信息系统。Geotools提供了OGC(开放地理空间联盟)规范的实现。
简单地说:GeoTools的目标是开发一个符合规范的Gis工具包。既然是工具包,那么在构建一个完整的地理信息系统时会遇到的问题,有很多工具可以处理。常见的问题包括:投影转换、基准设置、空间数据对象的渲染和样式、各种数据源的支持、各种GIS文件格式的支持、空间数据的过滤和搜索。诸如此类。
在开发这些工具的时候,就在处理空间数据的图形关系的时候,有一个非常好的解决方案,那就是JTS。JTS解决了物体之间拓扑关系的判断和计算,并提供了许多有用的算法来求解物体的面积和长度。诸如此类。这样,JTS就相当于GeoTools中的一个子模块。但是因为这个模块本身不是GeoTools项目,所以javadoc里找不到JTS的API,需要从JTS官网下载。GeoAPI是地理工具的标准模板。它规定了GIS中所有数据类型的规范,以及可用的投影转换方法。这样,与GeoAPI接口兼容的GeoTools就是一个标准的GIS工具包。
WMS/WFS服务器
Web地图服务(WMS)根据用户的请求返回相应的地图(包括PNG、GIF、JEPG等栅格数据或SVG、WebCGM等矢量数据)。
代表:GeoServer(Java),MapServer(PHP)
地图服务器扮演着向网络中的客户端提供地图服务的角色。这种地图服务器可以接收WMS和WFS请求,并返回各种格式的数据。这个过程受到WMS/WFS规范的严格控制,因此它不会对客户端的地图服务器有太大影响。
GeoServer是由J2EE在OpenGIS Web server规范中实现的一个社区开源项目。使用GeoServer可以方便地发布地图数据,允许用户更新、删除和插入要素数据。通过GeoServer,可以很容易地在用户之间快速共享空间地理信息。
GeoServer兼容WMS和WFS功能;支持PostGIS、Shapefile、ArcSDE、Oracle、VPF、MySQL、MapInfo支持数百个投影;能够将网络地图导出为jpeg、gif、png、SVG、KML等格式;可以在任何基于J2EE/Servlet的容器上运行;OpenLayers,一个嵌入在MapBuilder中支持AJAX的地图客户端;
客户端
代表:OpenLayers/map builder(JavaScript),uDig(Java),QGIS(C)
客户端分为浏览器和桌面客户端程序。以OpenLayers为代表的B/S系统的客户端现在功能非常强大,可以封装WMS请求,在浏览器上实现地图的平铺加载功能。另外拖动和缩放功能也很完善,可以实现跨浏览器操作。最新版本的OpenLayers还支持矢量编辑,可以通过WFS-T提交,传统的桌面客户端程序更加强大,支持包括WMS和WFS在内的多种数据源。另外,它的编辑功能和可操作性也比浏览器中的更强。
数据格式
ESRI图形文件格式是GIS矢量文件格式的事实标准,通常由。shp,shx,prj,dbf和其他文件。
OpenGIS软件一般支持Shapefile的读写。Shapefile可以直接作为GeoServer中的数据源使用,但是不建议使用这种方法,原因很简单,基于文件的数据源可能会导致性能下降和数据丢失。格式文件至少包含3个文件,它们的后缀是:形状,dbf,shx。shp存储地理形状和位置信息。dbf存储属性信息。shx是一个索引文件。
的。mif/。MapInfo的中间格式
MIF文件,主要用于保存空间物体的几何数据;扩展名为的文件。MID,主要用于保存几何数据对应的属性数据;
生长调节血清三肽
GML是OpenGIS的标准规范之一,它基于xml描述地理数据。与Shapefile相比,xml更容易读写,也更容易在网络中以各种形式传播。
同时,xml具有可读性,能够被人们理解和认可。GeoTools实现了GMLDataStore,所以GML也可以直接作为GeoServer中的数据源(需要下载GML扩展)。
同时,GML的数据源为数据源动态化的实现提供了思路和可能性。
地理应用服务器
Mapinfo MapXtreme
MapObject Autodesk
地图指南
服务器
超级MapArcGIS Server
MapXtreme是由MapInfo开发的基于Internet/Intranet的应用服务器。它具有强大的制图功能,包括专题制图、缓冲区分析、地图编辑、地图目标搜索、地图显示、图层控制、空间选择、地理编码、扩展地图库和样本数据等。只要管理员在Web服务器上编程和管理MapXtreme,用户就可以通过Web浏览器访问地图信息。
操作方式
一般来说,Xtreme是作为瘦客户端工作的,客户端看到的地图是服务器根据用户的请求动态生成的一定格式的图片。MapXtreme采用B/S模式三层架构。客户端首先向Web服务器提交一个HTTP请求,并提交表单Form。Web服务器收到请求后,会将地图操作请求提交给地图应用服务。地图应用服务内部调用MapXServer响应用户的操作请求,经过相应的空间分析和处理,生成新的地图图片,返回给Web服务器,Web服务器将图片嵌入HTML页面,返回给客户端的浏览器。