目录

上一主题

6.1. 地理配准纸质地图

下一主题

6.3. 编辑向量几何图层


本教程由OSGeo中国中心维护。

6.2. 地理配准栅格地图

一些栅格数据源(例如简单的扫描地图)缺乏适当的空间参考,因此我们必须先对其进行地理参考, 然后才能在GIS中使用它们。在QGIS中,我们可以使用"Georeferencer GDAL"插件对栅格进行地理配准, 可以通过转到"Raster"地理定位器。(如果在"Raster"菜单中找不到插件,请转到“插件-管理和安装插件”来启用它)。

Georeferencer插件涵盖以下用例:

  • 我们可以为栅格文件创建一个矢量文件,而无需更改原始栅格。

  • 如果我们的地图图像包含具有已知坐标的点,则可以设置地面控制点(GCPs)并输入已知坐标。

  • 最后,如果我们不知道地图上任何点的坐标,我们仍然有机会使用第二张已经地理定位的同一区域地图手动放置"GCPs"。 我们可以使用在两个地图中都可见的对象来选择要进行地理参考的地图上的点,并从参考地图中计算出它们的坐标。

我们要使用高解析度的影像(Balloon-imagery),以 OpenStreetMap 的参考座标进行空间对位。接下来我们看下具体操作。

6.2.1. 栅格地图配准

1. 本节会使用开放街图来当作参考图层。在进行配准前,我们要先安装插件, 首先打开 Plugins ‣ Manage and install plugins ‣ All 。 如 图 6.11

_images/1_xwu.png

图 6.11 安装插件

2. 安装后,选择 Web ‣ OpenLayers plugin ‣ OpenStreetMap layer , 这时开放街图的资料已经读取到QGIS中了。注意此图层的座标参考系统 (CRS) 是EPSG 3857 - 伪麦卡托投影(Pseudo Mercator), 我们接下来如果没有说明,接下来所有图层使用的坐标都是CRS,如 图 6.12

_images/3_xrp.png

图 6.12 添加 OpenStreetMap layer

3. 接下来我们要找到空间对位的地区。开放街图的图层可以自由缩放寻找地点,不过这里我们来用另外一种以后可能会有用的 工具进行搜寻。我们这里用的是长春人民广场,如果你把这个地点丢到网络上搜寻,就可以在页面中找到此条目,内容还包括公园的座标, 我们搜索到的坐标是:北纬N43°53′4.32″ 东经E125°19′5.55″,你会发现这里的座标是经纬度,以度,分,秒的方式显现, 但我们的图层是墨卡托投影,需要把它转换成直角坐标才能定位。因此,我们要使用一个方便的指令叫做"cs2cs"来帮我们这个忙。 我们在Windows 安装 QGIS 时,会把一个称为 OSGEO4W 的套件也一并安装,而在Linux 和 Mac 上也一样。在后两个作业系统上, 可以进入终端机,输入"cs2cs"查看此程序是否存在,而Windows可以去 Start ‣ OSGeo4W ‣ Shell , 如 图 6.13

_images/5_xgn.png

图 6.13 OSGEO4W界面

4. 确定"cs2cs"指令有安装在系统中后,就可以着手来把经纬度座标转换成麦卡托座标。使用这个工具时, 必须要指定 sourcedestination CRS。 指定的方法可以为 PROJ4 string 或是 EPSG code 。 因为我们已经知道目标图层的CRS,所以直接使用后者即可。此指令最简单的使用方法是直接在命令列中输入座标, 这个指令读入座标的顺序是 "X Y",所以我们要输入的是经度/纬度。输入如下所示的指令并按下 Enter 键 (指令中的反斜线 "" 是双引号 " 的转义字符。在某些终端机版本中,不用加上转义字符和字串前后的双引号)。 完成之后,可以看到屏幕上会显示 EPSG 3857 座标系统的 X Y 座标,如 图 6.14 。 我们在"cs2cs"中输入的是以下数值:

echo -125d19'5.55 43d53'4.32 | cs2cs +init=EPSG:4326 +to +init=EPSG:3857

-13950359.14,5447590.80 0.00

_images/6_xhg.png

图 6.14 cs2cs指令

5. 复制输出的座标,然后在QGIS视窗最下端的坐标栏位中,把刚才复制的坐标贴上,记得格式要符合 X,Y 的样子。 按下Enter键之后,可以看到地图有稍微平移但没有放大,我们必须要自己调整右侧的比例选单,例如调到 1:2500 后再按下 Enter ,现在人民广场出现在画面中了,可以开始来进行配准了, 选择 Raster ‣ Georeferencer ,如果你找不到此选项的话, 可以到 Plugins ‣ Manage and install Plugins ‣ Installed 。的分页中 启用 Georeferencer GDAL 这个附加元件,如 图 6.15

_images/8_xl0.png

图 6.15 查看地图位置

6. 在 Georeferencer 视窗中选择 File ‣ Open raster , 选择刚下载的JPG图,然后按 Open ,如 图 6.16

_images/9_xp0.png

图 6.16 加载影像

7. 当我们选择完所下载的JPG时,会弹出 Coordinate Reference System Selector 视窗, 在 Coordinate Reference System Selector 视窗中, 选择 EPSG:3857 Pseudo Mercator ,如 图 6.17

_images/10_xe7.png

图 6.17 CRS界面

8. 接下来按下在工具列上的 Add Point 钮,然后选择几个比较容易定位的特征点,例如转角、十字路口、雕像等等, 这些点稍后要拿来当作控制点,当你在图上按下点位时,会有个视窗弹出要求输入地图坐标。选择 From map canvas , 在QGIS视窗中,在我们用来当作参考图层的开放街图上找到相同的位置点一下,地图上的坐标就会自动被使用为控制点坐标。点击 OK 。 使用同样的方法选择并记录至少 4 个点位的坐标,如 图 6.19

_images/12_xav.png

图 6.18 添加控制点

9. 接下来选择在工具列上的 Transformation settings 钮,输入如图所示的参数设定, 记得勾选回到 Load in QGIS when done QGIS 中。按下确定钮回到 Georeferencer 的视窗中, 点选 File ‣ Start georeferencing ,程序就会开始使用控制点转换产生新影像, 如 图 6.19

_images/15_xjg.png

图 6.19 Transformation settings界面

10. 处理程序结束后,已经过空间对位修正的图层会被载入到 QGIS 中。 没意外的话,你会看到新影像与开放街图的图层叠合,如 图 6.20

_images/16_xi2.png

图 6.20 纠图结果

11. 如要让它看起来更贴合,得要移除掉影像周围的黑色和白色无资料值。在这个图层上按右键,选择 Properties , 切到 Transparency 分页,我们要把黑色和白色的像素通通指定为"no-data",就可以让他们都变透明。 在 No data value 中输入 0 ,接着在下方的 Custom transparency options 按下 + 按钮 然后在每个波段中都输入 255,在 Percent transparent 则输入 100 ,最后按下 OK , 如 图 6.21

_images/18_xcj.png

图 6.21 图层属性界面

  1. 现在,影像看起来就很漂亮的叠在地图上了,如 图 6.22

_images/19_xkj.png

图 6.22 结果查看