中级应用能力考试小测验:GIS应用开发基础

mbti 0 13

GIS应用能力考试知识点小测验今天继续!

根据初、中级考试范围

我们按章节挑选了一些知识点,并通过小测验的形式启发大家思考

(测验形式:基本概念考查+知识点梳理+例题)

每周将与考生分享几个知识点和测验题

每篇拿出10分钟的时间来进行阅读思考

查漏补缺,发现有不会的快快翻阅参考书重点学习

距离考试还有25天

相信坚持学习的你肯定没问题!

今天开始我们的 中级考试 第六章的测验: GIS应用开发基础,上一章测验没赶上?没关系戳这里Web GIS管理和发布(一) 、Web GIS管理和发布(二)

知识点小测验1

地理信息系统开发步骤是怎样的?你了解地理信息系统软件平台开发吗?

一、基本概念:

1. 地理信息系统开发步骤

地理信息系统开发步骤可以分为四个主要部分:

(1)前期准备:立项、调研,可行性分析、用户需求分析;

(2)系统设计:总体设计、标准集的产生、系统详细设计、数据库设计;

(3)施工:软件开发、建库、组装、试运行、诊断;

(4)运行:系统交付使用和更新。

概念来源+图源:《地理信息系统导论》/陈述彭,鲁学军,周成虎编著,北京: 科学出版社

2. 地理信息系统软件平台开发

(1)地理信息系统软件平台构成

一个大型实用化地理信息系统的外壳由若干个技术部分组成:空间数据库管理系统、属性数据库管理系统、模型库管理系统、知识库管理系统等。

(2)地理信息系统软件平台开发方案

1)全部自行开发:根据系统需要的功能,编写所有的程序。用这种方式建立的系统外壳,其各组成部分之间的联系最为紧密、综合程度和操作效率最高。这是因为程序员可以对程序的各个方面进行总体控制。但由于地理信息系统的复杂性,工作量是十分庞大的,开发周期长,并且其稳定性和可靠性难以保证。地理信息系统发展初期一般采用这种方案,但目前地理信息系统的开发已很少采用这种方案。

2)全部利用现有软件:目前﹐商业化的地理信息系统通用软件和DBMS已经很成熟,模型库管理系统还在发展中,但模型分析软件包很多。编写接口程序把购买的现有软件结合起来,建成系统外壳。用这种方式开发系统外壳的周期短,工作量小,系统的稳定性和可靠性高。用户可以把精力集中在特定的专业应用上。缺点是结构松散,系统显得有些臃肿,操作效率和系统功能利用率较低。这种方案目前采用的较多。

3)部分自行开发:购买部分软件,自行开发部分软件,来建设系统外壳。这种方案又分为两种情况,其一,购买地理信息系统通用软件和DBMS软件,编写专业分析模型软件和接口软件,开发模型库管理信息系统;其二,利用软件商提供的地理信息系统开发工具,如SDE(ESRI提供),以及应用接口工具API,结合其它开发工具进行开发。前者在目前的大型实用地理信息系统开发中较多采用。后者在目前可用来开发小型实用性地理信息系统。

概念来源+图源:《地理信息系统导论》/陈述彭,鲁学军,周成虎编著,北京: 科学出版社

3. 地理信息系统应用软件间的综合方式

(1)基于数据交换的简单综合方式:地理信息系统和模型是两个完全分开的系统,二者的用户界面一般是分开的,但共享数据库和数据文件。地理信息系统与模型系统之间的联系只有数据交换,即地理信息系统预处理的数据作为模型系统的输入,而模型分析的输出数据用地理信息系统来显示。这是一种最通用的方法,因为利用现有的软件只需作较少的修改,只要文件格式和输入输出一致就可以。通常是模型作必要的修改,以适应地理信息系统的格式。

(2)基于相同数据结构的紧密连接方式:这种方式提供公共的接口和透明的文件,组分之间信息可以共享或转换。有三种方法可以用来实现这一目标:1)使用由地理信息系统软件提供的一种较高级应用语言或应用产生器;2)使用具有标准接口的开放地理信息系统工具箱;3)使用do-it-yourself工具箱,它不仅提供特定的地理信息系统功能,而且提供模拟模型的接口。

(3)基于组件方式的高度综合:数据获取、数据处理和交互分析功能分别支持具有不同任务的不同用户,这种分层功能概念导致内嵌的地理信息系统功能的产生,例如,地图(和模型输出)显示包括相关的动态模型和模型分析。这种局部镶嵌具有很高的灵活性和可操作性。更高水平的综合将是以下两种方法的合并:模型成为一个地理信息系统的一部分功能;地理信息系统为模型生产和操作参数、输入和阐述变量、构造输出模式、提供附加输出选项,不过,这需要工具充分模块化。显然,这种最好综合形式的开发代价是最高。

