(3) 基本QGIS操作

1. 基本向量数据样式设定

为了让地图能够清楚呈现信息,GIS数据的样式必须要好好设定。 在QGIS中,有许多选项可以让用户以不同的风格与符号呈现原始数据。 在本教学中,学一些基本的样式设定技巧。

内容说明

设定「世界各国的人口预期寿命」向量图层的样式。

会学到这些

查看向量图层的属性表格。

取得资料

这次使用的数据是University of Wisconsin-Madison附属的机构中心可持续和地球环境(SAGE)

从Human Impact Dataset下载 预期寿命地理信息系统网格数据

为了方便起见,也可以直接用下面的连结下载:

人生期待.zip

数据源:[圣人]

操作流程

打开QGIS,选择图层→加入向量图层。

找到刚下载的lifeexpectancy.zip后,按下开启。 内含的shapefile叫做newsweek_data.shp。 接下来要为数据选一个坐标参考系统(CRS),这边选WGS84 EPSG:4326当作CRS即可。

这样一来在压缩文件内的shapefile就可以呈现在画面上,目前它使用的是默认的样式设定。

在这个图层上右键单击,选择开启属性表格,

看一下这笔数据有哪些属性。在众多的属性字段中,只能挑一个做为地图呈现,考虑到研究的目标是要秀出人口预期寿命(life expectancy,指平均来说这个国家的人可以活到多老)的差异,要看的字段很自然的就是LIFEXPECT。

关掉属性表格,然后在这个图层上右键单击,选择属性。

许多样式调整的选项都放在属性窗口的样式分页中。单击分页上的那个下拉选单,可以看到有许多选项可以使用,像是单一符号、类别、渐层、规则、点位移等等。这里会用前三个选项来示范样式设定。

选择单一符号,这个选项是针对所有图层里的图征统一调整样式。由于数据属于多边形的结构,所以有两个样式基本部位可以调,一个就是如何填满,另一个则是多边形的外框。这里先选dotted的填满图样,然后按下确定。

这下子图层中所有的多边形都会被选择的新样式给填满。

