2. 海洋空间数据获取与导入

海洋空间数据是开展海洋制图、海岸带分析、生态评估与空间规划的基础。与陆地数据相比,海洋数据往往覆盖范围大、维度多(经度、纬度、深度、时间),来源分散在国际数据中心、区域观测计划和科研机构之间。本节围绕三个问题展开:常见海洋数据从哪里获取、它们以什么格式组织、以及如何把这些数据正确导入QGIS并查看其内容与属性。

一、常见海洋数据来源

海洋数据来源可按“全球性—区域性—专题性”来理解。掌握每个来源的定位,能帮助我们在需要某类数据时快速找到入口,而不是盲目搜索。

  • NOAA(美国国家海洋与大气管理局):提供范围极广的海洋与大气数据,包括海底地形(如ETOPO系列全球地形)、海表温度、洋流、潮汐、海洋观测站数据等。其数据门户常以NetCDF、GeoTIFF、CSV等形式分发,适合做全球尺度的背景底图与时间序列分析。
  • GEBCO(全球海底地形图):由国际海道测量组织与教科文组织政府间海洋学委员会联合发布,是覆盖全球海洋的陆海一体地形网格数据,常用15弧秒或30弧秒分辨率,格式多为NetCDF或GeoTIFF。它是制作海底地形晕渲、等深线的基础数据。
  • EMODnet(欧洲海洋观测与数据网络):面向欧洲海域,提供水深、地质、海床栖息地、物理海洋、人类活动等多主题数据,格式涵盖Shapefile、GeoTIFF、NetCDF等,适合区域尺度的专题分析与制图。

此外,还有大量专题来源,例如海洋生物多样性信息设施(OBIS)提供物种分布记录(CSV),各国海洋管理部门提供专属经济区、航道、保护区等矢量数据。实际工作中,建议先明确“研究范围、所需变量、时间跨度、精度要求”四个条件,再据此筛选来源,避免下载大量无关数据。

二、常见数据格式及其特点

海洋数据格式的选择与其维度结构密切相关。理解格式差异,是正确导入和后续分析的前提。

格式数据类型典型海洋用途导入QGIS的要点
NetCDF多维栅格(经度×纬度×深度×时间)海温、盐度、洋流、海底地形网格作为栅格图层导入,需选择变量与时间/深度切片
GeoTIFF单波段或多波段栅格水深网格、海表温度合成图、晕渲底图直接拖入即可,注意坐标系与NoData值
Shapefile矢量(点、线、面)海岸线、保护区边界、航道、观测站点导入时注意编码(如UTF-8)与坐标系
CSV表格(含经纬度字段)观测站记录、浮标数据、物种分布点用“添加分隔文本图层”指定X/Y字段与坐标系

需要特别说明的是NetCDF。它本质上是多维数组容器,一个文件里可能同时存放多个变量(如温度、盐度)和多个维度(时间、深度)。在QGIS中打开时,系统会要求选择具体变量和切片,因此导入前应先了解文件内部结构,例如用QGIS的“栅格信息”或外部工具查看变量名与维度范围。

海洋数据来源 → 格式 → QGIS 导入路径 数据来源 NOAA 全球地形·海温·洋流 GEBCO 全球海底地形网格 EMODnet 欧洲海域专题数据 OBIS 等专题库 物种分布·观测记录 数据格式 NetCDF 多维:变量×时间×深度 GeoTIFF 单/多波段栅格 Shapefile 点·线·面矢量 CSV 含经纬度字段的表格 QGIS 导入方式 栅格图层导入 选变量与时间切片 拖入即加载 核对坐标系与NoData 矢量图层导入 注意编码与投影 分隔文本图层 指定X/Y字段与CRS 导入后统一检查:坐标系是否正确 · 范围是否覆盖研究区 · 属性表字段是否完整 栅格看像元值与NoData,矢量看几何类型与字段类型,CSV看坐标是否落在预期海域

三、在QGIS中导入矢量与栅格数据

QGIS支持多种导入入口,最直接的方式是把文件从系统文件管理器拖入图层面板或地图画布。对于GeoTIFF和Shapefile,拖入后通常即可显示;对于NetCDF和CSV,则需要经过参数设置。

导入NetCDF栅格。在“图层 → 添加图层 → 添加栅格图层”中选中文件,QGIS会弹出子数据集选择界面,列出文件内的变量与时间/深度切片。例如一个海表温度文件可能包含变量sst,时间维度为2023-01至2023-12。此时应选择目标变量和某一时间切片,而不是一次性加载全部维度。加载后可在图层属性中查看像元大小、行列数与NoData值,确认数据范围是否与研究区一致。

导入CSV点数据。使用“图层 → 添加图层 → 添加分隔文本图层”,选择文件后指定分隔符(逗号或制表符),在“几何图形定义”中选择“点坐标”,X字段填经度(如lon),Y字段填纬度(如lat),并指定坐标系。海洋观测数据常用WGS 84(EPSG:4326),若源数据使用其他基准,必须在此处选对,否则点位会整体偏移。导入后可打开属性表,检查经纬度数值是否落在合理范围(经度-180~180,纬度-90~90)。

导入Shapefile矢量。拖入后即可加载,但需关注两点:一是字符编码,若属性表中的中文出现乱码,可在图层属性→源中把编码改为UTF-8或GBK;二是坐标系,QGIS会读取.prj文件,若缺失则需手动指定。对于海岸线、保护区边界等面数据,导入后应检查几何是否有效,可用“矢量 → 几何工具 → 检查有效性”排查自相交等问题。

导入前先建立统一的工程坐标系(如EPSG:4326用于全球数据,或对应区域的投影坐标系用于面积量算),可以减少后续图层叠加时的动态投影混乱。QGIS默认开启“即时重投影”,但源数据坐标系错误时它无法自动纠正。

四、数据浏览与属性查看

数据加载后,第一步不是急着做分析,而是“看清数据”。对栅格图层,可通过图层属性→信息查看波段数、像元大小、范围与NoData;通过符号化调整色带与拉伸方式,观察数值分布是否合理。例如海底地形栅格若大部分像元集中在-4000至-5000米,说明深海平原占主导;若出现异常正值,则可能是陆地区域或填充值未正确识别。

对矢量图层,打开属性表可查看字段名称、类型与记录数。重点关注:几何类型是否与预期一致(点、线、面)、关键字段是否存在空值、分类字段的取值是否规范。例如保护区图层中category字段若出现多种拼写变体,后续分类统计就会出错。还可使用“识别要素”工具在地图上逐一点击,查看单个要素的完整属性。

对于NetCDF这类多维数据,QGIS的“栅格信息”能显示每个子数据集的元数据,包括变量单位、时间范围与空间范围。建议在导入后记录一份简要的数据清单,包含来源、格式、变量、时间、分辨率与坐标系,便于后续复现与协作。

常见问题:CSV导入后点位全部堆在非洲西侧海域(约0,0附近),通常是X/Y字段选反或坐标系未指定;NetCDF只显示一个时间切片,往往是加载时未展开子数据集;Shapefile中文乱码,多为编码未设为UTF-8。遇到异常先回到“源数据坐标系、字段映射、编码”三项逐一核对。

完成导入与浏览后,数据才真正成为可用的空间图层。下一阶段的分析、制图与统计,都建立在“来源清楚、格式匹配、坐标系正确、属性完整”这一基础之上。