概念来源+图源:《地理信息系统导论》/陈述彭,鲁学军,周成虎编著,北京: 科学出版社

-思考一下(然后再偷看),点击查看基本概念-

参考例题(单选):

以下不属于常用GIS开发架构或平台的是( )

A. GeoTools

B. gvSIG

C. GeoPandas

D. QGIS

答案:C

选项C:GeoPandas是一个开源项目,它扩展了Pandas中使用的数据类型DataFrame,允许对几何类型进行空间操作。GeoPandas的目标是使在python中使用地理空间数据更容易。它结合了Pandas和Shapely的能力,提供了Pandas的地理空间操作和多种Shapely的高级接口。GeoPandas可以轻松地在python中进行操作,否则将需要空间数据库,如PostGIS。

选项A、B、D属于常用GIS开发架构或平台,故不选。

-点击查看案与解析-

知识点小测验2

Python基础知识初步

一、基本概念

中级应用能力考试小测验:GIS应用开发基础

1. 数据类型与数据结构

Python支持多种数据类型,包括字符串、数字、列表、元组、字典等。不同类型的数据可以存储不同类型的值,并进行不同类型的操作。其中,字符串是由一个或多个字符组成,这些字符可以是字母、数字或者其他类型的字符;数字可分为整数和浮点数两种;列表、元组和字典是较为复杂的数据类型,它们都是由一组数据元素构成的。

除了支持多种数据类型之外,Python也支持多种数据结构。Python中最基本的数据结构是序列,序列中的每一个元素都有一个索引值。字符串、列表、元组都是序列。由于不同类型的序列具有相同的数据结构,所以可以对不同类型的序列执行同一种操作。

字符串、数字和数组是不可变的数据类型,即不能单独修改数据元素的值。列表和字典是可变的数据类型,可以对它们的数据元素进行修改。

概念来源:《面向ArcGIS的Python脚本编程》/[美] Paul A.Zandbergen 著,李明巨,刘昱君,陶旸,张磊译,人民邮电出版社

2. 变量及其命名规则

Python脚本使用变量存储信息。每一个变量都有一个变量名。一个变量名代表一个变量值。例如,如果想用一个变量x表示数字17,则需要在Python中输入如下代码:

这是一个赋值语句,它的功能是将数字17赋给变量x。变量只有被赋值后,才能在表达式中使用。例如:

这个例子表明在使用变量前需要给这个变量进行赋值,所以将数字17赋给变量x的赋值语句x = 17要在x * 2的前面。

变量命名的一些规则:

(1)变量名可以由字母、数字、下划线组成。

(2)变量名不能以数字开头,所以 var1是一个合法的变量名,但是1var就是一个非法的变量名。

(3)Python的关键字不能用作变量名,如print和import。

概念来源:《面向ArcGIS的Python脚本编程》/[美] Paul A.Zandbergen 著,李明巨,刘昱君,陶旸,张磊译,人民邮电出版社

3. 语句和表达式

Python的语句和表达式可以用来处理各种变量。

一个表达式就代表一个值,例如2*17是一个表达式,它代表数字34。简单的表达式是由运算符和操作数构成。复杂的表达式是由几个简单的表达式构成。表达式中也可以有多个变量。

语句可以理解为操作指令,它指示电脑进行何种操作。这些指令包括给变量赋值、在屏幕上输出结果以及导入模块等。

示例1:

在本例中2 * 17是一个表达式,它表示数值34,并自动输出到交互式编译器的窗口里。

示例2:

这里的x=2 * 17是一个语句,通过这个语句,可以给变量x赋值,但是这个语句本身并不是一个值。这是由语句的性质决定的。它只能表示一种操作,而不能表示一个值。因此,在上面的例子中,Python编译器不会自动输出结果,需要使用print语句。

【概念来源:《面向ArcGIS的Python脚本编程》/[美] Paul A.Zandbergen 著,李明巨,刘昱君,陶旸,张磊译,人民邮电出版社】

4. ArcPy站点包

ArcPy站点包由各种模块、函数、工具和类组成,使用Python中的ArcPy站点包可以访问ArcGIS的地理处理功能。在使用ArcPy之前,需要先导入ArcPy站点包。因此,在常见的地理处理脚本中,第一行代码会是:

在导入ArcPy之后,可以运行ArcGIS标准工具箱中的所有地理处理工具。

