一、账号注册及Key获取1.进入天地图官网:天地图API,点击控制台进行账号注册。
2.登录成功后点击控制台,选择应用管理,创建新应用。
配置好你就可以获得对于的Key了,如下图所示
二、地图数据下载GeoJSON1.打开天地图服务中心下载地图数据:天地图 服务中心
2.下载你需要的数据,假设我需要下载两个数据,分别是全国数据和嘉兴市的地图数据。
全国数据的下载,按如下配置好后点击下载数据,等待下载完成即可:
嘉兴市数据的下载,在选择地区选择好省市开始下载即可:
浏览器下载好数据应该如下显示:
三、QGIS软件中添加并显示对应地图数据1.在 QGIS 中添加天地图服务 : 你需要分别添加卫星影像底图和地名注记图层。
(1)在 QGIS 的“浏览器”面板中,找到 XYZ Tiles,右键点击并选择 新建连接...
(2)添加卫星影像底图:在点开新建连接后把Name和URL配置好并点击确定。
卫星影像底图的链接:天地图API
注意:这里的配置都是两两配对的,比如我用的是影像底图:
http://t0.tianditu.gov.cn/img_w/wmts?tk=您的密钥球面墨卡托投影
那么对应使用的影像注记就是:
http://t0.tianditu.gov.cn/cia_w/wmts?tk=您的密钥球面墨卡托投影
当前给的路径并不是正确的,需要完整的路径应该是:
https://t0.tianditu.gov.cn/img\_w/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=img&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}&tk=你的密钥
https://t0.tianditu.gov.cn/cia\_w/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=img&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}&tk=你的密钥
你只要在对应的“你的密钥”的位置填入你的第一步获得的密钥即可。
接下来,我们回归主体,在下图新建连接里面分别填入(填入的名称Name可以随意):
Name:TDT Satellite
URL:https://t0.tianditu.gov.cn/img\_w/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=img&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}&tk=你的密钥
然后就可以点击确定后,双击那个你已经新建的连接,效果如下则说明你成功添加了:
(3)添加影像注记图层(和上述步骤2类似) :在点开新建连接后把Name和URL配置好并点击确定。效果如下:
注意:图层Layers谁在上面优先显示谁,如下图
示例地址:影像: http://t0.tianditu.gov.cn/DataServer?T=img_w&x={x}&y={y}&l={z}&tk=你的密钥影像注记:http://t0.tianditu.gov.cn/DataServer?T=cia_w&x={x}&y={y}&l={z}&tk=你的密钥
2.在 QGIS 中添加地图数据GeoJSON并下载对应离线的地图数据 :(1)将之前下载好的地图数据拖入QGIS软件中,效果如下:
(2)使用插件生成地图瓦片包:1)安装插件:点击菜单栏 插件 -> 管理并安装插件...
在搜索框中输入 QTiles,找到后点击“安装插件”
2)打开插件: 安装成功后,在工具栏上找到它的图标。
3)配置参数,当前我打算下载中国地图瓦片包,具体配置(全国地图级别ZOOM一般是0-10,市级别的用10-15)如下图:
output的参数可以通过点击右侧的更多三个点的按钮,按如下配置:
配置好后单击run等待其下载完毕。
上****面之前说过,地图数据需要成对下载,刚刚下载了影像底图,现在下对应的影像注记,记住layers的图层需要切换为注记的那个连接,然后依次配置好开始下载:
接下来是嘉兴市的影像底图和对应的对应的影像注记,配置如下:
(3)配置地图config.json:
假设你已经下好了大量的地图数据:
我们需要一个json文件来做映射配置,方便地图服务的部署:
例如我的config.json内容如下:
12345678910111213141516171819202122{ "options": { "paths": { "root": "/data", "mbtiles": "/data" } }, "data": { "chinac_img_w_0_10": { "mbtiles": "chinac_img_w_0_10.mbtiles" }, "china_cia_w_0_10": { "mbtiles": "china_cia_w_0_10.mbtiles" }, "jiaxin_img_w_10_15": { "mbtiles": "jiaxin_img_w_10_15.mbtiles" }, "jiaxin_cia_w_10_15": { "mbtiles": "jiaxin_cia_w_10_15.mbtiles" } }}
以上完成后还需要用下文的docker来运行地图服务。
3.在 QGIS 中添加地图数据GeoJSON并下载对应离线的地图数据 :(1)重新拉取 Docker 镜像首先,你需要从打开Docker Desktop后在命令提示符或powershell重新拉取 maptiler/tileserver-gl 镜像(注意:你需要开启vpn连接外网才可以,否则会连接超时)。打开您的终端(Terminal)并执行以下命令:
1docker pull maptiler/tileserver-gl一键获取完整项目代码
(2)查找下载好的镜像名称1docker images一键获取完整项目代码
你会看到一个列表,类似这样:
(3)运行容器现在,你的离线镜像已经成功加载并准备就绪,通过以下命令启动你的地图服务:
把在我本地的地图项目启动起来:将容器的8080端口映射到主机的8083端口:
1docker run --rm -it -p 8083:8080 -v "C:\Users\dddsg\Desktop\mymapTiles":/data maptiler/tileserver-gl:latest一键获取完整项目代码
C:\Users\dddsg\Desktop\mymapTiles是你下载好的瓦片包:
注意:在测试过程中我遇到bug,我执行结果如下:1C:\Users\dddsg>docker run --rm -it -p 8083:8080 -v "C:/Users/dddsg/Desktop/公安项目/地图服务相关/mymapTiles":/data maptiler/tileserver-gl:latestWARNING: The requested image's platform (linux/arm64) does not match the detected host platform (linux/amd64/v3) and no specific platform was requestedStarting tileserver-gl v5.3.1Using specified config file from config.jsonStarting serverListening at http://[::]:8080/SQLITE_READONLY: attempt to write a readonly database一键获取完整项目代码
报错说我的文件夹是只读无法写入,应该是在桌面创建文件夹导致的,你需要把里面的文件移到一个新的你自己创建的文件夹,例如我之后执行:
docker run –rm -it -p 8083:8080 -v “C:/Users/dddsg/Desktop/公安项目/地图服务相关/mymap”:/data maptiler/tileserver-gl:latest
其中C:/Users/dddsg/Desktop/公安项目/地图服务相关/mymap 就是我自己新建的项目,执行后
在浏览器中的地址栏写入:
1http://localhost:8083/一键获取完整项目代码
这是我们映射的端口,效果图如下:
这说明我们本地的项目成功跑起来了,恭喜你完成到这一步,接下来在vscode部署实现地图的展示。
备注注意事项
使用插件下载瓦片之前,一定要先将不相关图层都隐藏掉(取消勾选),否则QGIS中显示的是什么效果,下载下来就是什么效果(比如如果加载了全国的geojson数据,那么下载的切片也会有这个矢量数据,这是不对的)。
下载文字标注切片时,要配置额外的参数。需要将Parameters中的Background transparency数据设置为0,否则默认为255,是不透明的,会遮挡我们的真实影像。下载影像瓦片时则将该项设置为255。
切片发布1npx http-server ./tiles -p 8000
需要有 node 环境,当然使用其他方式也可。
测试调用123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262