¶
大多数 GIS 工程都需要对某些栅格数据进行地理配准。地理配准是为栅格的每个像素分配实际坐标的过程。很多时候,这些坐标是通过进行野外调查获得的 - 使用GPS设备收集图像或地图中几个易于识别的特征的坐标。在某些情况下,当您希望数字化扫描的地图时,您可以从地图图像本身的标记中获取坐标。使用这些样本坐标或GCP(地面控制点),图像被扭曲并使其适合所选坐标系。在本教程中,我将讨论 QGIS 中实现高精度地理配准的概念、策略和工具。
本教程是对具有地图图像本身可用坐标信息的图像(即带有标签的网格)进行地理参考。如果源影像不包含此类信息,则可以使用地理配准航空影像 (QGIS3) 中概述的方法
任务概述
我们将使用 1870 年的印度南部扫描地图,并使用 QGIS 对其进行地理参考。
您将学习的其他技能
-
如何确定旧地图的基准面和坐标系。
-
保存创建的 GCP。
-
编辑创建的 GCP 以进行微调。
获取数据
Hipkiss的扫描旧地图网站有一个很好的收藏,不受版权保护的扫描地图可用于研究。
下载 1870 年的印度南部地图,并将其另存为 JPG 图像保存在硬盘上。
为方便起见,您可以从以下链接直接下载数据集的副本:
程序
-
打开 QGIS 并单击栅格 ‣ 地理配准器以打开该工具。
注意
从 QGIS 版本 3.26 开始,可以从图层 ‣ 地理配准器启动地理配准器。
-
地理配准器分为 2 个部分。将显示图像的顶部部分和显示 GCP 的表格的底部。
-
现在我们将打开我们的 JPG 图像。转到文件 ‣ 打开栅格。浏览至扫描地图的下载图像,然后单击打开。
-
您将看到图像将加载在顶部。您可以使用工具栏中的缩放/平移控件来了解有关地图的详细信息。
-
现在我们需要为这张地图上的一些点分配坐标。如果您仔细观察,您将看到带有标记的坐标网格。这些是纬度和经度网格线。
-
在添加地面控制点 (GCP) 之前,我们需要定义变换设置。单击地理配准窗口中的齿轮图标以打开变换设置对话框。
-
在“转换设置”对话框中,选择“转换类型”作为 。请参阅 QGIS 文档以了解不同的转换类型及其用途。然后选择“重采样”方法作为 .单击目标 SRS 旁边的选择 CRS 按钮。
Polynomial 2
Nearest neighbor
-
如果要对扫描的地图进行地理配准,则可以从地图本身获取 CRS 信息。查看我们的地图图像,坐标以纬度/经度为单位。没有给出基准信息,因此我们必须假设一个适当的数据。由于它是印度,而且地图相当古老,我们可以打赌珠穆朗玛峰1830年的数据会给我们带来很好的结果。搜索并选择具有珠穆朗玛峰基准面 (EPSG:4042) 最早定义的 CRS。单击“确定”。
everest
注意
印度地形测量 1960 年至 2000 年间创建的地形表使用 1956 年珠穆朗玛峰椭球体和India_nepal基准面。如果要对 SOI 地形表进行地理配准,则可以使用以下参数在 QGIS 中定义自定义 CRS,并在此步骤中使用它。此定义包括用于将此基准面转换为 WGS84 的delta_x、delta_y和delta_z参数。有关印度电网系统的更多信息,请参阅此页面。
+proj=longlat +a=6377301.243 +b=6356100.2284 +towgs84=295,736,257,0,0,0,0 +no_defs
注意
大多数地图都是使用投影 CRS 创建的。如果您尝试进行地理配准的地图使用您知道的投影 CRS,但经纬网标签位于地理 CRS(纬度/经度)中,则可以使用备用工作流来最大程度地减少变形。您可以在QGIS中创建矢量格网并将其转换为投影CRS,以用作精确坐标捕获的参考,而不是像我们在这里使用的那样使用地理CRS。有关更多详细信息,请参阅此页面。
-
将输出栅格命名为 。选择作为压缩。选中保存 GCP 点以将点存储为单独的文件以备将来使用。确保选中“完成后在 QGIS 中加载”选项。单击“确定”。
1870_southern_india_modified.tif
LZW
注意
未压缩的 GeoTIFF 文件可能非常大。因此,压缩它们始终是一个好主意。您可以在本文中了解有关不同TIFF压缩选项(LZW,PACKBITS或DEFLATE)的更多信息。
-
现在我们可以开始添加地面控制点 (GCP)。单击添加点按钮。
-
现在将十字准线放在网格线的交点处并左键单击,这将作为我们案例中的基本事实。当网格线被标记时,我们可以使用它们确定点的 X 和 Y 坐标。在弹出窗口中,输入坐标。请记住,X=经度和Y=纬度。单击“确定”。
-
您会注意到 GCP 表中现在有一行包含您的第一个 GCP 的详细信息。
-
同样,添加更多覆盖整个映像的 GCP。拥有的点越多,将影像配准到目标坐标的精度就越高。转换至少需要 6 个 GCP。添加转换所需的最小点数后,您会注意到 GCP 现在具有非零 和错误值。如果特定 GCP 具有异常高的误差值,这通常意味着输入坐标值时存在人为错误。因此,您可以删除该 GCP 并再次捕获它。您还可以通过单击目标 X 或目标 Y 列中的单元格来编辑 GCP 表中的坐标值。
Polynomial 2
dX
dY
Residual
-
对 GCP 满意后,单击开始地理配准按钮。这将开始使用 GCP 扭曲影像并创建目标栅格的过程。
-
该过程完成后,您将看到地理配准图层已加载到 QGIS 中。地理配准现已完成。此外,您会注意到右下角的项目 CRS 设置为 EPSG:4042,如转换设置中所述。
-
从浏览器面板底部的 XYZ 切片下拉列表中拖放 as 底图以验证地理配准图层。要设置透明度,请单击打开图层样式面板图标,然后选择透明度选项卡。将透明度设置为 。现在,地理配准影像必须与底图轮廓叠加。
OpenStreetMap
40 %
-
如果地理配准需要更多微调,我们可以从收集的 GCP 点开始。浏览文件位置。您可以找到其他文件 .此文件将包含 GCP 积分信息。
1870_southern_india_modified.tif
1870_southern_india_modified.tif.points
-
在 QGIS 中打开地理配准工具,单击文件 ‣ 加载 GCP 点,然后选择 .这将加载之前创建的 GCP。然后加载以微调您的工作。
1870_southern_india_modified.tif.points
1870_southern_india_modified.tif