一、MapCutter 概述
MapCutter 是制作覆盖图/瓦片图/金字塔图/游戏地图/切图切片的工具,它支持百度、腾讯、高德、天地图、谷歌、必应地图、MapBox等地图服务,是市面上最易用的同类软件,并支持js、webgl、leaflet、maptalks、openlayers、cesium 等地图网页输出,无偏移。可用于景区地图切图、遥感地图切图、游戏地图切图、虚拟城市地图、省市范围地图拼接等地图应用开发。
MapCutter 3.9 使用介绍
1.1 下载
MapCutter-3.11.6https://download.youkuaiyun.com/download/surfsky/89607621MapCutter-3.11.3
https://download.youkuaiyun.com/download/surfsky/89423272
1.2 最新版本功能
- 支持地图:百度、腾讯、高德、天地图、必应、谷歌、MapBox。
- 输入能力:
支持超大图片(分辨率大于20480 x 20480,几十G的大图片)
支持输入图片格式:jpg, png, tiff, gif, webp
支持矢量图片 svg
- 输出能力:
支持输出图片格式:png、tif、jpg、webp。可设置切片图片质量。
支持标准(256 x 256)及高清地图切片输出(512 x 512),适合手机及视网膜屏查看。
支持10-30级地图切图。
支持自定义图片路径,如/z/x_y.png 或 /z/x/y.png。
支持多版本地图网页输出:
Baidu : v2、v3、maptalks
BaiduGL: gl, openlayers, cesium
Tencent : v2、gl、leaflet、cesium
Gaode : v1、v2(gl)、leaflet、maptalks、openlayers、cesium
TianDiTu : v3、v4、leaflet, maptalks、openlayers、cesium
Bing : js、leaflet、openlayers、cesium
Google : js、leaflet、maptalks、openlayers、cesium
MapBox:gl、leaflet
支持多地图无缝拼接,可用该功能生成省、市范围的大规模地图。
支持自定义网页输出模版。
- 快速校准地图解决方案:
可拖动五点快速精确定位地图。
可调整不透明度辅助定位定图
可搜索地点快速定位地图
可根据图片内置的经纬度数据自动定位(支持 geotiff、exif gps)。
可显示行政区域便于快速定位定图
可旋转图片微调定位
可根据源图长宽比自动调整地图
可设置图层的宽度高度,便于与游戏像素相匹配,支持游戏地图开发。
可选预览网页,便于地图框架适配,匹配高缩放等级WebGL地图。
- 其它技术能力
支持配置文件读写。
支持最新版本检测及下载。
支持将切片合并成一个大图片。
使用内置 Web 服务器,查看需要部署成网站的地图网页不报错。
提供小型集成网页开发环境(谷歌内核),可直接对生成的网页进行调试、修改、保存。
提供图片预处理工具 MapPainter,可预览、旋转、缩放、AI增清
如果跑不起来,请运行安装一下安装包里面的VC再发布程序 VC_redist.x64.exe
二、切图步骤
(1)设置覆盖图及地图配置参数
(2)设置覆盖图位置区域
(3)点击“开始切图”按钮,结束后就可以看生成的网页
小型网页集成开发环境
三、生成平台网页示例
百度地图
腾讯地图
高德地图
天地图
必应地图
谷歌地图
Leaflet
MapTalks
Cesium
MapBox
四、拼接地图步骤
如果多个地图不毗邻的话,将生成的地图切片目录拷贝覆盖合并就行了。如果毗邻的话,直接拷贝目录覆盖会导致相邻切片图片被叠加覆盖,这时候就要用到 MapCutter 的“地图合并”功能了。我们在制作省市等超大地图的时候,经常分成多个区域分别切图,再使用 MapCutter “地图合并”工具合并地图目录,会自动无缝合并毗邻地图切块。以三块腾讯地图拼合为例:
(1)先分别切图,生成三个地图(这三个地图是毗邻重叠的),目录分别为 a_tencent, b_tencent, c_tencent,目录内有 html 文件和切块 tiles 目录。。
(2)点击主界面“合并图片目录”按钮,选择上一步的几个目录,点击“处理”按钮;
(3)等待处理结束,查看最后合并后的地图网页和目录。
五、图片预处理
点击首页工具栏区”预处理“按钮,弹出MapPainter 窗口,在该窗口可以对图片进行一些简单的预处理工作,如缩放、旋转、去背景颜色等。
六、部分客户切图示例
八里河
凤凰沟
吴江胜地公园
Google 超大图切 10- 22 级地图
武汉柏泉
宁波四明湖
惠州江心公园
宁波九龙湖
北京鲜花巷
甘肃官鹅沟
茂县古羌城
北京密云
安徽安谭陈村
长治虚拟城市
甘肃省国画风
滁州手绘地图
台山海岸监管
成都大熊猫繁育研究基地
湛江
七、FAQ
Q: 程序好像没跑起来?
A: 个别电脑环境有差异,试一下安装vc_redist.x64.exe(在安装包根目录下)。也可以从服务器下载: Visual C++ Redistributable 2019:https://aka.ms/vs/17/release/vc_redist.x64.exe
Q: 如何升级版本?
A: 软件顶部上有“版本检测”按钮,点击后即可获取最新版本的信息(不过这个github的版本监测接口不稳定,最好去github上下载最新版本 https://github.com/surfsky/MapCutterRelease/releases)。下载最新版本后解压,并把之前申请的 app.license 文件拷贝过去即可使用。
Q: 为什么切图后会有淡红色背景、网格和编号
A: 这是调试信息。注册后,首页“输出调试信息”选项不勾选,即可输出正常切图地图。
Q: 为什么切图后的网页还会显示白色网格
A: 有些地图API有瑕疵,拼图时会显示一条缝隙,不影响使用。该工具切好的小图都是完整(256*256),没有白缝。
Q: 切图速度如何?
A: 非常快。普通18级的原始图片(分辨率在5120 x 5120 左右的源图),切10-18级的图片只需要1.5分钟左右,切10-19级的图片需要3分钟左右,视设备性能耗时有少许偏差。有个客户的图分辨率是 25200 × 16326,大小大致在 509 M,切图 10-22级,用了27分钟,切好后的图占了 5.66G 的硬盘。该软件对性能进行了深入优化,尽采用多线程、存内计算、以空间换时间等策略,大大减少了切图消耗的时间。
Q: 该工具支持多大的地图图片?
A: 该工具支持大于 20480 * 20480 分辨率的大图片(一般都大于200M),图片尺寸上限没测试过,理论上没有上限,但超大的图处理时要吃内存和硬盘,请预留好足够的临时空间,或拆为多个中型图片处理后再拼接。有个客户使用多张 4G-30G 的无人机航拍遥感图片,用于海岸线围垦监管比对。
Q: 支持超大图片是什么意思?
A: “支持超大图片”功能支持处理分辨率大于 20480*20480 的原始图片(一般文件都大于 200 M),一般是一些专业客户才用到的,如大面积航拍遥感图片的展示。如果只是处理景区、社区规划,一般用不到该功能。支持超大图片功能的注册费另计,可在注册窗口 》功能项中,选中 “支持超大图片” 并进行申请注册。
Q: 读取超大图片或处理超大面积地图时报错?
A: 读取超大图片报错图像读取失败:unable to call VipsForeignSavePngFile wbuffer_write: write failed windows error。请尝试以下方式解决:
(1)用管理员身份运行该软件
(2)Windows 登录账户请用纯英文字符
(3)C盘请预留足够空间(50G-100G),供图片预处理用。大图切图算法是用空间换时间,加速切图效率,要预留足够的硬盘空间。如果C盘腾不出空间,请修改系统环境变量“TMP, TEMP, TMPDIR" 为其它有充足空间的硬盘(控制面板〉系统〉高级系统设置〉环境变量),并重启系统。
Q: 如何拼接多个地图?
A: 本软件已实现地图目录合并功能,可合并多个地图切片目录,并自动拼接地图切片,该功能可用于实现省市级超大地图的绘制。步骤如下: (1)预先做好子地图,目录如城区a、城区b、城区c; (2)点击主界面“合并图片目录”,选择第一步的主目录,点击“处理”按钮; (3)等待处理结束,查看合并的目录,如: 城区_merge 该功能由大图版本提供。
Q: 切图的级别如何选择?
A: 一般网页选择 14-18 级, 手机选择 15-19 级,视地图区域有浮动。20 级以上仅有少数地图服务商支持,谷歌支持到22级。Google map 缩放级别是不均匀的,某些地方的缩放级别仅为15左右,而其他地方的缩放级别则为23(或更高). 也可以考虑用三方的地图 api,如 LeafLet、MapTalks, Openlayer、Suppermap 没有做级别限制。
Q: 为什么有些切好的地图会模糊?
A: 针对提升地图清晰度的需求,该软件做了很多迭代优化:
(1)先尝试使用“高清模式”,输出512*512的切片,该模式适合手机及视网膜屏查看,地图更为清晰。
(2)确保贴图要足够清晰(如19级),避免拉伸导致切图模糊,并建议设计师提供 png/tif 格式的图片,该格式是无损压缩的,具有较高的清晰度,且具有透明通道,可以和地图底图无缝融合在一起。
(3)对于低放缩级别场合可采用另外一套低分辨率贴图。这和游戏贴图一样的原理,一般设计师提供的原图细节很丰富,压缩成小图后细节会丢失及模糊化。若要达到最好的效果,需要设计师提供一套低分辨率、去掉过细细节的图片,如14级。如果不好理解,你可以用 Photoshop 将 10000*10000 的有图有线有文字的很清晰的图片缩小到 1000*1000,你看一下会不会模糊。
(4)一般不建议在设计图中绘制文本,文本就是那种属于细节丰富的部分,压缩后就是很容易模糊的。文本建议用程序代码进行标注;
(5)该软件支持 svg 矢量图片,图片放缩始终清晰!
(6)AI 智能增清能力正在研究。
Q: 支持输出的图片格式?
A: 最新版本支持输出 png、jpg、webp格式图片。其中png 图片有半透明通道,可以将定制图片与地图地图无缝融合。如果用 jpg,定制地图周边那一圈的切块底色是有颜色的,会把地图底图覆盖住,很难看的。webp图片体积最小,经测试有些老版本手机不支持。
Q: 自定义图层的两个坐标如何确定?
A: 本工具与其它工具相比最大的特点就是快速精准辅助定位能力。地图提供商提供的地图底图一般都是加密且扭曲的,设计图或遥感地图一般都不能与地图服务商地图精确匹配,都要微调,这是就是这个软件出现的意义。可在第二步预览窗口中:
(1)导入图层是半透明的,可调整不透明度,便于与底图进行匹配。
(2)可搜索地址快速定位。
(3)可拖动导入图左上角和右下角的锚点来调整区域范围。
(4)可拖动导入图中间的的锚点,平移导入图层。
图层如何精确匹配:
(1)通过对道路河流来进行匹配来确定位置,因为它们比较长,很容易匹配上;
(2)通过标志性建筑来定位,如立交桥、楼宇等;
(3)如果都没有,只能问设计师,让他们把地图底图也提供一下作为比对;
Q: 为什么我用别人给的坐标偏差这么大?
A: 每个地图提供商都有自己的加密和偏移机制,一个建筑在不同的地图上坐标是不一样的。故地图坐标要和对应地图服务匹配使用,不同地图提供的坐标不能混用。
Q: 该软件能根据自己的模版生成网页吗?
A: 支持。(1)在首页勾选“使用模版”并设置模版文件,最后生产阶段可根据该模版输出网页。(2)安装包目录 /templates/ 里面有几个地图的输出模板供参考。(3)模版功能支持的参数如下:
/*APIKEY*/ 地图KEY
/*CENTER*/ 区域中心点坐标
/*POINT1*/ 区域左上角坐标
/*POINT2*/ 区域右上角坐标
/*POINT3*/ 区域右小角坐标
/*POINT4*/ 区域左下角坐标
/*CENTER-LATLNG*/ 区域中心点坐标(纬度经度)
/*POINT1-LATLNG*/ 区域左上角坐标(纬度经度)
/*POINT2-LATLNG*/ 区域右上角坐标(纬度经度)
/*POINT3-LATLNG*/ 区域右小角坐标(纬度经度)
/*POINT4-LATLNG*/ 区域左下角坐标(纬度经度)
/*ZOOMDISP*/ 地图放缩级别
/*ZOOMMIN*/ 地图最小放缩级别
/*ZOOMMAX*/ 地图最大放缩级别
/*SHOWRECT*/ 是否显示矩形区域
/*NAMEFORMAT*/ 瓦片图片名模板
/*IMAGE*/ 缩略图地址
Q: 为什么生成的地图网页直接双击打开会显示不出来?
A: 有些地图网页要求在网站环境下才能运行,如 leaflet 和高德的网页。此外还有些网页需要自带梯子,如 Google 地图。
Q: 生成的地图网页在调试模式下看到好多 failed to load/ERR_FILE_NOT_FOUND 图片找不到错误?
A: 这是某些地图供应商的 API 问题,切图是完整的不影响运行。它尝试获取当前放缩比例下当前地图区域上的所有自定义图片切块,没有的就报404,但不影响地图展示。如果地图供应商 API 支持的话,可以考虑设置定制地图的坐标区域。
Q:可以做游戏地图切图吗?
A:可以。本软件对游戏地图做了优化支持,可用 leaflet 结合本工具做游戏地图。以米哈游的地图为例(分辨率为9000*9000),可在预览页面中把左上角经纬度设置为(0,0),并设置宽度为9公里,高度为9公里,即可切图,这样每米就可以对应地图中的一个像素。
https://uploadstatic.mihoyo.com/ys-obc/2021/02/24/76892539/8b089185befd5f9deec76de5fd40f225_8511148262888359032.jpeg
八、附录:故宫数据
baidu
116.398, 39.9295
116.409, 39.9193
tencent
116.39147686767578, 39.92318118446173
116.40299185180666, 39.91298024307851
九、都是好评