基于开源软件GIS应用平台开发.ppt_第1页
基于开源软件GIS应用平台开发.ppt_第2页
基于开源软件GIS应用平台开发.ppt_第3页
基于开源软件GIS应用平台开发.ppt_第4页
基于开源软件GIS应用平台开发.ppt_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

开源GIS应用软件平台开发简介 报告人 季民山东科技大学二 一 年九月 目录 1 开源软件简介 2 开源GIS软件分类 3 开源GIS软件应用 4 开源空间信息软件框架实例 1 开源软件简介 所谓开源软件指软件的源代码 软件程序的原始文件 是对任何人都完全开放的 即任何人在有关许可协议方式的规范下 具有获得 使用 复制 修改和分发源代码的自由 但为了保护初始源代码的完整性 有关许可协议规定 原创者对源代码修改者的后续行为的自由有一定限制 自由软件和开源的软件具有广泛的共同点 在一般情况下我们统称为 自由开源软件 考虑到当今它们愈来愈广泛地参与务实的商业活动 我们也可将共简称为 开源软件 开源空间信息软件的发展虽然时间不长 仅仅20年左右的时间 但造就了如GRASS OSSIM这样功能突出 性能异常优越 不亚于任何一款商业软件的标志性项目 更有如WorldWind MapGuide等用户体验良好 方便用户使用的前端平台 截止到2006年8月11日 通过互联网可以寻找到的开源空间信息软件项目已经达到229个 在最新的freegis项目中已经可以寻找到的空间信息软件项目更是达到306个 2 开源GIS软件分类 GIS开源桌面GIS开源服务器端GIS开源组件GIS开源空间数据类库 1 GIS开源桌面 桌面版开源GIS软件有GRASS UDIG OSSIM QGIS MapWindows gvSIG Kosmo JUMP JCS SAGA ILWIS SharpMap等 目前GRASS已经覆盖了大多数GIS功能 UDIG产品优势在于地图编辑 QGIS用户界面友好 GRASS是最具有传奇色彩的大型GIS系统 最早由美国军方建筑工程研究实验室构建维护 后来贡献给开源社区 目前GRASS已经覆盖了大多数GIS系统的操作函数 超过300个经典算法 是开源版的ArcGIS 它是Uniux平台的第一个GIS软件 同其他Unix软件一样 吸引了多家联邦机构 大学和公司的参与研发 1988年时 GRASS3 0软件包的发行达1000余个 GRASS软件曾经三次获得美国联邦政府的有关奖项 目前广泛的在全球的政府 科研以及大学部门使用 最新的6 3 1版本的GRASS增加Sqlit数据库驱动 修改了包括r flow等40个左右的算法包 修正了若干的Bug 对最新的OGCWMS规范也有了很良好的支持 QGIS也是一个用户界面友好的地理信息系统 它目前能够很好得支持PostGIS空间数据库 最新0 8版本的QGIS开始增加对WMS的支持 同时改进了矢量数据和属性数据的编辑 增加了属性信息的搜索 最为重要的是其重构了QGIS的API库 方便用户可以进行二次开发 修改了矢量图层的透明和反锯齿 增强了矢量数据编辑 这包括复制 剪切 黏贴和节点捕捉等 在去年的版本中QGIS可以很好的支持GRASS的算法接口 成为了GRASS的一个重要的前端表现工具 为GRASS的发扬起到了很好的推动作用 2 GIS开源组件 GIS开源组件有基于微软COM技术倡导研发的GDAL OGR库 Proj4 OpenMap GEOS NTS JTS等 GDAL OGR类库目前是两个不同的组成模块 GDAL提供了一整套读写不同栅格数据格式功能的抽象类库 而OGR则是一个读写诸多矢量数据格式功能的抽象类库 目前GDAL支持达50多种栅格数据格式 几乎覆盖了所有的商业应用软件的格式 OGR已经支持包括著名的ESRIShapefiles ArcSDE及MapInfo OracleSpatial在内的诸多商业公司的矢量格式 数据是一切软件的血液 空间信息产业更是如此 海量数据在空间信息软件行业体现的最为明显 没有一套高效率的数据转换模型和类库很难完成异构数据的集成和融合 正是有了GDAL OGR 构建在其之上的各类空间信息软件项目才有了生命力 3 GIS开源服务器端 GIS开源WebGIS产品有MapGuide MapServer GeoServer Mapbender Ka map Chameleon quickWMS等 MapGuideOpenSource 以下简称MapGuideOS 是Autodesk在以MapGuide6 5为蓝本的基础上 在参考最新IT技术的基础上重新研发的大型网络空间信息平台 Autodesk目前已将包括FDO等技术的MapGuide源代码都贡献给了开源社区 在充分利用开源技术优势的同时 也促进了该项技术在全球范围内的广泛使用 MapGuideOS采用了标准的C 撰写内核 在高效的内核外 项目的开发人员又增加了对PHP NET Java三种不同语言的开发包 以适应不同类型程序员的需求 这非常符合当前混元IT架构的状况 MapGuideOS可以在保证增加一个API的基础上 对三套不同的开发类库均适用 4 GIS开源空间数据类库 开源空间数据库有PostGIS PostgreSQL MySQLSpatial Autodesk公司推出了类似于ODBC技术的FDO FeatureDataObject 技术 PostGIS为开源数据库PostgreSQL提供了空间支持 MySQLSpatial则在MySQL4 0上加入Spatial扩展功能 FDO可以快捷地访问大型关系数据库 还提供了更灵活的扩展性 更高的安全性 并能创建更完善的数据模型目前采纳FDO技术的产品包括AutodeskMap3D和MapGuideOpenSource系列 最新的FDO3 2版本支持包括ArcSDE MySQL ODBC SDF SHP WFS WMS GDAL等在内的多个数据源 这样 各类用户就能充分利用关系型数据库管理系统所带来的种种优势 毫无疑问 MapGuide FDO MySQL 是一个很好的开源空间信息解决方案 5 GIS开源程序派系分类 3 开源GIS软件应用 目前 开源GIS软件的主要用户是大学 科研机构和非政府组织支持的应用 Song基于MapServer开发了一个柬埔寨环境地图系统 能够管理各种比例尺矢量地图 MSSTM ETM影像以及土地利用图层 Jaroslav等采用GRASS实现了一种太阳辐射模型的集成应用 Cloudio等使用开源GIS在巴西开展了电子政务应用研究 C George等用开源MapWindow开发了一个联合国土壤和水资源评价工具 BasVan meulebrouk等在南非Cell Life非政府组织的支持下 利用开源GIS软件开展了HIV AIDS管理信息系统的研究 利用GIS辅助制订信息分发计划 管理HIV AIDS相关分布控制信息 AlessandroBezzi等采用开源GRASS在荷兰ITC支持下开展考古方面的研究 实现了模型建模及管理 LarsGunnar和TrondAndresen采用开源MapSe rver软件开展了地区健康管理GIS研究和开发实践 AndrewJ利用出版的卡特里娜飓风地图结合开源GIS软件研究死亡率与位置的关系 Autodesk公司支持很多研究机构开展基于开源MapGuide的网络空间信息服务方面的研究 NASA也支持一些开源的影像发布技术研究 如NASAWorldWind 国内利用开源GIS软件应用集中在一些行业部门 主要是利用开源GIS的地图制图 Web发布等功能 熊静用MapServer开发了一个遥感影像发布系统 郑斌等采用开源GeoTools平台设计与实现了一个城市基准地价信息发布系统 圣荣等研究了基于MapServer的网络空间信息共享系统 张大鹏等采用开源GeoServer开发了一个110指挥中心警情分析系统 杨朝晖等采用开源GeoServer和PostGIS实现了一个网络房地产估价系统设计 朱俊峰开展了基于SharpMap和NTS构建WebGIS的研究 黄冲研究了开源WebGIS的最短路径算法 冯宇等则用开源WebGIS设计了一个干线公路网用地控制系统 宋现锋进一步利用开源MapServer开展Flash地图的研究 吕德奎等系统研究了开源版MapGuide的应用模式 许文星等研究了一种基于开源NasaWorldWind的G S空间信息服务模式 并应用于九寨沟旅游信息发布系统 同时 国内的GIS公司也开始举办开源GIS研发大赛 围绕着开源GIS软件的应用越来越多 综合近年来国内外开源GIS软件的应用 可见 当前开源GIS的应用仍集中在大学 科研机构 一些行业用户也主要利用开源GIS进行WebGIS应用 开源WebGIS平台的应用较多 占开源GIS应用的80 以上 随着更多的行业用户对开源GIS的熟悉和认知以及开源GIS软件的进一步稳定可靠 开源GIS的应用将会越来越多 4 开源空间信息软件框架实例 空间数据库PostgreSQL PostGIS PostgreSQL是目前功能最强大 最先进的开源数据库管理系统对象关系数据库管理系统 ORDBMS 支持Windows Linux MacOS等所有主流操作系统 各种前端管理工具 pgadmin3 phppgadmin 各种语言的编程接口 PostgreSQL特性 SQL支持SQL2003标准超集 支持过程化SQL PL pgsql 和各种语言作为存储过程开发语言多种索引丰富的数据类型用户自定义的对象大量扩展模块 和空间信息处理有关的有 PostGIS和pgRouting PostgreSQL特性 编程和访问接口 自有的服务器编程接口 SPI ODBC JDBC Python的DB API管理工具 跨平台的图形化管理客户端pgadmin3 基于Web的Apache PHP环境的phppgadmin PostGIS 空间数据类型扩展 PostGIS是PostgreSQL的扩展 遵循OpenGIS规范 支持空间对象 空间索引 空间操作函数 基于空间对象库GEOS和空间投影库PROJ 4开发支持桌面GIS软件 GRASS QGIS uDig JUMP支持中间件服务器 MapServer GeoServer等支持开发库 GeoTools OGRESRIArcGIS9 3支持PostGIS空间数据类型 PostGIS特性 支持OpenGIS中所有空间数据类型POINT LINESTRING POLYGON MULTI POINT MULTI LINESTRING MULTI POLYGON GEOMETRYCOLLECTION支持采用WKT WKB和EWKT EWKB 包含了SRID信息的WKT WKB 表达几何对象 WebMapping MapServer OpenLayers MapServer是采用C开发的CGI程序 用于空间信息的Web发布和交互 开源软件高级绘图输出根据比例尺进行几何绘制 地图标注和标注避让 高度定制化的模板输出 TrueType字体支持 图面元素自动化生成 比例尺 参照图 图例 逻辑或正则表达式生成的专题图支持众多脚本和开发环境PHP Python Perl Ruby Java and NET MapServer特性 跨平台支持Linux Windows MacOSX Solaris等操作系统 支持众多OGC标准WMS WFS WCS GML等 支持众多矢量和栅格数据 GDAL支持的所有栅格格式 OGR支持的所有矢量格式 ESRIShapefile PostGIS ArcSDE OracleSpatial MySQL等等 地图投影支持 PROJ 4支持的一千多种投影的实时转换 OpenLayers OpenLayers是一个用于WebMapping客户端开发的Javascript包采用了Ajax技术实现无刷新动态页面 支持多种数据源的整合图像文件 WMS WFS GML KML GoogleMap YahooMap MicrosoftVirtualEarth WorldWind aMap GeoRSS MapServer MapGuide图层控制和缩放控制概览图 图面标记 开发库 GDAL OGR GDAL是一个操作各种栅格地理数据格式的库 包括读取 写入 转换 处理各种栅格数据格式 它使用单一的抽象数据模型支持大多数的栅格数据 OGR是操作矢量格式地理数据的库众多的GIS软件都使用GDAL OGR库 包括开源和商用软件 GDAL数据模型 GDAL抽象数据模型包括数据集 dataset 坐标系统 仿射地理坐标转换 AffineGeoTransform 大地控制点 GCPs 元数据 Metadata 栅格波段 RasterBand 颜色表 ColorTable 子数据集域 SubdatasetsDomain 图像结构域 Image StructureDomain XML域 XML Domains OGR体系结构 Geometry类包括OGRGeometry等类封装了OpenGIS的矢量数据模型 并提供了一些几何操作 WKB和WKT格式之间的相互转换 以及空间参考系统 投影 SpatialReference类OGRSpatialReference封装了投影和基准面的定义 Feature类OGRFeature封装了一个完整feature的定义 包括一个geometry和geometry的一系列属性 OGR体系结构 FeatureDefinition类OGRFeatureDefn里面封装了feature的属性 类型 名称及其默认的空间参考系统等 Layer类OGRLayer是一个抽象基类 表示数据源类OGRDataSource里面的一层要素 feature DataSource类OGRDataSource是一个抽象基类 表示含有OGRLayer对象的一个文件或一个数据库 Drivers类OGRSFDriver对应于每一个所支持的矢量文件格式 OGR数据模型 开发库 GEOS PROJ 4 GEOS是一个几何拓扑操作库 是JTS JTSTopologySuite 的C 移植支持空间关系判定 Equals Disjoint Intersects Touches Crosses Within Contains Overlaps和空间操作 Buffer ConvexHull Intersection Union Difference SymDifferencePROJ 4是地图投影库功能主要有经纬度坐标与地理坐标的转换 坐标系的转换 包括基准变换等PostGIS采用GEOS PROJ 4 桌面客户端QGIS QGIS是一个用户界面友好的桌面地理信息系统可运行在Linux Unix MacOSX和Windows等平台之上 基于跨平台的图形工具Qt软件包 采用C 语言开发 支持多种矢量 栅格和数据库数据源GDAL OGR PostGIS SpatiaLite WMS WFS丰富的显示 管理 分析 查询的功能 投影转换 图层控制 专题图 图面整饰 统计查询地图编辑 栅格数据配准 GPS工具通过GRASS插件和fTools插件实现丰富的空间分析功能除了核心功能以外 QGIS支持插件扩展 QGIS插件 核心插件 CorePlugins 由QGIS开发组维护 包含在所有的QGIS发行版中 开发语言为C 或Python QGIS插件开发 开发环境QGIS Python QT PyQT PyQT开发工具采用PyQT开发图形界面与QGIS界面和功能组件交互由插件管理器装入插件的图形界面与用户进行交互 开源GIS套件 GRASSGIS GRASSGIS GeographicResourcesAnalysisSupportSystem地理资源分析支持系统 GRASS最初被美军建筑工程研究实验室设计为一个军用的土地管理支持软件 该系统于1999年使用GNUGPL发布 距今已有24年的历史 1985 v1 0 1990 v4 x版 现在是v6 5版本 GRASS是在Linux系统开发的基于GPL协议的一个开源软件 具备数据管理 图像处理 数字制图 空间建模和数据可视化等功能 它是用标准C语言编写的一套基于文件结构的平台 GRASS将地理数据和属性数据存储在自身的数据库中 也支持外部数据库如Oracle数据库 PostgreSQL 开源GIS套件 GRASSGIS 目前GRASS已经覆盖了大多数GIS操作函数 超过300个经典的算法 是开源版的ArcGIS是Unix平台的第一个GIS软件 支持平台Linux Windows 通过Cygwin GRASS支持的功能 数据导入 导出 二维栅格数据 三维栅格数据 真三维 矢量数据 目前已扩展到三维 空间分析 地图成图 数据可视化 二维 2 5维和三维 地理空间分析是GRASSGIS的主要的强项之一 GRASSGIS 主要模块及功能 栅格分析模块具有栅格向矢量转换 基于栅格单元与定制的数据查询 颜色表修改 矢量与点数据格式转换 专家系统分析 点的插值 相邻关系矩阵分析 栅格叠加 栅格单元的重新划分 重采样 单元值比例缩放 单元统计分析 基于矢量线的表面生成等功能 矢量分析模块具有等高线生成 矢量向栅格或点数据转换 数字化 矢量动态标注 矢量层的叠加等功能 点数据分析模块具有Delaunay三角剖分 高程点插值 泰森多边形生成 地形图分析 包括坡度 坡向等 等功能 图像处理模块 具有色彩合成 边缘检测 频率过滤 傅立叶变换和反变换 IHS到RGB的转换和反转换 图像校正 正射影像校正 辐射线改正 重采样 分辨率增强 基于纹

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论