ArcPy包含很多模块,其中有两个专业模块,分别是自动化制图模块(arcpy.mapping)和地图代数模块(arcpy.sa)。可以使用以下语句导入这些模块:

当导入ArcPy或者其中的某个专业模块后,就可以使用该模块中的函数和类。

概念来源:《面向ArcGIS的Python脚本编程》/[美] Paul A.Zandbergen 著,李明巨,刘昱君,陶旸,张磊译,人民邮电出版社

-思考一下(然后再偷看),点击查看基本概念-

参考例题(单选):

ArcPy可以访问ArcGIS for Desktop中的地理处理工具。下面一段是运行Buffer工具的代码:

如果想指定可选参数dissolve_field,并且跳过其他可选参数。下述几种解决方法中,不能达到目的的是( )

A.

B.

C.

D.

答案:D

想要指定可选参数dissolve_field,并且跳过其他可选参数,有以下几种不同的解决方法:

(1)将可选参数设置为空字符串(””)或井号(“#”)

(2)明确指定要使用的参数名称及参数值

Buffer工具有三个必选参数,四个可选参数。为了指定可选择参数“dissolve_field”,需要跳过两个可选参数。选项A、B、C正确。

-点击查看参考答案与解析-

知识点小测验3

JAVA基础知识初步

一、基本概念

1. Java主类结构

Java语言是面向对象的程序设计语言,Java程序的基本组成单元就是类,类体中又可包括属性与方法两部分。而每一个应用程序都必须包含一个main方法,含有main方法的类称之为主类。

(1)编写主方法

main方法是类体中的主方法。该方法从“{”号开始,至“}”号结束。public、static、void分别是main方法的权限修饰符、静态修饰符、返回值修饰符,Java程序中的main方法必须声明为public static void。String[] args是一个字符串类型的数组,它是main方法的参数。main方法是程序开始执行的位置。

(2)导入API类库

在Java语言中可以通过import关键字导入相关的类。在JDK的API中(应用程序接口)提供了130多个包,如java.awt、java.io等。可以通过JDK的API文档来查看这些类。在API文档中主要包括类的继承结构、类的应用、成员变量表、构造方法表等,并对每个变量使用目的作了详细的描述,API文档为程序开发人员不可或缺的工具。

【注:Java语言是严格区分大小写的。例如,不能将关键字class等同于Class】

概念来源:《Java从入门到精通》/李钟尉,马文强,陈丹丹等编著,北京:清华大学出版社

2. 基本数据类型、标识符和关键字

(1)基本数据类型

在Java中有8种基本数据类型来存储数值、字符和布尔值。

Java基本数据类型

(2)标识符

标识符可以简单地理解为一个名字,用来标识类名、变量名、方法名、数组名、文件名的有效字符序列。

Java语言规定标识符由任意顺序的字母、下划线(_)、美元符号($)和数字组成,并且第一个字符不能是数字。标识符不能是Java中的保留关键字。

下面是合法标识符:

下面是非法标识符:

在Java语言中标识符中的字母是严格区分大小写的,如good和Good是不同的两个标识符。

(3)关键字

关键字是Java语言中已经被赋予特定意义的一些单词,不可以把这些字作为标识符来使用。

概念来源+图源:《Java从入门到精通》/李钟尉,马文强,陈丹丹等编著,北京:清华大学出版社

3. 操作实例——ArcObjects for java:ArcGIS二次开发入门,开发一个基本地图组件

(1)创建一个普通的Java项目

(2)添加依赖:将arcobjects.jar添加到项目依赖中

(3)新建一个GIS应用程序类

中级应用能力考试小测验:GIS应用开发基础

1)创建一个类AppView

2)添加initToolBar方法,初始化工具栏

3)添加buildFrame方法,初始化窗体

4)添加initialize ArcGIS Licenses方法,初始化licenses

5)添加main方法

(4)结果

概念来源+图源:CSDN《Arcobjects for java:Arcgis二次开发入门,开发一个基本地图组件》,原创:哈哈哈哈瀚

-思考一下(然后再偷看),点击查看基本概念-

参考例题(单选):

下列选项中,哪个是合法的Java中的标识符( )

A. fieldname

B. 4word

C. super

中级应用能力考试小测验:GIS应用开发基础

D. #number

答案:A

标识符可以简单地理解为一个名字,用来标识类名、变量名、方法名、数组名、文件名的有效字符序列。

Java语言规定标识符由任意顺序的字母、下划线(_)、美元符号($)和数字组成,并且第一个字符不能是数字。标识符不能是Java中的保留关键字。选项A正确。