很显然的,「单一符号」并不适合呈现预期寿命的资料,试试看别种吧。再次右键单击进到这个图层的属性,然后在样式分页中选择「类别」的选项。这个选项会把具有不同属性值的图征,用不同深浅的颜色来显现。在「行」的那个地方选择:guilabel:`LIFEXPECT,然后在色彩映射表中选择一个你喜欢的色条,接着按下分类按钮,最后按下确定。

结果是,不同的国家被套上了深浅不一的蓝色。图中浅色代表较低的预期寿命,深色则代表较高的预期寿命。这种方法有用多了,例如可以得知预期寿命在开发中国家和已开发国家的差异,这就是想要的样式设定。

接下来来看看样式分页中的「渐层」选项。渐层样式设定可以把数据依照某个属性分成许多的类别,每个类别可以有不同的样式设定。假设想把数据分成三个类别:低、中、高,那么可以在行的地方填上LIFEXPECT,然后在类别的地方选择3。会看到有很多不同的模式可以选择,来稍微了解一下好了:这里总共有5种模式,分别为等距、分位数、自然间断法临界值法(Jenks)、标准偏差和Pretty间断法。不同的模式使用不同的统计算法来把数据分到不同类别中。

• 等距:如其名,每个类别都具有相等的数值范围。如果数据是从0-100然后被分成10个类别,那么每个类别的数值范围就是0-10,10-20,20-30等等,每个类别的大小都是10单位。

• 分位数:每个类别都具有相等的数据个数。如果数据有100笔然后被分成4个类别,那么每个类别会有25笔数据。

• 自然间断法临界值法(Jenks):此算法会寻找最自然的数值群组来建立类别。同一类别中的数据集合具有最小化的标准偏差,而不同类别的数据集合则具有最大化的标准偏差。

• 标准偏差:计算数据的平均值与标准偏差,然后以平均值加减标准偏差的倍数来做分类。

• Pretty间断法:这是基于R语言中的Pretty算法发展而来。真要说起来有点复杂,不过基本上会叫做Pretty的原因,是它的分类结果会把类别边界放在舍位过的数字上。

在这里先选简单的「分位数」法。按下后分类以后应该就可以看到有3个类别出现,也可以看到类别的边界值。最后按下确定。

批注

渐层选项要求进行分析的字段一定得是数值数据。字段属性是整数或是浮点数都可以,不过如果是字符串的话,是没办法使用这个选项的。

接着一张具有3个颜色的地图就出现了,上面标注着人口预期寿命的国家区块。

在图层上按下右键选择属性后回到样式选单,这里还有一些东西可以调。每个类别的符号点下去后都可以进行各自的设定。这里预计使用红、黄、绿来代表低、中、高的人口预期寿命。

在符号选择窗口中,按下色彩的选单,

然后在选取色彩的窗口中挑选颜色。

回到图层属性窗口,在图例那边点两下,就可以输入想要的图例标签;而在值那边点两下,就可以修改类别的边界范围。修改完成后就可以按下确定。

这次的版本比起前两次尝试更为实用,因为它使用清晰的颜色,显示对于人口预期寿命差异的解读。

2. 计算线段的长度和统计信息

(Unfinished) QGIS内建的功能可以计算图征的几何性质,像是长度、面积、周长等等。

内容说明

使用北美铁路网的线段式shapefile来计算美国的铁道总长度。

会学到这些

• 使用表达式选择图征。

• 把图层重新投影到项目的坐标参考系统(CRS)上。

• 查阅某图层中某个属性的统计信息。

取得资料

Natural Earth上有属于公领域资料的 铁路 数据库, 北美的部分 也在此提供下载。

数据源: [自然地球]

为了方便起见,也可以直接用下面的连结下载:

ne_10m_railroads_north_america.Zip

操作流程

选择图层→加入向量图层。

选择ne_10m_railroads_north_america.zip并按下确定。

在选择加入的图层… 对话框中,选择ne_10m_railroads_north_america.shp。 (注:较新的QGIS版本不会出现这个步骤)

图层加载后,会显示所有北美的铁道线段。 学习的目标是只计算美国的铁路长度,所以必须要先选择那些位于美国境内的铁路才行。 以右键点选此图层,然后开启属性表格。

这个图层含有一个叫做sov_a3的属性,其值使用三个英文字母来代表这段图征位在哪个城市。 利用这个属性来选择位于美国境内铁路。

在属性表格窗口中按下使用表示式选取图征的按钮。

许多样式调整的选项都放在属性窗口的样式分页中。 单击分页上的那个下拉选单,可以看到有许多选项可以使用,像是单一符号、类别、渐层、规则、点位移等等。 这里会用前三个选项来示范样式设定。

选择单一符号,这个选项是针对所有图层里的图征统一调整样式。 由于数据属于多边形的结构,所以有两个样式基本部位可以调,一个就是如何填满,另一个则是多边形的外框。 这里先选dotted的填满图样,然后按下确定。

现在来把选取区域另存新文件吧。 在ne_10m_railroads_north_america图层上右键单击然后选择储存选取区域为… (或是存盘为… ),

选择浏览然后把输出档命名为usa_railroads.shp。 这里顺便转换一下图层的CRS,请按下在CRS旁边的浏览图示。

批注

QGIS的内建函数是使用图层的坐标参考系统(CRS)的默认单位来计算线段长度。 因为EPSG:4326这个CRS使用角度当作单位,计算线段或面积的结果也会是角度或是平方度,以此作单位的数值其实并不实用。 所以这里必须要使用以公尺作为单位的项目坐标参考系统来做计算。

因为要计算长度,这里来选一个等距离投影试试。 在过滤条件字段输入north America equ后,底下的结果就会出现North_America_Equidistant_ConicEPSG:102010,选择它作为新的CRS之后,按下确定。

回到刚才的储存向量图层为… 窗口,勾选加入储存档案至地图中`(注:如果有:guilabel:`储存仅选取的图征,也应一并勾选),最后按下确定。

操作完成后,QGIS中会出现叫做usa_railroads的新图层。 现在已经用不到旧图层,可以取消ne_10m_railroads_north_america的勾选,把它隐藏起来了。

• 分位数:每个类别都具有相等的数据个数。 如果数据有100笔然后被分成4个类别,那么每个类别会有25笔数据。

接下来就来为所有图征新增一个长度的属性看看。 按下切换编辑模式钮以进入编辑模式,在此模式中,按下开启字段计算钮。

在字段计算器中,先勾选建立新字段,在输出域名中输入length_km,在输出字段类别中选择十进制数(实数),精确度调到2,然后在底下的函数列表框中,找出位于几何字段分类中的$length,并且点两下以加入表达式区块。 因为要以公里为单位但图层的CRS使用公尺为单位,所以这里公式要改成:$length/1000。 最后按下确定。

回到属性表格,新的length_km属性就会出现。 再次按下切换编辑模式以储存刚才所做的修改。

现在每个线段都有自己个长度了,只需简单的加总,就能知道全线段总长。 选择向量→分析工具→基本统计,

然后在输入向量图层中选择usa_railroads,在目标字段中选择length_km。 按下确定后,就可以看到许多的统计信息出现,其中的总和数值就是这次要找的铁道总长度。

批注

铁道总长度在不同的投影下会有些微的不同。 实务上,线段、道路等长度一般会在制作数据库时一并测量,并作为图征的其中一个属性。 本教学介绍的方法可以当作真实线段长度的近似估计,使用在那些没有这个属性的图征上。

3. 网格式影像的基本分析与样式设定

许多的科学观测与研究产生的是网格式影像(Raster)数据。 这种数据以位图的方式呈现,点阵中的每个像素都有自己的特定数值。 只要使用一些数学运算,就可以拿这些数值进行有趣的分析。 QGIS中的影像计算功能具有许多基本的指令可供使用,在本教学中,会展示基本的影像计算功能操作,以及一些设定网格式影像样式的选项。

内容说明

使用人口密度的网格数据,呈现1990到2000年间,人口密度具有大幅度改变的地方。

会学到这些

在QGIS中一次读取多个数据集。

取得资料

这边要使用的是Columbia University公布的 世界网格化人口分布(GPW)v3 数据库中,以ASCII格式储存的、1990年和2000年的全球网格化人口资料。

以下说明如何搜寻与下载相关数据。

前往人口密度网格,v3下载页面。 ,在Data Attributes中选择.asciiformat、1°resolution与1990年,然后按Download。 接下来可能要建立一个免费账号然后登入,或是直接使用底下的Guest Download来下载。 接者以同样的方式取得2000年的数据。

完成后会有2个zip檔。

为了方便起见,也可以直接用下面的连结下载:

gl_gpwv3_pdens_90_ascii_one.zip

gl_gpwv3_pdens_00_ascii_one.zip

数据源: [GPW3]

操作流程

打开QGIS,选择图层→加入影像图层。

移到下载文件的文件夹,按住Ctrl键后点选两个zip档,这样就可以一次读取。 (注:如果出现错误讯息的话,先解压缩到同一个文件夹中,然后再参考下一步,选择目标档案即可。 )

每个zip檔都有2个网格档。 有a的那个档表示人口数量有经过调整以符合联合国的统计数值。 本教学使用调整过后的数据。 选择glds00ag60.asc图层,然后按下确定。

这个图层并没有定义CRS,因此得手动选择EPSG:4326作为这个以经纬度为单位的图层之坐标参考系统。

由于选择了两个zip档,因此同样的步骤要做两次。 重复以上步骤,这次选择glds90ag60.asc加到专案中。

再一次选EPSG:4326作为CRS。

现在两个图层都读到QGIS内。 网格式影像会使用灰阶来呈现,颜色越深表示像素值越低,而颜色越浅表示像素值越高。

影像中的每个像素都有自身值,在这两个档案中,这个值就是人口密度。 选择识别图征后在影像的任一处点一下,就可以看到这个像素的人口密度值。

为适当的呈现人口密度分布的图样,得调整一下样式才行。 在图层名字上右键单击选择属性,或是直接在图层名字上双击,都可以进到图层属性的窗口。

在样式分页下,把绘图类型换成单波段伪彩色,然后按下位于产生新的色彩对映表中的分类钮。 会有5个新颜色和值跑出来,最后按下确定。

回到QGIS主画面,就可以看到影像使用类似温度分布图的概念着色。 顺便也对另一个影像执行相同步骤。

分析目标是找出在1990年到2000年间有剧烈的人口变动的地方,方法则是计算这两个影像的每个像素数值的差异。 选择影像→影像计算,

在影像波段的选择框中,可以点两下以选择某个图层。 这里的波段命名方式是图层名称加上「@」再加上波段编号,由于影像都只有1个波段,所有每个影像都只会有「编号1」。 在影像计算的功能中,可以针对像素进行基本的数学运算,为了找出人口密度差异,必须要在2000年的数据中减掉1990年的数据,所以计算式要输入glds00ag60@1-glds90ag60@1。 把输出档命名为pop_density_change_2000_1990.tif,勾选将结果加入项目,最后按确定。

操作完成后,新图层会被加入到QGIS中。

虽然灰阶看起来还不错,但还是可以改一个更能表达信息的样式。 在pop_density_change_2000_1990图层上右键单击后进入属性,

这次要把在同一个范围之内的像素值设成相同颜色。 在设定之前,先到诠释数据分页内看一下这个影像的属性,尤其是最大值和最小值。

切到样式分页下,把绘图类型换成单波段伪彩色,再把色彩内插调成离散。 之后按下手动新增值4次以建立4个类别,点一下类别的数值就可以进行更改。 在这里,色彩对应的规则是「像素值比这个类别的值低的所有像素,都会被设成这个类别的颜色」。 因为影像的像素最小值比-2000还高一点,所以把第一个类别的值设成-2000,这样这个颜色代表的就是「没有数据值」(No Data Values)。 照如下的方式把所有类别都设定完成,然后按下确定。

现在人口变多或变少的地方就清楚的显示出来了。 接下来按下放大钮在欧洲附近拉一个矩形,缩进去看看细节。

选择识别图征后在影像红色含蓝色处点看看,就可以确认刚刚的样式设定是没问题的。

最后再多做一步,把人口密度呈现负增长的地方筛选出来。 开启影像→影像计算,

输入如下所示的表示式,如果像素值符合表示式,输出的像素值就是1,如果不符合,就会是0。 这样就可以得到新的图像文件,像素值为1时表示负增长,值为0时则没有负增长。 把输出档命名为negative_pop_change_2000_1990,勾选将结果加入项目,最后按确定。

pop_density_change_2000_1990@1<-10

新图层产生后,以右键进入属性,在透明度分页中的附加无数据值的地方打上0,这样值为0的像素也会被设成透明。 最后按下确定。

最后,就只剩下所有的负人口增长区是灰黑色的了。

4. 网格式影像的拼贴与裁切

介绍在QGIS中操作网格式影像的基本方法,像是浏览、拼贴与裁切影像等等。

内容说明

下载公开的巴西影像数据到QGIS中查看,然后把它们拼成一幅大型的影像,最后再把它沿着巴西的国界切下来,完成一幅没有接缝的巴西影像数据。

会学到这些

• 寻找并下载近乎实时公开的卫星影像。

• 在向量图层中选择某一图征,另存成新的shapefile。

取得资料

首先需要巴西的国界来裁切影像,这个shapefile可以从Natural Earth网站上面抓下来: Admin0-Countries

NASA/GSFC, Rapid Responsesite 收集了不错的、近乎实时公开的卫星影像数据,而 USDA Foreign Agricultural Service(FAS) subsets. 则制作了这些卫星影像的区域性数据集。本教学会使用FAS的「巴西分辨率2公里」数据集。

以下说明如何搜寻与下载相关数据。

开启 南美洲的区域影像集 ,在FAS Subsets的地方任意点一个副集合(红框)

接下来进入到下载选项页面,可以选择任意一个2km的链接下载想要的数据。这里我们选择植生指针(NDVI)的影像下载作为示范。 什么是NDVI?

选择Download GeoTIFF file来下载网格式影像。

对所有7个FAS在巴西的副集合进行相同的操作。

为了方便起见,也可以直接用下面的连结们下载所有本教学的数据:

ne_10m_admin_0_countries.zip

FAS_Brazil1.2013363.aqua.ndvi.2km.tif

FAS_Brazil2.2013363.terra.ndvi.2km.tif

FAS_Brazil3.2013363.aqua.ndvi.2km.tif

FAS_Brazil4.2013363.aqua.ndvi.2km.tif

FAS_Brazil5.2013363.aqua.ndvi.2km.tif

FAS_Brazil6.2013363.terra.ndvi.2km.tif

FAS_Brazil7.2013363.aqua.ndvi.2km.tif

数据源: [LANCE][NATURALEARTH]

操作流程

打开QGIS,选择图层→加入影像图层。

移到放影像的文件夹,按住Ctrl键后点选每个图像文件,全部选起来后按下开启

可以看到所有的影像都已经加载并显示在左侧的图层目录了,接下来要把所有的影像拼成一幅大影像。选择影像→其他→合并影像。

批注

QGIS中的影像选单其实是一个叫做Gdal Tools的附加组件。如果找不到影像选单的话,请去附加组件→管理与安装附加组件→已安装分页下把GdalTools启用。详情请参阅 使用附加组件 。

在合并影像对话框中,按下输入档案旁边的选择…钮,前往存放所有geotiff档的文件夹,按住Ctrl键选取所有档案。接着按下输出档案旁边的选择…钮,然后把输出档命名为Brazil_mosaic.tif。在底下的地方,勾选处理完成后载入QGIS地图中,最后按下确定。

影像拼贴好加载QGIS后,会有一个讯息跳出来说处理完成。现在所有的独立影像都结合在一起成为一个大图层了,尽管关闭所有的原始独立图层,都取消勾选吧。

另外一种影像操作则是裁切影像,只要用一个多边形的向量图层,就可以把一幅影像沿着这个多边形给剪下。所以来把刚才从Natural Earth下载的国界多边形给读进来看看吧。选择图层→加入向量图层,

选择ne_10m_admin_0_countries.zip然后按下开启,如有要选择要开启压所档中的哪一个图层,就选ne_10m_admin_0_countries.shp。

所有的国界都载到QGIS了,不过只想要巴西的国界。所以接着按下位于上方工具栏的选取图征,

在巴西的多边形上随便按一个地方,它就会被选取。

在ne_10m_admin_0_countries图层上右键单击然后选择储存选取区域为…(或是存盘为…),

把新档案命名为brazil_boundary.shp(注:如果有的话,要勾选储存仅选取的图征),确认一下加入储存档案至地图中有开启,最后按下确定。

接着QGIS中就可以看到巴西的国界以多边形显示。

接下来选择影像→取出→裁剪…。

在输入档案(影像)那边选择Brazil_mosaic,然后把输出档案命名为Brazil_mosaic_clipped。在底下的裁剪模式中,选分析屏蔽,然后用刚才存的brazil_boundary当作要剪下来的形状,再勾选处理完成后载入QGIS地图中,最后按确定。

这下子裁剪过的新图层就会被载到QGIS中。可能会发现在拼贴边界外围的像素都变成黑色的了,如果要移除的话,请在Brazil_mosaic_clipped图层上右键单击选择属性,

移到透明度的分页,在附加无数据值那边填上0。

现在就有了一幅不错的、沿着国界裁切的拼贴影像。它可以用来当作其他资料的背景图层,或是直接进行后续的分析。

5. 地形数据的操作

地形,或称之为高程数据,是在GIS分析中很有用,并且常于各种地图上的一种数据。QGIS本身即具有许多处理地形数据的功能,在本教学中,要实际运用地形数据来不同种类的地图,像是等高线图或是阴影图(hill shade map)等等。

内容说明

这次要来制作的是圣母峰周围区域的等高线图以及阴影图。

会学到这些

• 搜寻与下载免费的地形数据

• 把向量图层输出成KML檔以便在Google Earth中观看

取得资料

用美国地质调查局(USGS)所释出的GMTED(全球多分辨率地形高度数据) 数据集2010年版, 它算是继GTOPO 30之后,更新版本的全球地形数据库。 GMTED可以从美国地质调查局的 Earth explorer 网站下载。

以下说明如何从USGS Earth explorer搜寻与下载相关数据。

前往USGSEarthexplorer,然后在Search Criteria分页中,直接输入Mt.Everest然后按Show搜寻,接着选择底下的结果进行定位。

在Data Sets分页中,Digital Elevation子集,勾选GMTED2010。

现在可以直接到Results分页去察看与搜寻条件相符的图资了。按下那个Download Options钮,网站会要求登入,如果没有账号,那就直接申请一个吧,反正是免费的。

选择30 ARC SEC的选项,然后按Select Download Option。(注:目前USGS网站已有小改版,不过流程大致相同。)

接着应该会得到一个叫GMTED2010N10E060_300.zip的档案。基本上地形数据会使用许多不同的影像格式发布,像是ASC、BIL、GeoTiff格式等等。 QGIS目前透过GDAL函式库, 可以支持 多种格式的数据 。 这里的GMTED数据是属于GeoTiff格式,不过它目前是以被压缩的zip档储存。

为了方便起见,也可以直接用下面的连结下载:

GMTED2010N10E060_300.zip

数据源: [GMTED2010]

操作流程

打开QGIS,选择图层→加入影像图层,然后选择刚才下载的zip檔。

zip文件中有许多经由不同的算法建立的不同档案。本教学使用的是这个10n060e_20101117_gmted_mea300.tif。

接着QGIS画布上就会出现地形的数据。在地形的网格式影像中,每个像素的值代表的是这个像素的位置的高度,单位是公尺。黑色的像素代表海拔比较低,而白色像素则是位在高海拔区。

来找一下要看的区域吧。从维基百科中,可以知道圣母峰的经纬度坐标是27.9881°N与86.9253°E,记得QGIS的坐标使用(X,Y)格式,所以经纬度坐标要表示成(纬度,经度)才行。因此,把86.9253,27.9881复制贴上到QGIS底部的坐标字段后按下Enter键,就会看到上方的画布中心移动到这个坐标了。在比例的地方输入1:1000000后再次按下Enter键,就可以把画布范围缩到喜马拉雅山脉周边地区。

现在把目标区域的影像给剪下来,选择影像→取出→裁剪…。

批注

QGIS中的影像选单其实是一个叫做GdalTools的附加组件。如果找不到影像选单的话,请去附加组件→管理与安装附加组件→已安装分页下把GdalTools启用。详情请参阅使用附加组件

在裁剪窗口中,把输出档案命名为everest_gmted30.tif,然后选择裁剪模式为范围。

让裁剪窗口保持开启状态,回到QGIS主画面中,用鼠标左键拖曳出一个可以覆盖整张画布的矩形。

回到裁剪窗口,就会发现坐目标范围已经根据选取范围自动填上了。把底下的处理完成后载入QGIS地图中打勾,按下确定。

操作完成后,QGIS会出现新图层,这个新图层只覆盖了圣母峰的周围地区。马上就来开始制作等高线图:选择影像→取出→等高线…,

在等高线窗口中,选everest_gmted30作为输入档,输出档`则命名为`everest_countours.shp。在等高线之间隔中输入100,就可以制作以100公尺为区间的等高线图。顺便把属性名称给打开,这样的话每条等高线的高度就会记录在shapefile中的每等高线属性内。最后按下确定。

操作完成后,等高线就会出现在画布上,每条线都都代表着一个特定的高度,也就是说所有在同一条等高在线的像素,应该都具有相同的高度。等高线密度越大,就代表这个地方越陡峭。再稍微深入看一下:在等高线的图层上右键单击,进入开启属性表格。

可以看到每个线图征都有叫做ELEV的属性,这就是每条等高线的海拔高度,以公尺为单位。按几下ELEV的卷标,把属性表依照这个字段由高至低排列,就可以看到有一条等高线表示数据中最高的地方,也就是圣母峰。

选择这条等高线,然后按下依据选取的列缩放地图按钮。

回到QGIS主画面,就可以看到有一条等高线被选取、标成黄色了,这里就是本图资的最高海拔区域。

接下来来弄个阴影图。选择影像→分析→DEM(地形模型)…

在数值高程模型(DEM)的窗口中,输入档案选everest_gmted30,输出档案命名为everest_hillshade.tif,然后模式选日照阴影,其他选项使用默认参数即可。勾选处理完成后载入QGIS地图中,最后按确定。

处理完成后,QGIS会出现另一个图像文件。因为把范围缩到圣母峰附近,所以现在要在everest_hillshade图层上右键单击选择缩放到图层范围。

现在就可以一览这幅阴影图的全貌了。

等高线图层也可以输出成KML然后到GoogleEarth下显示,顺便检查一下操作有没有问题。右键按下等高线图层,进入存档为…

在格式字段中选Keyhole标记语言[KML],然后输出档命名为contours.kml,按下确定。

如果计算机有装GoogleEarth的话,在文件夹中点两下这个新档案就可以开启了。

6. WMS数据的操作

在某些情况下,有些数据需要其他的「参考图层」,例如说地图底图,来一同呈现。目前许多机构或组织会把他们的图资放上网,并且整理成让许多人可以马上使用GIS工具开启的格式。WMS(WebMapService,在线地图服务)就是其中一种让地图在网络上流通的标准,它省去了许多麻烦,尤其是可以不用花时间在下载一大堆参考图层、或是修改这些图层的样式上。

内容说明

示范如何读取美国地质调查局(USGS)提供的矿产资源地图库中加州地质图。

数据源: [MRDATA]

操作流程

打开QGIS,选择图层→加入WMS图层。

在图层分页中,按下新增钮,

首先要为联机取个名称,这个名称是用来识别不同的WMS联机服务,不会作为图层的名称。WMS的提供者通常会在联机中一次放上许多不同的图层让使用者选择。 如果要存取WMS图层,得在网址中加上GetCapabilities参数, 它会回传所有可以使用的图层以及它们的诠释数据。接着进行如下操作: 把名称取作MRDATAUSGS,然后GetCapabilities网址是

http://mrdata.usgs.gov/services/ca?request=getcapabilities&service=WMS&version=1.1.1&”,然后按确定。

再来,按下联机后,就可以取得所有可供使用的图层。每个图层都有它们˙各自的ID号码,ID 0指的是包含所有图层的图资,如果不想要所有图层的话,可以在+的图示下单击以展开列表,然后再选择那些想要的图层。这边使用0图层来继续示范。

在影像编码字段中,要选择一种影像格式。要选哪一种影像格式与要用底图来做什么事有很大的关系,简单说明如下:

• 影像质量:PNG是无损压缩,JPEG则是失真的压缩,而TIFF两种都可以兼容。因此PNG的影像质量会比JPEG要好,如果最终想要把地图打印出来的话,就选PNG。

• 读取速度:因为PNG是无失真的大尺寸档案,所以要花比较久的时间读取,如果只是要一个参考地图,让在QGIS中放大、缩小或是改变位置时不会迷失,那就使用JPEG吧。

• 客户端支持:虽然QGIS支持几乎所有的格式,不过如果是要拿来作网页或APP,浏览器通常会不支持TIFF,所以用其他两种格式较好。

• 资料种类:如果要下载的图层原始来源是向量档的话,PNG会呈现得比较好;如果原始就是是影像图层的话,JPEG通常才是不错的选择。

本教学中,选择JPEG来当作图资的格式。底下的图层名称也可以自由更改。最后按下加入。

图层就会被载到QGIS画布中,而且就跟一般的图层一样,可以放大、缩小或拖曳。WMS服务运作的原理是当每次拖曳或放大缩小图层时,它会把视图坐标和尺寸上传到WMS服务器,然后服务器会针对视图制作影像再传到显示框中,所以会发现每次改变显示区域的时候,总是要等一下,图才会出现。另外一件不同的地方是,由于WMS传的是一般的图片文件,所以没有办法像一般的向量或网格式影像图层那样查阅属性。

不过,至少它是有诠释资料的。在这个图层上右键单击,选择属性,

会发现属性窗口跟一般图层相比有点不同,而且少了许多分页。在诠释数据分页中,就可以看到许多有关于WMS服务和本图层的许多信息。

7. 投影的操作

地图的投影法,也称之为坐标参考系统(CRS),在处理GIS资料时常常是问题的来源。把它的概念与操作方法弄清楚,可以让GIS之路轻松得多。本教学会说明在QGIS中,投影法是怎么运作的,然后也会介绍一些针对向量档和网格图像文件调整投影的工具,比较重要的像是重新投影向量和影像数据、开启实时CRS转换,以及指派CRS给那些没有内建投影法的资料。

内容说明

在这里要把使用不同投影法的图层,在QGIS中重新投影后再迭图。

会学到这些

• 使用.tfw文件对网格式影像进行空间对位(Georeference)

• 在图层中选取部分特征,另存成新图层

• 在QGIS中查看诠释资料(Metadata)

取得资料

NaturalEarth上有Admin0-Countries 国家边界资料,这边 可以下载。

另外还有英国地形测量局(OrdnanceSurvey)提供的开放图资,可下载大不列颠岛的 小比例尺网格影像数据,然后解压到计算机中。

批注

要取得英国地形测量局的数据,必须要输入一些个人资料注册取得。

为了方便起见,也可以直接用下面的连结下载:

ne_10m_admin_0_countries.zip

minisc_gb.zip(只包含本教学需要的档案)

数据源: [NATURALEARTH][OSOPENDATA]

操作流程

打开QGIS,选择图层→加入向量图层。

选择ne_10m_admin_0_countries.zip并按下确定。

在QGIS窗口的底部有个坐标字段,在移动鼠标时,会实时显示目前区域的X和Y坐标。另外在右下角还有一个写着EPSG:4326的地方,这个就是本项目的CRS(投影法)。

之后会看到,图层本身的CRS未必会跟项目的CRS相同。如果要看某个图层使用的投影法,要到诠释数据中寻找。在ne_10m_admin_0_countries上右键单击,选择属性。

在图层属性窗口中切换到诠释数据分页,展开属性字段,在字段最下面的图层的空间参考系统一行就可以看到本图层的指定投影法,它以PROJ.4格式标记。

现在就来看看要怎么更改图层的投影。这个步骤通常称为重新投影,可以针对整个图层或是只对图层上的某些图征进行操作。接下来使用依区域或点击选择图征按钮,选择美国的图征。

在ne_10m_admin_0_countries图层上右键单击然后选择存盘为…

在储存向量图层为…的窗口中,把输出文件命名为united_states.shp,然后勾选储存仅选取的图征,这样就能确保只有选择的图征会被重新投影后输出。接下来点选选取CRS钮,为这个图征选择新的投影法。

在选择坐标参考系统窗口中的过滤条件字段输入northamerica,在底下稍微卷动一下,找到并选取North_America_Albers_Equal_Area_Conic(EPSG:102008),然后按下确定。

批注

这里选择Albers Equal Area Conic投影的原因是它常常被用在各种美国的主题地图上。实务上地图投影法的选择与制作地图的目的息息相关。如想知道投影法的更多信息可参考这里

回到刚才的储存向量图层为…窗口,此时新的CRS已经选取了。按下确定。

当这个重投影的图层载入到QGIS中时,会发现就算这两个图层的投影法不同,美国还是位于与ne_10m_admin_0_countries完全相同的位置上。这是因为QGIS中有个称为「实时CRS转换」的功能,会看到QGIS窗口右下角的投影栏,在EPSG:4326旁边多了OTF的字样。

选择设定→选项。

在选项窗口中切换到CRS分页,可以看到有个默认值是如果图层之间有不同的CRS,自动启用实时坐标投影转换。这是说当QGIS侦测到读入的图层跟已经存在的图层有不同的CRS时,它会自动把新图曾以旧图层的投影法重新投影,这样他们就可以在正确的坐标下自动对齐。按下确定。

来关掉实时CRS转换看会发生什么事。点选窗口右下角的现在的CRS钮,

在项目属性窗口中,取消开启实时CRS转换勾选,然后按下确定。

回到QGIS窗口中会看到刚才漂亮的世界地图不见了!这是因为目前的项目CRS已经变成North_America_Albers_Equal_Area_Conic,两个图层的坐标和比例尺现在都不同了。右键点选united_states图层,然后选择缩放到图层范围。

现在就可以看到美国以选择的投影法呈现出来了。注意ne_10m_admin_0_countries图层完全没有显示在画面中,因为它和united_states图层占据了完全不同的坐标。现在请回到项目属性窗口中把开启实时CRS转换再度打开,本教学接下来都会在此模式下操作。

现在要切换到另一个地方,然后再加入一个影像图层到项目中。找到先前的minisc_gb.zip然后把它解压缩,内有一个称为RGB_TIF_COMPRESSED的文件夹。会发现内含的.tif图片就只是TIF图片,而不像GeoTIFF图片般会含有投影信息。如果想要在GIS系统中使用这张图片,必须要先进行「空间对位」才行。空间对位档案含有2种参数设置:影像的涵盖范围,或是投影方法。一般来说,影像涵盖范围的空间对位档案,附档名会是.tfw或.jgw,通常会把它叫做Worldfile。大部分的GIS软件如QGIS都可以读取Worldfile内储存的地理空间信息,并把他套用在相同文件夹下、相同主档名的图像文件上。这张影像的.tfw档案目前存在叫做georeferencing_files的文件夹内。

进入georeferencing_files内的ESRI_TFW_FILES文件夹,.tfw档案实际上是纯文本档,所以请用文本编辑器打开任一个.tfw檔看看。

Worldfile总共会有6行,每行都是数字。就如以下的说明所示,每行其实都是某个有关于图像文件的信息。此格式相当有用,因为有时候有些档案会没有worldfile,你必须要依照所知的数据,自己建立对应的worldfile才行。

Line1:A:pixelsizeinthex-directioninmapunits/pixel
Line2:D:rotationabouty-axis
Line3:B:rotationaboutx-axis
Line4:E:pixelsizeinthey-directioninmapunits
Line5:C:x-coordinateofthecenteroftheupperleftpixel
Line6:F:y-coordinateofthecenteroftheupperleftpixel

从georeferencing_files文件夹内复制MiniScale_(standard)_R17.tfw到RGB_TIF_COMPRESSED底下,把.tfw和.tif文件摆在相同目录,以供QGIS辨识。

在QGIS中选择图层→加入图层→加入影像图层,选择MiniScale_(standard)_R17.tif然后按开启。

英国地形测量局使用的是BritishNationalGrid投影法。在选择坐标参考系统窗口中,搜寻britishnational然后选择OSGB1936/BritishNationalGrid(EPSG:27700)这个CRS,最后按下确定。

MiniScale_(standard)_R17图层加载后,以右键点选,选择缩放到图层范围。

最后可以看到此图层已经迭到ne_10m_admin_0_countries向量图层之上了。因为已经启用OTF模式而且把CRS设成EPSG:4326,MiniScale_(standard)_R17图层会自动重新投影到EPSG:4326,使用与其它图层相同的坐标系统显示在画面中。

8. 为纸本地图进行空间对位

大部分的GIS项目都会需要对某些影像进行「空间对位(Georeferencing)」,也就是说要为影像的每个像素指定它在世界上的地理空间坐标。在许多的情况下,这些坐标是透过野外调查收集而来,例如说用GPS装置定位那些易于辨识的地标。但有的时候,例如说如果要使用的是某地图的数字化扫描文件,也可以藉由地图上的一些标记来搜集空间坐标。一旦有了这些采样的坐标点或地面控制点(GroundControlPoints),这些影像就可以用给定的坐标系统来投影绘制。在本章节中,会讨论相关的概念、作法与QGIS提供的工具,以达成高准确度空间对位的目标。

内容说明

为一份1870年的南印地图扫描文件,以QGIS进行空间对位。

会学到这些

如何判断老地图的大地坐标(Datum)与坐标系统(CoordinateSystem)

取得资料

Hipkiss’sScannedOldMaps网站搜集了不少版权过期的老地图扫描文件,非常适合用在研究上。

这边可以下载储存 1870年的南印度地图 的JPG檔。

为了方便起见,也可以直接用下面的连结下载:

1870_southern_india.jpg

操作流程

GeoreferencinginQGISisdoneviathe‘GeoreferencerGDAL’plugin.Thisisacoreplugin-meaningitisalreadypartofyourQGISinstallation.Youjustneedtoenableit.GotoPlugins→ManageandInstallPluginsandenabletheGeoreferencerGDALpluginintheInstalledtab.See 使用附加组件 formoredetailsonhowtoworkwithplugins.

附加组件会放到「影像」的选单内,因此要到影像→空间对位→空间对位开启它。

此附加组件窗口有上下2个部分,上半部是影像显示区,下半部则会以表格方式呈现所有的地面控制点。

现在就来开启JPG影像。选择档案→OpenRaster,然后找到刚才下载的地图扫描文件,按下开启旧档。

接下来,程序需要选择参考坐标系统(CRS),以指定控制点的投影法和大地坐标系统。如果控制点是透过GPS收集的,可以选WGS84坐标系统;而在本例的情况下,控制点要直接在地图扫描文件上取得,所以要先看一下地图的文字叙述。本地图的坐标是经纬度,不过并没有标示任何的大地坐标系统信息,所以得自己假设一个才行。因为此地图是年代久远的印度地图,可以猜测它是使用Everest1830大地坐标系统,这应该会有不错的结果。

现在影像已经被载到屏幕上半部了。

可以使用工具栏的放大/平移功能观察一下地图的细节。

现在要为图上的某些点指定坐标了。仔细观察后,可以发现本地图具有标示经纬度的网格线,所以可以确定在网格线交叉点的X和Y坐标。接着按下工具栏上的AddPoint钮。

在跳出的窗口中输入此点的坐标,记得X是经度,Y是纬度。完成后按下确定。

这下子,下半部的地面控制点表格会新增一栏刚刚选的地面控制点。

使用相同的操作方法,为整张图加入至少4个地面控制点。控制点越多,影像可以越精确的对齐地理空间坐标。

当收集到足够多的点后,按下设定→Transformationsettings。

在影像转换设定窗口中,Transformation type选择薄板曲线法(Thin plate spline)。输出影像命名为1870_southern_india_modified.tif。TargetSRS可选择EPSG:4326,这样一来产生的影像就会投影在此广泛使用的大地坐标系统上。确认处理完毕后加载QGIS中是否以勾选,最后按下确定。

回到空间对位的窗口中,点选档案→Start georeferencing,程序就会开始使用控制点转换影像,投影到新的坐标系统上。

处理程序结束后,已经过空间对位修正的图层会被加载到QGIS中。

空间对位的操作到此完成。如同以往,好好检查一下本操作是否准确。请试着从可信的来源(例如Natural Earth数据库)寻找并读取含有国家边界的shapefile,然后跟结果比对一下。可以看到,系统基本上对应得相当良好,不过仍然有一点小误差。如要减少这些误差,可以增加更多控制点、修改空间对位的参数,或是换另一个猜测的大地坐标系统来试试。

9. 为空照图进行空间对位

在为 为纸本地图进行空间对位 教学中,介绍一种QGIS中进行空间对位的方法。这种方法可运用在扫描版地图上,可以寻找地图上的坐标点当作控制点。但有的时候,地图上会没有这种网格点,又或是要为影像进行空间对位,这方法也行不通。在这种情况下,可以使用其他的空间对位数据源来当作输入。本教学中,学习如何在空间对位的操作中使用这些开放的数据源。

内容说明

使用高分辨率的气球影像(Balloon-imagery),以OpenStreetMap的参考坐标进行空间对位。

还会学到这些

• 下载超高分辨率的公领域影像数据

• 在QGIS中使用OpenLayers附加组件

• 使用cs2cs指令工具在不同的投影系统之间转换坐标

• 使用手边已经过空间对位的图层,提供空间对位时的控制点坐标信息

• 为某图层自定义「无资料值」(No-dataValue)

取得资料

本教学中,要使用 ThePublicLaboratory 收集的一系列绝美的气球、风筝空拍影像。其实已有释出空间对位过的版本,不过为练习,在这里要下载的是未经空间对位的JPG档,然后再于QGIS中进行空间对位。如果你喜欢他们提供的影像,可以在 GoogleEarth 中进一步探索。

下载 纽约市WashingtonSquarePark 的JPG影像。可以直接在JPG的按钮上右键单击然后选Savelinkas…。

为了方便起见,也可以直接用下面的连结下载:

UNTRANSLATEDSTRING : newyorkcity-washingtonsquarepark.jpg

操作流程

本教学会使用开放街图来当作参考图层。请到附加组件→管理与安装附加组件中安装OpenLayersPlugin。有关在QGIS中如何使用附加组件,可参考 使用附加组件 。

安装后,就可选择: menuselection:`附加组件(或网络)–>OpenLayersplugin–>AddOpenStreetMaplayer`_ ,如此一来QGIS会载入 OpenStreetMap 预先处理好的数据块。

现在开放街图的资料已经读到QGIS中了。注意此图层的坐标参考系统(CRS)是EPSG3857-伪麦卡托投影(Pseudo Mercator),接下来在此图层中使用的坐标都会是这个CRS,所以值得在此一提。

下一件事是寻找要进行空间对位的地区。开放街图的图层可以自由缩放寻找地点,不过这里用另外一种未来可能会有用的工具进行搜寻。刚刚下载的图片是位在纽约的Washington Square Park,如果把这个地点丢到网络上搜寻,就可以在维基百科的页面中找到此条目,内容还包括公园的坐标。

会发现这里的坐标是经纬度,以度/分/秒的方式显现,但图层是麦卡托投影,需要把它转换成麦卡托直角坐标才能定位。因此,要使用一个方便的指令叫做cs2cs来帮忙。一般来说,在Windows安装QGIS时,应该会把一个称为OSGEO4W的套件也一并安装,而在Linux和Mac上亦然。在后两个操作系统上,可以进入终端机,输入cs2cs查看此程序是否存在,而Windows使用者可以去开始(所有程序)→OSGeo4W→MSYS启动终端机(注:或是开始(所有程序)→QGIS→OSGeo4WShell。)

确定cs2cs指令有安装在系统中后,就可以着手来把经纬度坐标转换成麦卡托坐标。使用这个工具时,必须要指定初始和目标的CRS,指定的方法可以为PROJ4字符串或是 EPSG代码 。因为已经知道目标图层的CRS,所以直接使用后者即可。此指令最简单的使用方法是直接在命令行中输入坐标,这个指令读入坐标的顺序是XY,所以要输入的是「经度纬度」。输入如下所示的指令并按下Enter键(指令中的反斜杠()是双引号(”)的逃脱字符。在某些终端机版本中,不用加上逃脱字符和字符串前后的双引号)。完成之后,可以看到屏幕上会显示EPSG3857坐标系统的XY坐标。

echo"-73d59'51\"40d43'51\""|cs2cs+init=EPSG:4326+to+init=EPSG:3857
-8237364.024972720.340.00

If the above command does not work for you,please try the following variant

echo-73d59'5140d43'51|cs2cs+init=EPSG:4326+to+init=EPSG:3857

复制输出的坐标,然后在QGIS窗口最下端的坐标字段中,把刚才复制的坐标贴上,记得格是要符合X,Y的样子。按下Enter键之后,可以看到地图有稍微平移但没有放大,必须要自己调整右侧的比例选单,例如调到1:2500后再按下Enter(注:如果地图空白一片,请试试1:5000。)

Washington Square Park出现在画面中了!可以开始来进行空间对位,请选择影像→空间对位→空间对位,如果找不到此选项的话,要到附加组件→管理与安装附加组件→已安装的分页中启用空间对位GDAL这个附加组件。

在空间对位窗口中选择档案→Openraster,选择刚下载的JPG档,然后按开启。

在选择坐标参考系统窗口中,选择EPSG:3857 Pseudo Mercator。

接下来按下在工具栏上的Add Point钮,然后选择几个比较容易定位的特征点,例如转角、十字路口、雕像等等,这些点稍后要拿来当作控制点。

当在图上按下点位时,会有个窗口跳出来要求输入地图坐标。选择从地图画面取得坐标。

在用来当作参考图层的开放街图上找到相同的位置点一下,地图上的坐标就会自动被使用为控制点坐标。使用同样的方法选择并记录至少4个点位的坐标。

接下来选择设定→Transformation settings。

输入如图所示的参数设定,记得勾选回到处理完毕后加载QGIS中。按下确定钮回到空间对位的窗口中,点选档案→Start georeferencing,程序就会开始使用控制点转换产生新影像。

处理程序结束后,已经过空间对位修正的图层会被加载到QGIS中。没意外的话,会看到新影像与开放街图的图层迭合得相当不错。

如要让它看起来更顺眼,得要移除掉影像周围的黑色和白色无数据值。在这个图层上右键单击,选择属性。

切到透明度分页,要把黑色和白色的像素通通指定为无数据值,就可以让他们都变透明。在附加无数据值中输入0,接着在下方的自定义透明度选项中,按下+按钮然后在每个波段中都输入255,透明百分比则输入100,最后按下确定。

现在,影像看起来就很漂亮的迭在地图上了。

10. 地图数字化

数字化操作是GIS专家最常进行的工作之一。把影像数据数字化、转成向量图层常常会花费许多的GIS操作时间。不过在QGIS中,有着强大的数字化屏幕编修功能,将会本教学中做个简介。

内容说明

把一张地形图的图档转化成数个向量图层,内容包括地图中一个公园附近的一些地理标记。

还会学到这些

• 为大尺寸影像建立快取金字塔,增快浏览地图的速度

• Spatialite数据库的操作

取得资料

使用 Land In formation NewZealand(LINZ) 提供的1:50,000地形图,包括新西兰本土与查塔姆群岛(ChathamIslands)。

Christchurch Topo 50 map download page下载GeoTIFF影像

为了方便起见,可以直接用下面的连结下载(裁切过版本):

BX24_GeoTifv1-02-clip.tif

数据源: [LINZ]

操作流程

选择图层→加入影像图层,选择刚才下载的BX24_GeoTifv1-02.tif,然后按开启。

这是张相当大的影像,当要拖曳或是缩放地图时,都要花上一点时间让程序调整影像的解析尺寸。QGIS提供了简单的解决方法来增进这些动作的速度,称之为「影像金字塔」。这种方法其实就是预先产生不同分辨率的相同影像,在地图操作时,可以直接使用而不用再从全尺寸的影像做处理,加快浏览速度。请在BX24_GeoTifv1-02图层上右键单击选择属性。

切换到影像金字塔分页,在分辨率字段中把所有分辨率都选取,其他选项使用默认值,然后按建立快取金字塔。程序执行完毕后,按下确定。

回到QGIS主窗口,使用放大钮搜寻基督城的Hagley Park,这就是等一下要数字化的区域。

在开始之前,先来调整默认的数字化选项。选择设定→选项…。

在选项页面中切换到数字化分页,默认接合模式选择自动接合转折点与线段。这个选项可以使相近的转折点与线段黏在一起。把预设接合容许范围和编辑转控点的搜寻半径设成以像素为单位,而非以地图单位为单位,这样在不同的缩放尺度下,自动接合的距离会保持一样。接着可以依照你屏幕的分辨率选择适合的值,最后按下确定。

现在可以开始数字化了!先来做个道路的图层,然后把公园附近的道路数字化到此图层上。选择图层→新增图层→「新增Spatialite图层…」或「新增Shape档图层」,喜欢哪个都可以。Spatialite是和ESRI的地理数据库(包含Shapefile)格式相似的开放数据库,它的特点是可以在一个档案内塞进不同种类的空间数据(点、线、多边形)与其他种类的图层,所以在复制或移动档案时,不用像shapefiles那样每次都得移动一堆档案。本教学中,会建立数个多边形和一个线图层,所以Spatialite会比较适合。当然也可以在读取Spatialite档案后,另存成shapefile或其他类型的文件格式。

在新增Spatilaite图层窗口中,按下…钮,把图层存成新的名为nztopo.sqlite的数据库。在图层名称中输入Roads,然后在类别中选择线。地形底图使用的CRS是EPSG:2193-NZGD2000,所以这边就选个跟底图一样的CRS即可。请勾选建立自动递增的主键,这个功能会在属性表格中新增一个叫做pkuid的字段,程序会自动为每个图征指定独特的数值到此字段中。因为这是个道路图层,还需要2个基本属性:道路名和道路种类。所以请在新增属性字段中加入Name,然后按下加入属性列表。

以同样的方法建立新属性Class,类别选文字数据。建立好后按下确定。

图层加载后,单击切换编辑状态以进入图层编辑模式。

按下加入图征按钮,然后在地图上按鼠标,就可以加入线段端点。沿着道路加入新的端点,直到全部的路都绕过后,按下右键结束图征的编辑。

批注

滑动鼠标的滚轮键可以用来放大或缩小地图,按住滚轮键则可以拖曳地图。

按下右键之后,会有一个窗口跳出,可以在其中为刚刚创造的图征输入属性。因为pkuid已经被自动指定了,所以只有它是不能手动设定的。输入在地图中的道路名字,以及道路的种类,当然也可以都不输入完成后,按下确定。

线图层的默认样式是非常细的线,要把它改粗一点,以方便在地图上浏览。在Roads图层上右键单击选择属性。

在图层属性窗口中切换到样式分页,再从样式库中选择一个较粗的样式,像是Primary。最后按下确定。

现在就很容易在地图上找到此图征了。按下储存图层编辑,就可以把刚才的更动写到档案内。

在把其他道路数字化之前,有些设定还需要更新,才能保证接下来创造图层时不会发生错误。选择选项→自动接合选项。

在自动接合选项窗口中,勾选使用拓扑(topological)编辑,这个选项可以确保图征共同的边界可以在多边形图层中正确的调整。再来,勾选开启在相交处使用自动接合,此选项可以自动连接图征的截切点,例如底图的道路转角。

接下来就继续使用加入图征钮,加入其他环绕公园的道路吧。记得每一次加入新图征后,都要按下储存图层编辑才会储存起来。有一个称为节点工具的功能也非常的方便,试试看。请按下节点工具钮。

节点工具启用后,点选任一个图征,节点就会显现出来。点选任一节点后,它的颜色会改变,以表示这个节点已经被选取了,这时就可以使用鼠标拖曳此节点。此操作对修改已有的图层非常的方便,如果要删掉选取的节点,只要按下Delete键即可。(Mac上是Option+Delete键)

所有道路都数字化后,单击切换编辑状态关闭图层编辑模式。

接下来要制作的是公园边界的多边形图层。选择图层→新增图层→新增Spatialite图层,数据库要从下拉选单中选择刚才的nztopo.sqlite,新的图层命名为Parks,类别选择多边形。另外,新增一个称为Name的属性,最后按下确定。

按下加入图征钮,然后在地图上点出多边形的顶点。这些顶点圈住的多边形,就是以数字化方式呈现的公园边界。在用右键完成多边形之前,请再次确认有开启自动接合选项,这样公园多边形和道路的线条中间就不会有任何空隙。

在跳出的图征属性窗口中,输入公园名字。

还可以为多边形图层选择一个很有用的设定,称为避免相交。再次进入选项→自动接合选项,然后把Parks图层后方的避免相交栏勾选起来,最后按下确定。

接着使用加入图征再加入另一个多边形。当避免相交功能启用时,就可以快速地创造另一个图征,不用担心它跟先前的图征的接合点是否在正确的位置上。

按下右键完成此多边形,然后输入属性的内容。新的多边形会与邻接的多边形完美的接在一起!这功能对比较复杂的边界非常有用,在设定边界时可以不需要非常的精确,就可以制作已校正的多边形。最后,再次按下切换编辑状态,结束Parks图层的编辑。

是时候来数字化地图上的建筑。选择图层→新增图层→新增Spatialite图层,建立一个新的多边形图层,称为Buildings。

Buildings图层加入后,关掉Parks和Roads图层,让底下的地图显现出来,然后选择Buildings图层,再按下切换编辑状态。

建筑的数字化通常是件繁琐的任务,而且有个困难点是要手动设定垂直的节点以形成长方形的多边形。这里要使用一个称为Rectangles Ovals Digitizing的附加组件来帮助数字化。关于如何搜寻和安装附加组件,请参考 使用附加组件 。当Rectangles Ovals Digitizing安装完成后,会看到一个新的工具栏出现在画布上方区块。

放大到有建筑的地方,然后按下Rectangle by Extent钮,然后用鼠标按下并拖曳出长方形。用类似的方法完成其余的建筑多边形。

会看到有些建筑不是垂直的,这些形状大概是倾斜成某种角度的多边形。按下Rectangle from center。

在建筑物的中心单击,用鼠标拖曳出一个垂直的长方形。

接下来要旋转此长方形,让它符合地图上的形状。旋转工具是放在Advanced Digitizing工具栏中,在工具栏上空白的地方按下右键,然后勾选:guilabel:`AdvancedDigitizing**,就可以让它呈现在工具栏上。

按下旋转(多个)图征钮,

使用选择单一图征工具选择你要旋转的图征。在旋转(多个)图征工具启用的状况下,被选取的图征中心会出现一个准心,点选此准心然后移动鼠标,就会看到旋转图征的预览结果。在适当的角度按下鼠标按钮,让多边形对齐房屋的底座边界。

储存编辑的结果,全部完成后再次按下切换编辑状态。现在可以拖曳调整图层的显示顺序。

数字化的工作到此告一段落,接下来可以在图层属性中调整卷标与样式,利用刚刚创造的数据制作一幅好看的地图。

发表评论

邮箱地址不会被公开。 必填项已用*标注