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

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

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

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

原文地址:https://www.cnblogs.com/ATtuing/p/9217029.html

时间: 2024-10-10 12:22:38

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

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

1.简介 mapbox是一家非常牛的公司,比如像特斯拉.DJI大疆创新.孤独星球.Airbnb.GitHub.Cisco.Snap.飞猪.Keep.Bosch这些在国内外各自领域中响当当的企业都是它的客户.专注于帮助企业打造定制化地图应用的Mapbox就是这样一家“你看不见我,但我无处不在”的企业.可以开发和定制web.android.IOS.VR.无人驾驶.甚至是游戏地图场景等. mapbox-gl是Mapbox一款开源Web地图服务解决方案,用于搭建精美的地图服务,可以免费创建并定制个性化地

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

1.前言 上篇讲.pbf字体库的时候说到我们使用的字体通过Arcgis Pro 生成,Arcgis Pro样式基于Mapbox做的矢量切片地图渲染.这篇主要讲一下Arcgis Pro矢量切片生成的的具体方法,可以看一下企业级的矢量切片地图对比我们使用Geoserver进行切片的优点. 2.Arcgis Pro介绍 Arcgis Pro是esri公司推出新版arcgis系列软件.企业级矢量切片地图服务应用是新版本中新增的核心功能.矢量切片是区别于传统版本的Arcgis Server地图服务的要点,

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

先不说废话直接上地址:(所有东西都在阿里云的共享云虚拟主机上,访问地图可以会有点慢,请多多包涵). 01:中国地图:http://test.sharegis.cn/mapbox/html/3china.html 02:德国-德累斯顿市:http://test.sharegis.cn/mapbox/html/6germany.html 1.技术路线 本系列教程主要使用的开源技术有下面三点 1.基于postgresql数据库的postgis空间数据插件,主要存储空间地理信息,也可加快矢量切片的速度.

搭建可离线的精美矢量切片地图服务

1.PostGIS简介 PostGIS是对象关系型数据库系统PostgreSQL的一个扩展,PostGIS提供如下空间信息服务功能:空间对象.空间索引.空间操作函数和空间操作符.同时,PostGIS遵循OpenGIS的规范.我们项目中主要使用它来保存原始矢量数据. 2.Geoserver简介 GeoServer 是 OpenGIS Web 服务器规范的 J2EE 实现,利用 GeoServer 可以方便的发布地图数据,允许用户对特征数据进行更新.删除.插入操作,通过 GeoServer 可以比较

矢量瓦片地图服务发布后坐标系发生变化

发布矢量瓦片地图有两种方式: 通过ArcGIS Pro发布矢量瓦片(工具栏:Share->Publish Web Layer): 先制作.vtpk瓦片离线地图包,再通过ArcGIS Enterprise上传发布服务. 通过第二种方式发布服务后坐标系直接变成了投影坐标系.其中Tile不能为中文名,虽然很多时候服务发布是正常的,但偶尔会遇到服务发布后坐标系更改的情况,建议遇到命名的地方统一都为英文命名. 原文地址:https://www.cnblogs.com/yj2010/p/11533522.h

Nginx+ffmpeg的HLS开源server搭建配置及开发具体解释

本文概述: 至眼下为止.HLS 是移动平台上很重要并十分流行的流媒体传输协议.做移动平台的流媒体开发,不知道它不掌握它 .真是一大遗憾.而HLS的平台搭建有一定的难度,本文针对对该方向有一定了解的朋友,将方案实施中的一些细节和流程进行分享交流.本文介绍了.使用开源servernginx 搭建 HLS 服务比較具体的方案.測试使用 VLC以及JWPlayer播放. 切片器: HLS 是依照切片发送流媒体子块的,切片当然不可少. 编译和使用的命令例如以下,能够參考. 编译m3u8-segment 改

[原创]边缘计算开源方案对比

通过分析对比EdgeX Foundry.K3S.KubeEdge.StarlingX和OpenEdge五个开源边缘计算框架的差异,推荐选择华为开源的KubeEdge边缘计算集群方案来自建边缘计算集群. 一.五个边缘计算开源框架的简介: 1)EdgeX Foundry      Linux基金组织的开源项目.偏重于端侧设备的管理,定位是通用工业IOT边缘计算通用框架,提供了一些设备接入.边缘数据传输等场景的实现,但不具备云上对边缘端的应用和设备的管控.云边协同等智能边缘系统的能力,架构组件之间依赖

企业级开源邮件系统搭建的全过程

企业级开源邮件系统搭建的全过程: 前言:此过程为搭建企业用的邮件系统,在企业里邮件这种通信是必然存在的.当然可以选择微软的Exchange,但现在大部分企业线上跑的系统都是开源的,所以实现这种开源体系的邮件系统也是必然的. 好处:1.开源,就是意味着免费 2.自由,就是可以随意利用组件来实现想要的功能 3.方便,就是随便找台机器装个开源的linux就是部署 4.维护需要专门的人员(此为一点小弊端,不像购买微软的Exchange,可以买服务) 实现所需组件:Postfix+dovecot+Cyru

高可用开源方案Heartbeat vs Keepalived

转:http://www.kuqin.com/shuoit/20140623/340745.html 最近因为项目需要,简单的试用了两款高可用开源方案:Keepalived和Heartbeat.两者都很流行,但差异还是很大的,现将试用过程中的感受以及相关知识点简单总结一下,供大家选择方案的时候参考. 1)Keepalived使用更简单:从安装.配置.使用.维护等角度上对比,Keepalived都比Heartbeat要简单得多,尤其是Heartbeat2.1.4后拆分成3个子项目,安装.配置.使用