简介:《Global Mapper操作手册》是一份面向GIS初学者与地图数据处理从业者的PDF教程,由风侠老师主讲,系统讲解Global Mapper在地图绘制、数据转换与地形分析中的核心用法。资源包共1个PDF文件,大小约13.03MB,内容以图文步骤为主,便于对照软件界面边看边练。手册重点覆盖光栅图像剪裁与羽化、范围环与环交集创建、地形编辑及三角高程网生成、结合地形层的加减与平均运算等模块,并延伸至投影系与椭球参数设置等进阶主题,可帮助读者掌握从数据加载、区域绘制到高程属性分配与网格运算的完整流程。目前已有1121人学习,适合希望提升地图编辑、GIS分析与地形处理效率的读者作为案头参考。
1. 从一份 Global Mapper 操作手册说起:GIS 数据处理到底卡在哪
很多人第一次拿到 Global Mapper 操作手册.pdf,翻两页就放下了——界面全是英文按钮,工具栏密密麻麻,跟 ArcGIS 那套逻辑完全不一样。但真正做过 GIS 数据处理的人知道,Global Mapper 解决的是一个很具体的问题:多源异构空间数据的快速加载、转换和出图。你手上有 DEM、卫星影像、CAD 图纸、Shapefile、KML、点云,格式五花八门,坐标系各说各话,老板要你半天内出一张带等高线的正射影像图。ArcGIS 当然能做,但启动慢、授权贵、格式支持还得装一堆扩展。Global Mapper 就是在这个缝隙里活下来的——轻量、格式通吃、脚本可批处理。这份操作手册的核心价值不在于教你点哪个按钮,而在于帮你建立一套「数据进来→处理→出去」的流水线思维。适合谁看?做测绘、遥感、规划、环境监测的一线人员,以及需要批量处理空间数据但不想写太多代码的工程师。
2. Global Mapper 的数据加载与格式转换:从拖进去到转出来
2.1 为什么 Global Mapper 能通吃这么多格式
Global Mapper 底层有一套自己的格式解析引擎,不依赖外部插件。常见做法是:它先把所有数据读成内部栅格或矢量图层,再统一渲染。这意味着你拖一个 .dwg 进去,它不会像 CAD 那样保留图层结构,而是按几何类型拆成点、线、面。这个设计有利有弊——好处是转换快,坏处是属性字段可能丢失。我一般会在加载前先确认源数据的坐标系和字段结构,尤其是 Shapefile 的 .prj 文件是否完整。如果 .prj 缺失,Global Mapper 会弹窗让你手动指定,这时候别随便选 WGS84,得查清楚源数据实际用的什么坐标系。
加载方式有三种:拖拽、File 菜单导入、命令行脚本。拖拽适合单文件快速查看,批量处理必须用脚本。Global Mapper 支持 .gms 脚本文件,本质是一系列命令的集合,可以循环处理整个文件夹。
2.2 用脚本批量转换格式的最小命令
假设你有一批 GeoTIFF 影像,需要转成 ECW 压缩格式,同时统一坐标系到 WGS84 UTM 50N。手动一张张转太慢,用脚本:
# 保存为 convert_batch.gms GLOBAL_MAPPER_SCRIPT VERSION=1.00 // 设置输出坐标系 SET_PROJ "EPSG:32650" // 循环加载指定目录下所有 tif DIR_LOOP_START DIRECTORY="D:\input_tif" FILENAME_MASKS="*.tif" IMPORT FILENAME="%FULL_PATH%" // 导出为 ECW,压缩比 20:1 EXPORT_TYPE=ECW FILENAME="D:\output_ecw\%FNAME%.ecw" COMPRESSION=20 // 清理当前图层,避免内存堆积 UNLOAD_ALL DIR_LOOP_END这段脚本的逻辑很直白:先声明脚本版本,设定目标投影,然后遍历目录。%FULL_PATH%和%FNAME%是 Global Mapper 内置变量,分别代表完整路径和文件名(不含扩展名)。COMPRESSION=20表示 20 倍压缩,数值越大文件越小但画质损失越明显,一般影像用 15-20,需要精细判读的用 10 以内。UNLOAD_ALL很关键,不写的话处理几十张后内存会爆。
参数说明:SET_PROJ接受 EPSG 代码或 proj4 字符串,建议用 EPSG 代码,不容易写错。DIR_LOOP_START的FILENAME_MASKS支持通配符,多个用分号隔开。导出格式除了 ECW,还支持 GeoTIFF、JPEG2000、PNG 等,改EXPORT_TYPE即可。
2.3 矢量数据转换的字段映射坑
矢量转换比栅格麻烦,因为涉及属性字段。比如把 Shapefile 转成 GeoJSON,Global Mapper 默认会保留所有字段,但字段名超过 10 个字符可能被截断。更稳妥的做法是在导出时显式指定字段映射:
IMPORT FILENAME="D:\shp\roads.shp" // 只导出需要的字段,并重命名 EXPORT_TYPE=GEOJSON FILENAME="D:\out\roads.json" \ EXPORT_ATTR="road_name=NAME;road_type=TYPE;length=SHAPE_LEN"EXPORT_ATTR的格式是「新名=旧名」,分号分隔。如果不写这行,所有字段原样导出,但遇到中文别名可能乱码。我习惯在导入后先用GET_LAYER_INFO查看字段列表,确认无误再导出。
3. 地形分析与等高线生成:DEM 处理的核心参数
3.1 从 DEM 到等高线:分辨率决定一切
Global Mapper 生成等高线的原理不复杂:对 DEM 栅格逐像元计算高程,然后按设定间距插值出等值线。但这里有个容易被忽略的参数——重采样分辨率。如果你拿 30 米 SRTM 数据生成 5 米间距的等高线,出来的线会非常锯齿,因为源数据精度不够。常见做法是:等高线间距至少是 DEM 分辨率的 2-3 倍。30 米 DEM 就生成 10 米或 20 米间距,1 米 LiDAR 数据可以生成 0.5 米间距。
操作路径:File → Open Data 加载 DEM,然后 Analysis → Generate Contours。弹窗里几个关键参数:
| 参数 | 含义 | 推荐值 |
|---|---|---|
| Contour Interval | 等高线间距 | DEM 分辨率的 2-3 倍 |
| Elevation Units | 高程单位 | 与源数据一致,别默认米 |
| Smooth Contours | 平滑系数 | 3-5,太大失真 |
| Min/Max Elevation | 高程范围 | 留空自动检测 |
平滑系数这个参数很玄学,设 0 出来的线跟狗啃一样,设 10 又把山头抹平了。我一般先设 3 跑一遍看效果,不够再调。
3.2 用脚本批量生成等高线并导出
手动一张张生成不现实,脚本化是必须的:
GLOBAL_MAPPER_SCRIPT VERSION=1.00 // 加载 DEM IMPORT FILENAME="D:\dem\dem_50m.tif" // 生成等高线,间距 10 米,平滑系数 4 GENERATE_CONTOURS INTERVAL=10 SMOOTH=4 ELEV_UNITS=METERS // 导出为 Shapefile EXPORT_TYPE=SHAPEFILE FILENAME="D:\out\contours_10m.shp" \ EXPORT_ATTR="elev=ELEVATION"GENERATE_CONTOURS的INTERVAL单位跟随 DEM 的高程单位,如果 DEM 是英尺,这里也得用英尺。EXPORT_ATTR把高程值写进属性表,方便后续在 QGIS 里做标注。注意:生成的等高线默认是 3D 线,如果只需要 2D,加FLATTEN=YES。
3.3 地形剖面与体积计算
Global Mapper 另一个高频用途是算土方量。比如两个时期的 DEM 相减,得到填挖方。操作:加载两期 DEM,Analysis → Combine Terrain Layers → Subtract。然后右键图层 → Measure Volume,框选区域就能出结果。这里有个坑:两期 DEM 的坐标系和范围必须完全一致,否则相减出来是错的。我一般先用CROP命令把范围裁成一样,再相减。
4. 避坑与排查:Global Mapper 操作手册里不会写的 5 个翻车现场
4.1 中文路径导致脚本执行失败
现象:脚本跑一半报错「File not found」,但文件明明存在。原因:Global Mapper 脚本引擎对中文路径支持不稳定,尤其是 Windows 中文用户名下的临时目录。解决:所有输入输出路径用纯英文,别图省事放桌面。脚本文件本身也存成 UTF-8 无 BOM 格式。
4.2 坐标系定义错误导致数据偏移
现象:加载的影像和矢量图层叠不上,偏移几百米。原因:源数据 .prj 缺失或错误,Global Mapper 默认按 WGS84 处理。解决:加载时手动指定坐标系,别点「自动检测」。用SET_PROJ显式声明。如果不知道源坐标系,找元数据文件或问数据提供方。
4.3 大文件导出内存溢出
现象:导出 10GB 的 DEM 时程序崩溃。原因:Global Mapper 默认一次性读入内存,32 位版本尤其容易崩。解决:用 64 位版本,导出时勾选「Tile Output」分块导出,每块 2GB 以内。脚本里加TILE_SIZE=2048。
4.4 等高线生成后属性表为空
现象:生成的等高线 Shapefile 没有高程字段。原因:GENERATE_CONTOURS默认不写属性,需要显式指定。解决:加EXPORT_ATTR="elev=ELEVATION",或者生成后用CALC_ATTR命令补上。
4.5 脚本循环处理时图层未清理
现象:处理到第 20 个文件时速度骤降,最后卡死。原因:每次循环都往内存里塞新图层,没释放。解决:循环体末尾加UNLOAD_ALL,或者用UNLOAD_LAYER精确卸载。别指望程序自动回收。
5. 进阶技巧:用 Global Mapper 脚本做自动化质检
5.1 批量检查 DEM 空洞与异常值
数据质检是 GIS 流程里最枯燥的环节。Global Mapper 有个ANALYZE_TERRAIN命令,能统计高程范围、均值、标准差,还能标记空洞。我一般写个脚本,遍历所有 DEM,输出一份 CSV 报告:
GLOBAL_MAPPER_SCRIPT VERSION=1.00 DIR_LOOP_START DIRECTORY="D:\dem_check" FILENAME_MASKS="*.tif" IMPORT FILENAME="%FULL_PATH%" // 分析地形,输出统计信息到变量 ANALYZE_TERRAIN // 导出报告 EXPORT_REPORT FILENAME="D:\report\%FNAME%_stats.csv" \ FORMAT=CSV REPORT_TYPE=TERRAIN_STATS UNLOAD_ALL DIR_LOOP_ENDANALYZE_TERRAIN会计算最小/最大高程、平均高程、标准差、空洞像元数。EXPORT_REPORT把结果写成 CSV,后续用 Excel 或 Python 筛出异常值。比如标准差超过 500 米的 DEM 大概率有问题,要么是云污染,要么是拼接错误。
5.2 用 Global Mapper 做正射影像的快速拼接
无人机航拍的正射影像通常分幅导出,需要拼接。Global Mapper 的MOSAIC命令可以自动匀色和接边:
IMPORT FILENAME="D:\ortho\*.tif" MOSAIC FILENAME="D:\out\mosaic.tif" \ BLEND=YES COLOR_BALANCE=YES \ COMPRESSION=DEFLATEBLEND=YES开启接边羽化,COLOR_BALANCE=YES自动匀色。如果影像之间有明显色差,再加HISTOGRAM_MATCH=YES。导出格式建议用 GeoTIFF + DEFLATE 压缩,兼容性好,QGIS 和 ArcGIS 都能直接读。
5.3 一个我常犯的错误
早些年我图省事,脚本里不写SET_PROJ,想着源数据自带坐标系,结果有一次处理一批无人机影像,导出后发现整体偏移了 50 米。查了半天才发现,那批影像的 POS 数据用的是地方坐标系,而 Global Mapper 默认按 WGS84 处理。从那以后,我养成了一个习惯:任何脚本第一行先写SET_PROJ,哪怕源数据有坐标系也显式声明一遍。这个习惯帮我省了至少三次返工。希望帮到你。
本文还有配套的精品资源,点击获取