《开源GIS》教案新部编本 1 开源GIS概述.docx
《《开源GIS》教案新部编本 1 开源GIS概述.docx》由会员分享,可在线阅读,更多相关《《开源GIS》教案新部编本 1 开源GIS概述.docx(25页珍藏版)》请在冰点文库上搜索。
《开源GIS》教案新部编本1开源GIS概述
教师学科教案
[20–20学年度第__学期]
任教学科:
_____________
任教年级:
_____________
任教老师:
_____________
xx市实验学校
地理信息与旅游学院地理信息教研室
课程教案
课程名称:
开源GIS
授课教师:
刘东良
授课对象:
2009级地理信息系统
授课时间:
2012年9月-2012月12月
地理信息与旅游学院制
2008年8月
一、学生情况分析
2009级地理信息系统专业开发方向,其中2009地信24人,20091国土25人,共49人。
GIS开发方向的同学具有较全面扎实的专业知识、较强的计算机编程开发能力,为学习《开源GIS》课程的提供了保障。
但大四学生面临就业和考研等问题和压力,可能会影响该课程的正常学习。
二、课程教学目标
通过学习《开源GIS》课程,了解和掌握GIS的底层开发技术、最流行的实用技术以及最新的前沿技术。
通过实验和课程设计,使学生重点掌握空间数据库的特性,海量数据的索引,数据库集群架设和使用;桌面GIS和WebGIS的设计和功能扩展;移动GIS的应用。
特别是,掌握已有的开源GIS函数库、类库以及实用工具的使用,为创新性设计和扩展式开发提供学习和借鉴的案例。
三、课程教学内容
第一章开源GIS概述(2X2学时)
主要内容:
开源软件:
软件版权和许可证及成熟度评估;开源开发;开源GIS:
开源GIS概念、组织、安装、使用方式;开源GIS课程内容。
本章重点:
开源软件、开源开发、开源GIS。
本章难点:
无。
第二章开源空间数据库(6X2学时)
主要内容:
开源空间数据PostgreSQL/PostGIS以及SpatialSQLite。
重点介绍PG的空间数据模型、空间操作、空间分析等基础知识,PG通用索引模板GiST、集群等高级内容,以及PostgreSQL的体系结构、PG服务器端和客户端不同平台、不同语言、不同技术的开发应用。
本章重点:
PostGIS的空间特性及应用。
本章难点:
GiST、集群和PG数据库编程开发。
第三章开源桌面GIS(6X2学时)
主要内容:
重点介绍GRASS、QGIS、gvSIG等开源桌面GIS项目;掌握GRASS的矢量、栅格、影像、多维、数据库空间分析模块的典型应用及源码解析;掌握QGIS的链接PG和GRASS的操作、导出Map文件功能以及插件扩展技术机制;掌握gvSIG的扩展机制和移动端同步模块的应用。
本章重点:
桌面GIS的空间分析的使用流程、扩展开发和对应的源码分析。
本章难点:
开源桌面GIS的扩展开发。
第四章开源WebGIS(6X2学时)
主要内容:
CGI模式的WebGIS、pyWPS项目发布GRASS功能、GeoServer和MapServer地图和GIS服务器使用等内容;掌握GIS服务器GeoServer和MapServer的安装、配置、定制以及缓存和开发应用。
本章重点:
GIS服务器GeoServer和MapServer的开发应用。
本章难点:
CGI模式和pyWPS项目开发应用。
第五章开源移动GIS(4学时)
主要内容:
掌握gvSIG项目和Mobile同步扩展模块的使用,创建适合移动终端使用的GIS数据,掌握移动GIS的基本功能和模块开发。
本章重点:
移动GIS的基本应用。
本章难点:
移动GIS的功能开发。
第六章课程设计(10X2学时)
主要内容:
针对《开源GIS》课程内容,开源GIS函数库、类库;开源空间数据库PG;开源桌面GIS:
GRASSGIS、QGIS、gvSIG等;开源WebGIS:
GeoServer、MapServer及其应用项目,GeoMoose;开源移动GIS,gvSIGMobile的各种终端应用等等方面,命题课程设计。
本章重点:
开源GIS课程设计选题、选型和设计。
本章难点:
课程设计的开源开发。
第一讲:
开源GIS概述
一、教学目标
1.了解开源软件:
软件版权和许可证及成熟度评估;开源开发方法。
2.掌握开源GIS:
开源GIS概念、组织、安装、使用方式;开源GIS内容。
二、重点与难点分析
1.重点:
开源GIS。
2.难点:
无。
三、教学内容与教学过程
1自我介绍
姓名,联系方式,专业方向。
建议学生用QQ或电子邮件方式联系。
2课程简介
介绍课程的学习目标、参考书及资料、课程教学目标和内容框架、学习方法、作业与实验、考核方式、上课时间与地点等情况,实验和课程设计的安排。
强调本课程与相关课程的关系以及涉及到的GIS最新前沿技术。
[教学提示]:
考核方式为平时占10%,实验占40%,课程设计占50%。
3解释名词
3.1自由软件运动:
是一个推广用户有使用、复制、研究、修改和分发软件等权利的社会运动。
理查德·斯托曼(RichardMatthewStallman)是该运动的主要发起人以及精神领袖。
3.2左版权Copyleft:
是一由自由软件运动所发展的概念,是一种利用现有著作权体制来挑战该体制的授权方式,在自由软件许可证方式中增加copyleft条款之后,该自由软件除了允许使用者自由使用、散布、改作之外,copyleft条款更要求使用者改作后的衍生作品必须要以同等的授权方式释出以回馈社群。
3.3通用公共许可证GPL:
GNU通用公共许可协议(英语:
GNUGeneralPublicLicense,简称GNUGPL或GPL),是一个广泛被使用的自由软件许可证条款,最初由理查德·斯托曼为GNU计划而撰写。
此许可证最新版本为“第3版”(v3),2007年6月29日发布。
GNU宽通用公共许可证(英语:
GNULesserGeneralPublicLicense,一般简称LGPL)是改自GPL的另一个版本,其目的是为了应用于一些软件库。
GPL给予了电脑程序自由软件的定义,并且使用“Copyleft”来确保程序的自由被完善的保留。
通用公共许可证条款
0、定义
1、原始码
2、基本许可
3、保护用户的法律权利不受反规避法侵犯
4、发布完整副本
5、发布修改过的原始版本
6.发布非原始形式的副本
7.附加条款
8.终止授权
9.获取副本不需要接受本授权
10.下游接收者的自动授权
11.专利权
12.不要放弃别人的自由
13.和GNUAffero通用公共授权一起使用
14.本授权的修订版
15.免责申明
16.责任范围
17.第15和16节的解释
3.4免费软件freeware:
是一种不须付费就可取得的软件,但是通常有其他的限制,使用者并没有使用、复制、研究、修改和分发的自由。
该软件的源代码不一定会公开,开放的源代码会限制复制及再发行的自由。
[教学提示]:
自由软件与其它软件的异同。
3.5自由软件四个自由:
自由软件基金会(FSF)对自由软件的定义首次于1989年发表。
这份定义后来被布鲁斯·裴伦斯(BrucePerens)改写为《Debian自由软件指导方针(DFSG)》。
根据自由软件基金会的定义,自由软件(FreeSoftware)是一种可以不受限制地自由使用、复制、研究、修改和分发的软件。
自由软件所指称的软件,其使用者有使用、复制、散布、研究、改写、再利用该软件的自由。
更精确地说,自由软件赋予使用者四种自由:
自由之零:
不论目的为何,有使用该软件的自由
自由之一:
有研究该软件如何运作的自由,并且得以改写该软件来符合使用者自身的需求。
取得该软件之源码为达成此目的之前提。
自由之二:
有重新散布该软件的自由,所以每个人都可以藉由散布自由软件来敦亲睦邻。
自由之三:
有改善再利用该软件的自由,并且可以发表改写版供公众使用,如此一来,整个社群都可以受惠。
如前项,取得该软件之源码为达成此目的之前提。
3.6开源软件OpenSourceSoftware:
OSS,也称:
开放源代码软件,是一种源代码可以任意获取的计算机软件,这种软件的版权持有人在软件协议的规定之下保留一部分权利并允许用户学习、修改、增进提高这款软件的质量。
开源协议通常符合开放源代码的定义的要求。
一些开源软件被发布到公有领域。
开源软件常被公开和合作地开发。
开源软件是开放源代码开发的最常见的例子,也经常与用户生成内容做比较。
开源软件的英文“OSS”一词出自(自由软件)的营销活动中。
3.7开放源代码促进会OpenSourceInitiative:
OSI:
是一个旨在推动开源软件发展的非盈利组织。
埃里克·斯蒂芬·雷蒙(EricStevenRaymond)是《大教堂与市集》的作者、《新黑客词典》的维护人、著名黑客。
作为《新黑客词典》的主要编撰人以及维护者,EricRaymond很早就被认为是黑客文化的历史学家以及人类学家。
但是在1997年以后,EricRaymond被广泛公认为是开放源代码运动的主要领导者之一,并且是最为大众所知道(并最具争议性)的黑客。
3.8开放源代码的定义
开放源代码的定义由BrucePerens(曾是Debian的创始人之一)定义如下:
1.自由再散布(FreeDistribution):
允许获得源代码的人可自由再将此源代码散布。
2.源代码(SourceCode):
程式的可执行档在散布时,必需以随附完整源代码或是可让人方便的事后取得源代码。
3.衍生著作(DerivedWorks):
让人可依此源代码修改后,在依照同一授权条款的情形下再散布。
4.原创作者程式源代码的完整性(IntegrityofTheAuthor’sSourceCode):
意即修改后的版本,需以不同的版本号码以与原始的程式码做分别,保障原始的程式码完整性。
5.不得对任何人或团体有差别待遇(NoDiscriminationAgainstPersonsorGroups):
开放源代码软件不得因性别、团体、国家、族群等设定限制,但若是因为法律规定的情形则为例外(如:
美国政府限制高加密软件的出口)。
6.对程式在任何领域内的利用不得有差别待遇(NoDiscriminationAgainstFieldsofEndeavor):
意即不得限制商业使用。
7.散布授权条款(DistributionofLicense):
若软件再散布,必需以同一条款散布之。
8.授权条款不得专属于特定产品(LicenseMustNotBeSpecifictoaProduct):
若多个程式组合成一套软件,则当某一开放源代码的程式单独散布时,也必需要符合开放源代码的条件。
9.授权条款不得限制其他软件(LicenseMustNotRestrictOtherSoftware):
当某一开放源代码软件与其他非开放源代码软件一起散布时(例如放在同一光碟片),不得限制其他软件的授权条件也要遵照开放源代码的授权。
10.授权条款必须技术中立(LicenseMustBeTechnology-Neutral):
意即授权条款不得限制为电子格式才有效,若是纸本的授权条款也应视为有效。
完整定义参考官网http:
//www.opensource.org/。
3.9开放源代码与自由软件相同
许多人将开放源代码与自由软件视为相同,但若以定义条件而言,自由软件仅是开放源代码的一种,也就是自由软件的定义较开放源代码更为严格,并非开放源代码的软件就可称为自由软件,要视该软件的授权条件是否合乎自由软件基金会对自由软件所下的定义。
3.10开放源代码与自由软件差异
形式上的差异:
开放源代码软件与自由软件是两个不同的概念,只要符合开源软件定义的软件就能被称为开放源代码软件。
自由软件是一个比开源软件更严格的概念,因此所有自由软件都是开放源代码的,但不是所有的开源软件都能被称为“自由”。
但在现实上,绝大多数开源软件也都符合自由软件的定义。
比如,遵守GPL和BSD许可的软件都是开放的并且是自由的。
开放源代码的规定较宽松,而自由软件的规定较严苛。
很多的开放源代码所认可的授权根本不算是自由软件,所以自由软件不得不和开放源代码划清界线了。
两者内涵的差异:
开放源代码作用是尽可能的使软件最优化;自由软件则将自由作为道德标准。
如果说“自由软件”会引起误解,(因为英文“Free”一词有“自由”、“免费”的双重含意),那么“开放源代码”的名字会引起的误解则更多。
开放源代码很容易让人以为只要把源代码“公开”出来就算是开放源代码了,但是如果用户无法自由运用这些源代码,那么即使公开源代码也没有意义。
有的软件公司只是为了想找用户帮它debug、吸收社区贡献的功能,这样子会破坏了自由软件的原意。
自由软件的原意就是要给予用户运用软件的自由,这个‘自由’就是自由软件的精神所在。
但是为了商业化开放源代码却故意忽略了这个最重要的精神,反而无法让用户体认到‘自由’的真意,那么开放源代码这一个替代自由软件的辞句反而把自由的原意除去了。
开放源代码没有抓住自由软件的真正涵义。
前者着重软件改进,后者是一种精神,力主开放源代码是道德问题。
3.11自由及开源软件FOSS
自2001年起,联合国教科文组织正式启用“FreeandOpenSourceSoftware”(简称“FOSS”)官方术语,在观念上前进了一大步,避开了一些哲学争执。
“FOSS”的中译文是“自由及开源软件”。
我们认为,“FOSS”术语的启用是科学的、准确的、令人不致发生误解。
3.12自由及开源地理空间软件FOSS4G
06年,FOSS4G(FreeandOpenSourceSoftwareforGeospatial)会议是以开源地理信息为主题的年度盛会,由开源地理信息系统基金会OSGeo承办,并由诸多业内知名的公司赞助。
历次会议上,地理信息项目的开发者和使用者将聚集在一起,分享新成果和开发使用的最佳实践。
FOSS4G的组成形式多样,有主题发言、专题讨论、动手实验、学院派讲座、技术参观和同类人聚会(BOF)等不同的形式。
在2008年会与已经列出的日程上,可以看到众多有趣开源项目的讲座主题预告。
包括基于Python的WebGIS开发框架GeoDjango、52North的Geoprocessing规范实现、当然也不会少了MapServer、GeoServer、GRASS、PostGIS、OpenLayers、uDig这些开源GIS主力中坚的身影
FOSS4G一直聚集着当前最受关注的GIS项目,很多具有前瞻性的讲座将预示着来年这些开源项目的发展方向。
同时,大会的举办地点也是设定在世界上诸多的知名城市,06年FOSS4G会议在瑞士洛桑举办,07年移师到加拿大美丽的港口维多利亚,08年是南非第二大城市开普敦,09年澳大利亚悉尼,10年西班牙巴塞罗那,11年美国丹佛。
3.13开源空间信息基金会(OpenSourceGeospatialFoundation,简称OSGeo)是一个全球性非营利性组织,目标是支持全球性的合作,建立和推广高品质的空间信息开源软件。
OSGeo中国中心是由国家遥感中心发起、Autodesk中国有限公司协助,经OSGeo正式授权的非营利性组织。
中心依托在国家遥感中心,与OSGeo理事会紧密合作。
OSGeo中国中心的使命是支持开源地理信息软件和遥感软件的开发以及推动其更广泛的应用,尤其是帮助中国地区的用户和开发者更好地使用OSGeo基金会提供的源代码、产品及服务。
OSGeo中国中心门户,将提供本地用户感兴趣的信息,如会议、活动、分支机构、论文提交、网上学习、辅导、报告、自由开源空间数据集等。
3.14SolKatz奖:
地理空间信息研究领域自由开源软件业的SolKatz奖:
是OSGeo基金会(OpenSourceGeospatialFundation)每年为那些GFOSS研究领域的领军人物颁发的奖项。
获得该奖项的人都是为地理空间开源领域的发展做出突出贡献的。
该奖项的设立的目的是对多年以来在该领域辛勤工作的人们的认可,同时也表达了对其创始人尊敬。
4开源运营模式
FOSS可以自由使用,任意传播,但是,FOSS的物理转移与使用担保可以收取一定费用。
FOSS应用的支持服务自然要收费。
但是,具体地说,利用FOSS,如何“经营”?
对于FOSS产品,一不能销售,二不能定购,那么,如何是好?
Ubuntu的商务模式值得我们参考和借鉴。
Ubuntu的商务模式是采用打分(Points)制。
4.1OpenSource+Service模式
在这种模式中,开放源代码软件采用了一种全新的市场定位,并非面向产品,而是针对技术服务,公司围绕开源软件销售技术支持和专业服务。
Compiere(ERP),JBoss(middleware),RedHat(Linux)就是这种模式的典型代表。
JBoss应用服务器完全免费,而通过提供技术文档、书籍、培训、二次开发支持等技术服务而获得收入。
4.2OpenSource+Hardware模式
随着竞争的普及,市场压力迫使硬件公司开发并维护软件,但是自身开发和维护软件的成本很高,因此他们采用开源软件,使开源软件成为他们硬件产品的基础软件。
这种模式为大型公司广泛采纳,比如IBM、HP、Cisco等。
另外,嵌入式领域也大量使用开源软件减低开发成本,加快产品上市速度,如Motorola、Samsung使用嵌入式Linux作为其部分智能手机的操作系统。
4.3OpenSource+Aggregation(聚合)模式
开源软件普遍存在安装困难,文档不全,升级频繁,难以集成等问题,针对这些问题,有企业组装各种开源软件,形成一个集成的功能单元,使客户获得“开箱即用”的能力,以降低企业在应用开源软件方面的门槛。
这是开源商业化模式里进入门槛最低的一个。
典型代表有Exadel、Navica、SourceLabs和SpikeSource。
SpikeSource通过保持与各开源社区的友好关系,及时掌握各种开源软件的补丁和升级信息,处理各种开源软件的耦合问题,提供集成的开源解决方案。
4.4Mixed模式
在这种模式中,开源软件只实现了一些基础功能,而对于一些额外功能或部件进行收费。
利用开源软件为专有部件来创造或维持一种市场地位。
借用开源版本带动商业许可版本的产品销售。
比较典型的有Sourcefire(安全行业)、SugarCRM。
SugarCRM是CRM领域的新星,它使用开放源代码模式使SugarCRM能够定期地获得用户的反馈,使得SugarCRM无需像传统企业软件厂商那样在销售和营销上投入巨额资金,就迅速占领了一席之地。
除此之外,还有“双授权”,“软件租赁”等其它一些开源模式,另外,很多公司不是使用某一种模式,而是综合采用几种模式。
虽然现在已经有很多开源商业的成功案例,但开源的商业模式仍然处于一个探索发现阶段,还有些问题需要解决。
比如开源软件的知识产权如何进行进行保护和管理?
如何平衡知识产权的保护和使用?
参与开源项目是很多时候是个人的自发行为,如何能够保证吸引足够多的参与者和开发者?
4.5开源与闭源软件比较及实用案例(超图)
SuperMapGIS产品最终用户许可协议
1定义
本协议书中的“软件”是指包含于软件包装中介质内的所有计算机程序,以及今后北京超图软件股份有限公司提供的任何更新或再版的计算机程序。
“软件拷贝”指对软件的全部或任一部分的拷贝,包括本协议允许或北京超图软件股份有限公司在今后提供的备份、更新或再版的拷贝。
“数据”是指由该软件包提供并受软件操纵使用的非软件性信息。
“数据拷贝”指对数据的全部或任一部分的拷贝,包括本协议允许或北京超图软件股份有限公司在今后提供的备份、更新或再版的拷贝。
“相关材料’指本包装中所有印刷物和所有北京超图软件股份有限公司为使用软件在今后提供的非软件、非数据物品。
“许可”指对使用和维护软件,软件复制、数据、数据复制和相关材料授予有限的权利。
北京超图软件股份有限公司并未售给最终用户软件和数据的所有权(所有权为北京超图软件股份有限公司所有)。
北京超图软件股份有限公司特别保留对所有北京超图软件股份有限公司软件、数据、及相关材料的所有权,及北京超图软件股份有限公司授权人保留其拥有物件的所有权。
2限制
您不可以:
a、在上述许可之外,对软件、数据进行翻译、修改、整理或其它任何方式的变更(就法律的适用性而言。
每一种方式都将成为北京超图软件股份有限公司或其它版权者的财产),以及在上述许可之外制作拷贝。
b、制作相关材料的拷贝。
c、使用SuperMapGIS产品读取或者解译其它所有权产品,除非您对此拥有合法权利。
d、在任何时候让超过您所购买使用权数目的使用者同时使用本软件。
e、出租、租借、再授权,分时使用或转让他人使用软件、复制软件、数据、复制数据、相关材料或您在此授权下的权力。
f、对软件进行更改、翻译(除非在某一限定范围内授权者允许翻译,但这必须是唯一达成与其他软件交互操作时的途径,且在此情况下,任何衍生的信息不能用于开发、制作、或销售其它非常近似于北京超图软件股份有限公司产品的软件)、反汇编或反向工程。
g、以任何方式去解开或跳过本软件所用的启动系统或密码保护技术。
h、更改,删除或遮盖任何在软件、数据或相关材料上或内含的专利图标、版权说明或商标。
非su开头的30个dll:
Gdal16.dll、Sqlite3.dll、zlib1.dll等。
GDAL-GeospatialDataAbstractionLibrary:
GDAL是一个转换各种栅格数据格式的库。
包括读取、写入、转换、处理各种栅格数据格式(有些特定的格式对一些操作如写入等不支持)。
它使用了一个单一的抽象数据模型就支持了大多数的栅格数据。
还同时包括了操作矢量数据的另一个有名的库ogr(转换矢量GIS数据),这样这个库就同时具备了操作栅格和矢量数据的能力。
GDAL支持:
128种,OGR支持:
47种。
X11/ MIT许可。
MIT许可协议之名源自麻省理工学院(MassachusettsInstituteofTechnology,MIT),又称“X许可协议”(XLicense)或“X11许可协议”(X11License)
MIT内容与三条款BSD许可协议(3-clauseBSDlicense)内容颇为近似,但是赋予软件被授权人更大的权利与更少的限制。
被授权人有权利使用、复制、修改、合并、出版发行、散布、再授权及贩售软件及软件的副本。
被授权人可根据程式的需要修改许可协议为适当的内容。
在软件和软件的所有副本中都必须包含版权声明和许可声明。
此许可协议并非属copyleft的自由软件许可证条款,允许在自由及开放源代码软件或非自由软件(proprietarysoftware)所使用。
MIT的内容可依照程式著作权者的需求更改内容。
此亦为MIT与BSD(TheBSDlicense,3-clauseBSDlicense)本质上不同处。
MIT许可协议可与其他许可协议并存。
另外,MIT条款也是自由软件基金会(FSF)所认可的自由软件许可证条款,与GPL相容。
[教学提示]:
讨论许可与知识产权/著作权的关系?
5开源开发
开源开发(OpenSourceDevelopment)
开源开发是开放源码的软件(或类似的软件,其源代码是公开的)的开发过程。
这些软件产品