系列文章目录

开源方案搭建可离线的精美矢量切片地图服务-1.开篇(附成果演示地址)

开源方案搭建可离线的精美矢量切片地图服务-2.PostGIS+GeoServer矢量切片

开源方案搭建可离线的精美矢量切片地图服务-3.Mapbox个性化地图定制入门

开源方案搭建可离线的精美矢量切片地图服务-4.Mapbox样式设计

开源方案搭建可离线的精美矢量切片地图服务-5.Mapbox离线项目实现

开源方案搭建可离线的精美矢量切片地图服务-6.Mapbox之.pbf字体库

开源方案搭建可离线的精美矢量切片地图服务-7.Arcgis Pro企业级应用

开源方案搭建可离线的精美矢量切片地图服务-8.mapbox 之sprite大图图标文件生成(附源码)

项目成果展示(所有项目文件都在阿里云的共享云虚拟主机上,访问地图可以会有点慢,请多多包涵)。

01:中国地图:http://test.sharegis.cn/mapbox/html/3china.html

02:德国-德累斯顿市:http://test.sharegis.cn/mapbox/html/6germany.html

1.为什么要使用.pbf格式的字体库

.pbf全称Protocal Buffers,是Google公司开发的一种数据描述语言,类似于XML能够将结构化数据序列化,可用于数据存储、通信协议等方面。简单来说就是结构简单、速度快,我们前面讲到的矢量切片也使用了这种格式。

我们常见的字体库例如微软雅黑的.ttf字体文件大约有15M,一次请求加载15M并且还要解析,对服务端和客户端的压力都大,所以Mapbox使用了.pbf的格式进行分批请求,下面是两种格式的对比。.pbf格式大大的减少了请求压力。

2.pbf格式的字体库的生成

1.使用node-fontnik工具进行转换,具体参考https://www.jianshu.com/p/23634e54487e这篇文章。

2.使用Arcgis pro进行转换,Arcgis pro包含基于Mapbox企业级的矢量切片方案,要收费,但是有20天试用,大家可以试一下,我会在下篇进行详细分析。我自己使用的自己就是通过这种方式获取的。

3.分享一些常用.pbf字体库

我在一些Mapbox群里,大家离线部署Mapbox js遇到最主要的问题就是字体库弄不下来,这里我分享几个常用字体库。

SimSun Regular(宋体):https://pan.baidu.com/s/1lv69EP5QlaUnlKZlH4-qlA

Microsoft YaHei Regular(雅黑):https://pan.baidu.com/s/1-tJr-PpKSFRxlfhWwtc0Kw

Microsoft YaHei Bold:https://pan.baidu.com/s/1Ls1hgLIbcu5impJ086x5DQ

Arial Regular:https://pan.baidu.com/s/102-e8pYKB2CO9bvP3LvWug

4.Mapbox中调用字体

字体引用

style 中添加请求路径,fontstack就是字体文件夹的名称,range就是文件名,这些请求Mapbox会自动给我们完成。

"glyphs": "../fonts/{fontstack}/{range}.pbf",

具体给symbol添加字体的方式

{
//郊区
"id": "place-suburb",
"type": "symbol",
"source": "germany",
"source-layer": "gis_osm_places_07_1",
"minzoom": 10,
"maxzoom": 16,
"filter": [
"==",
"fclass",
"suburb"
],
"layout": {
"text-field": "{name}",
"text-transform": "uppercase",
"text-font": [ //这个就是{fontstack},也就是字体文件夹的名称
"Microsoft YaHei"
],
"text-letter-spacing": 0.15,
"text-max-width": 7,
"text-padding": 3,
"text-size": {
"base": 1,
"stops": [
[
11,
11
],
[
15,
18
]
]
}
},
"paint": {
"text-halo-color": "hsl(0, 0%, 100%)",
"text-halo-width": 1,
"text-color": "hsl(230, 29%, 35%)",
"text-halo-blur": 0.5
},
"interactive": true
},

5.总结

本文主要分享了一些适用Mapbox 的.pbf字体库,下篇我们主要讲一下企业级Arcgis Pro 发布矢量切片服务的方法,他会将Mapbox所需的所有离线文件生成。可以借鉴一下企业级服务是如何构建的。

待续。。。。。。。。。。。。。。。。。。。。。

作者:ATtuing

出处:http://www.cnblogs.com/ATtuing

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接。

最新文章

  1. ps技巧
  2. java中TreeSet集合如何实现元素的判重
  3. DBVisualizer 6.0.2配置
  4. vijosP1371 方程的解
  5. [Webpack 2] Polyfill Promises for Webpack 2
  6. SQL Server 2000 函数使用---CAST 和 CONVERT
  7. git 快速使用(本地仓库同步到远程仓库)
  8. 【转】从框架看PHP的五种境界及各自的薪资待遇
  9. chroot命令
  10. codechef Little Elephant and Permutations题解
  11. Java IO学习笔记四
  12. jenkins 多选框
  13. Hyperledger Fabric 1.0 从零开始(七)——启动Fabric多节点集群
  14. Mybatis中几个重要类
  15. jenkins:一键回滚站点集群
  16. 微信支付自带的简易log
  17. FatMouse' Trade(杭电ACM---1009)
  18. selenium +chromdriver模块
  19. BBbacktrace installation
  20. sqlserver 2008 还原数据库时,提示有用户正在使用,无法取得使用占有权

热门文章

  1. 初始MapReduce
  2. 100度享乐电商网 html
  3. StringBuffer 去掉最后一个字符
  4. MySQL1安装
  5. SignalR 设计理念(一)
  6. 三、winForm-DataGridView操作——DataGridView 操作复选框checkbox
  7. 07_python_集合深浅拷贝
  8. pm2 官方文档 学习笔记
  9. Spring中ioc的实现原理
  10. 深度学习环境配置:Ubuntu16.04下安装GTX1080Ti+CUDA9.0+cuDNN7.0完整安装教程(多链接多参考文章)