选项B,第一个字符是数字,错误故不选;选项C,super是Java关键字,错误故不选;选项D,第一个字符是#,错误故不选。

-点击查看案与解析-

知识点小测验4

C#基础知识初步

一、基本概念

1. C#应用程序的一般结构

每一个用C#语言编写的应用程序均由一个或者多个类组成,所有的程序代码都必须封装在某个类、结构、枚举、委托或者接口中。

C#语言和C++、Java语言一样,也区分大小写。

(1)命名空间

命名空间提供了一种组织相关类和其他类型的方式,是避免名称冲突的一种方式。命名空间包含可在程序中使用的类、结构、枚举、委托和接口,一个命名空间又可以包含其他的命名空间。注意,命名空间只是一种逻辑上的划分,而不是物理上的存储分类。

(2)Main方法

每一个应用程序都应该有一个入口点,表明该程序从哪里开始执行。为了让系统能找到入口点,入口方法名规定为Main。注意:“Main”的首字母大写,而且Main方法后面的小括号不能省略。

Main方法声明为public static,除非有特殊理由,一般不要更改Main方法的声明。

用C#语言编写的类中,每一个方法都要有一个返回值,对于没有返回值的方法,必须声明返回值为void。

Main方法的返回值只能有两种类型,一种是void,另一种是int。int类型的返回值表示应用程序的终止状态代码(termination status code),此代码的用途是退出应用程序时返回程序运行的状态(0表示成功返回,非零值―般表示错误编号),当返回类型为void时,该方法的返回值为0。

Main方法可以放在任何一个类中。一个应用程序中必须有一个类包含Main方法。

(3)文件结构

在一个C#项目中,可以包含多个文件和子目录,子目录下又可以包含多个文件。

C#源文件的扩展名为.cs,如WindowsFormsApplication1.cs,一个源文件中可以有一个类,也可以有多个类。但是强烈建议在一个源文件中只包含一个类。因为一个文件包含一个类会让程序员感觉层次上非常清晰,修改、维护也比较方便。

一个应用程序项目可以由一个文件组成,也可以由多个文件组成,文件名和类名可以相同,也可以不同。

如果在类的定义中加上.partial修饰符,也可以把一个类分散保存到多个文件中,编译器在编译时会将具有相同名称的类自动组合到一起。

(4)程序代码注释

C#语言中添加注释的方法有多种,不过最有特点的是可以使用XML的格式添加注释,从而减少了许多复杂的工作,也避免了注释和说明文件不一致的情况。

概念来源+图源:《C#程序设计及应用教程(第2版)》/马骏主编,邓居英,杨湖副主编,人民邮电出版社

2. C#数据类型

C#提供的数据类型可以分为两大类,一类是值类型(value type),另一类是引用类型(reference type)。值类型又进一步划分为简单类型、枚举类型、结构类型和可空类型;引用类型则进一步划分为类类型、接口类型、数组类型和委托类型。

概念来源+图源:《C#程序设计及应用教程(第2版)》/马骏主编,邓居英,杨湖副主编,人民邮电出版社

3. 基于C#的ArcGIS二次开发代码实例

概念来源:CSDN《C#之ArcGIS二次开发》

-思考一下(然后再偷看),点击查看基本概念-

参考例题(单选):

阅读以下程序段,该程序段的输出结果为( )

A.

Child #1: ”Zhang San” , 11

Child #2: ”Li Si” , 10

Child #3: ”none” , 0

B.

Child #1: Zhang San , 11 years old.

Child #2: Li Si , 10 years old.

Child #3: none , none

C.

Child #1: Zhang San , 11 years old.

Child #2: Li Si , 10 years old.

Child #3: none , 0 years old.

D. #number

Child #1: “Zhang San” , 11 years old.

Child #2: “Li Si “, 10 years old.

Child #3: “none” , 0 years old.

答案:C

阅读程序,例子中声明了两个类,一个是Child类,另一个是包含Main方法的Program类。程序输出的结果为:

-点击查看案与解析-

END

想要收获一份实习Offer?技能大赛校园推广大使开始招募!

线上宣讲会,2022地理信息技术与应用能力考试技能大赛

应用能力考试初级考试范围公布

应用能力考试中级考试范围公布

2022地理信息技术与应用能力考试(初、中级)报名通知

2022(第二届)地理信息技术与应用技能大赛报名通知

获取2022年地理信息技术与应用能力考试(初、中级)、地理信息技术与应用技能大赛最新信息,请关注:

官方网站:

官方公众号:地理信息专业能力

相关推荐:

网友留言:

我要评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。