本教程是基于docker。Win7 不支持 npm install tileserver-gl -g(Ubuntu16.04也安装不成功,懒得找原因),但支持npm install tileserver-gl-light -g ,不过tileserver-gl-light只有矢量切片服务,栅格服务没有

环境:Ubuntu16.04

安装docker

安装docker网上教程很多。。。下面只是其中一个方法(通过脚本安装 Docker CE)

执行脚本安装命令

$ curl -fsSL get.docker.com -o get-docker.sh
$ sudo sh get-docker.sh --mirror Aliyun

启动 Docker CE

$ sudo systemctl enable docker
$ sudo systemctl start docker

Ubuntu 14.04 则:

$ sudo service docker start

建立 docker 用户组并加入当前用户

$ sudo groupadd docker
$ sudo usermod -aG docker $USER

注意退出重新登录生效,要不然没加sudo时会报权限不足。

测试是否安装成功

$ docker run hello-world

配置国内镜像
(这里适用Ubuntu16.04+、Debian 8+、CentOS 7)
对于使用 systemd 的系统,请在 /etc/docker/daemon.json 中写入如下内容(如果文件不存在请新建该文件)

{
  "registry-mirrors": [
    "https://registry.docker-cn.com"
  ]
}

注意,一定要保证该文件符合 json 规范,否则 Docker 将不能启动。

之后重新启动服务。

$ sudo systemctl daemon-reload
$ sudo systemctl restart docker

命令行执行 docker info,可以查看是否配置成功,如果出现以下则成功

Registry Mirrors:
 https://registry.docker-cn.com/

参考https://yeasy.gitbooks.io/docker_practice/install/ubuntu.html#ubuntu-1604-

安装 tileserver-gl

$ docker pull klokantech/tileserver-gl

启动 tileserver-gl 服务

$ docker run -d --name tileserver-gl --restart always \
-v ~/data:/data -p 8083:80 klokantech/tileserver-gl \
-c /data/config.json

具体参数可以参考 tileserver-gl官方文档

在此附上 config.json内容

{
  "options": {
    "paths": {
      "root": "/data/",
      "fonts": "fonts",
      "styles": "styles",
      "mbtiles": ""
    },
    "formatQuality": {
      "jpeg": 80,
      "webp": 90
    },
    "maxScaleFactor": 3,
    "maxSize": 2048,
    "pbfAlias": "pbf",
    "serveAllFonts": false,
    "serveStaticMaps": true
  },
  "styles": {
    "basic": {
      "style": "basic.json",
      "tilejson": {
        "bounds": [113.755,
          22.422,
          114.681,
          22.808]
      }
    },
    "dark": {
      "style": "dark.json",
      "tilejson": {
        "bounds": [113.755,
          22.422,
          114.681,
          22.808] 
      }
    },
    "dark2": {
      "style": "dark2.json",
      "tilejson": {
        "bounds": [113.755,
          22.422,
          114.681,
          22.808] 
      }
    },
    "osm-bright": {
      "style": "osm-bright.json",
      "tilejson": {
        "bounds": [113.755,
          22.422,
          114.681,
          22.808] 
      }
    },
    "positron": {
      "style": "positron.json",
      "tilejson": {
        "bounds": [113.755,
          22.422,
          114.681,
          22.808] 
      }
    },
    "guangfang": {
      "style": "style.json",
      "tilejson": {
        "bounds": [113.755,
          22.422,
          114.681,
          22.808] 
      }
    }
  },
  "data": {
    "v3": {
      "mbtiles": "data.mbtiles"
    }
  }
}

数据 data.mbtiles, config.json, fonts, styles 都放在data文件夹里面
文件目录

样式style模板,可以参考 tileserver-gl-styles

更多信息欢迎关注公众号

OPEN_GIS
Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