通过OpenLayers3调用TileMapServer的栅格瓦片服务与失量瓦片服务

简介: TileMapServer是一个高性能的Web地图服务器,可以非常方便快速的将己有的失量地图发布为Web地图服务。失量地图支持shp、tab、mif三种文件格式的导入,并可以支持栅格瓦片,失量瓦片及空间信息查询等常用的web地图服务。

TileMapServer是一个高性能的Web地图服务器,可以非常方便快速的将己有的失量地图发布为Web地图服务。失量地图支持shp、tab、mif三种文件格式的导入,并可以支持栅格瓦片,失量瓦片及空间信息查询等常用的web地图服务。

以下是调用TileMapServer的栅格瓦片服务js方法:

<script>
var map = new ol.Map({
    layers: [
        new ol.layer.Tile({
            source: new ol.source.OSM({url:"http://127.0.0.1:8080/tilemap?level={z}&ix={x}&iy={y}"})
        })
    ],
    target: 'map',
    controls: ol.control.defaults({
        attributionOptions: /** @type {olx.control.AttributionOptions} */ ({ collapsible: false }) }),
        view: new ol.View({ center: [112, 21], zoom: 5 })
    });
</script>

以下是调用TileMapServer失量瓦片的方法:

<script>
    var map = new ol.Map({
        layers: [
          new ol.layer.VectorTile({
              source: new ol.source.VectorTile({
                  format: new ol.format.MVT(),
                  tileGrid: ol.tilegrid.createXYZ({ maxZoom: 22 }),
                  tilePixelRatio: 16,
                  url: 'http://127.0.0.1:8080/vector-tile?level={z}&ix={x}&iy={y}'
              }),
              style: createMapboxStreetsV6Style()
          })
        ],
        target: 'map',
        controls: ol.control.defaults().extend([
            new ol.control.MousePosition()
        ]),
        view: new ol.View({
            projection: 'EPSG:3857',
            center: [0, 0],
            zoom: 2
        })
    });
</script>

以下是服务器的配制文件:

<server>
  <!--服务器提供http服务的端口-->
  <port>8080</port>
  <!--该文件为TileMap生成的地图文件,需要将同名的cfg文件放在同一文件夹-->
  <database>D:\test11.gid</database>
  <tile>
    <!--地图背景,也可以配制为图片文件,图片的颜色应尽可能的简单-->
    <background>#ffcae2f0</background>
    <!--瓦片缓存级别,大于该级别的瓦片不会缓存到文件中-->
    <cache-level>16</cache-level>
    <!--服务器在内存中缓存瓦片的数量,当级别大于cache-level时会缓存在内存中-->
    <cache_count>500</cache_count>
    <!--瓦片缓存路径,请确保有足够的存储空间-->
    <cache-path>d:\map\tile</cache-path>
  </tile>
  <vectortile>
    <!--失量瓦片缓存级别,大于该级别的瓦片不会缓存到文件中-->
    <cache-level>10</cache-level>
    <!--服务器在内存中缓存瓦片的数量,当级别大于cache-level时会缓存在内存中-->
    <cache_count>500</cache_count>
    <!--渲染精度,长度长于该值的线条均会被忽略-->
    <accuracy>20</accuracy>
    <!--失量瓦片缓存路径,请确保有足够的存储空间-->
    <cache-path>d:\map\vectortile</cache-path>
  </vectortile>
  <!--服务器执行http请求的线程数量-->
  <threads>1</threads>
  <headers>
    <!--该内容服务器会直接加入http头里面,可根据需要自行设置-->
    <header name="Cache_control" value="max-age=30"/>
    <header name="Access-Control-Allow-Origin" value="*"/>
  </headers>
</server>

软件下载地址:www.tilemapserver.com
己配制好的2G大小的全图地图数据:http://pan.baidu.com/s/1c12Qfo0

目录
相关文章
|
存储 安全 数据库
python ras 私钥加密
【4月更文挑战第10天】
1108 2
|
Linux Shell Windows
通过Linux挂载Windows端NFS服务实现板端Linux传输文件到PC
通过Linux挂载Windows端NFS服务实现板端Linux传输文件到PC
1372 0
|
28天前
|
NoSQL Java 关系型数据库
手撕分布式锁
本文系统介绍了Redis分布式锁的实现方案。首先阐述了分布式锁的基本概念,包括互斥性、可见性、高可用等核心特性。然后详细讲解了基于Redis的两种实现方式:1)使用SETNX命令实现简单锁,并通过Lua脚本解决原子性问题;2)Redission框架提供的可重入锁、锁续期(WatchDog)和MultiLock多节点锁机制。文章重点分析了锁误删、原子性、主从同步等常见问题及解决方案,并提供了完整的Java代码示例。最后对比了不同方案的优缺点,建议生产环境优先使用Redission框架,其完善的锁管理机制能有效
|
消息中间件 NoSQL 前端开发
知识付费卖课和在线教育系统源码
随着越来越多的教师和内容创作者希望通过专属平台售卖课程,搭建一套知识付费和在线教育系统成为行业热点。本文详细介绍了系统的架构设计、核心功能模块、技术实现、源码示例及开发建议,帮助开发者快速实现课程发布、学员学习、订单支付等功能。
1080 6
|
缓存 NoSQL Java
Redis应用—8.相关的缓存框架
本文介绍了Ehcache和Guava Cache两个缓存框架及其使用方法,以及如何自定义缓存。主要内容包括:Ehcache缓存框架、Guava Cache缓存框架、自定义缓存。总结:Ehcache适合用作本地缓存或与Redis结合使用,Guava Cache则提供了更灵活的缓存管理和更高的并发性能。自定义缓存可以根据具体需求选择不同的数据结构和引用类型来实现特定的缓存策略。
896 16
Redis应用—8.相关的缓存框架
|
前端开发 定位技术 API
Mapbox添加行政区矢量图层,Mapbox添加分级设色图层,Mapbox添加文本标记图层,Mapbox给行政区矢量数据添加名称,Mapbox自定义鼠标悬浮框,Mapbox添加天地图底图
Mapbox的中国分部好像在2021年左右就退出中国了,官方文档的汉化工作也戛然而止,相关的社区建设也相当欠缺,内容比较混乱,最离谱的是mapbox官方底图库中的中国地图基本都是错的,天地图引入又麻烦...... 恰好我最近有一个基础的mapbox应用需求,就做了一些整理和探索,分享给大家。 博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来
|
敏捷开发 存储 API
《小型开发者在鸿蒙Next上的成本与收益平衡之道》
鸿蒙Next系统的开发对小型开发者存在一定挑战。学习成本方面,需掌握新架构和API;开发成本受功能复杂度影响,经验不足会增加支出;设备成本因多设备测试需求较高;市场推广成本受限于资金资源。然而,鸿蒙系统也带来机遇:用户群体庞大、创新空间广阔、华为激励政策支持。通过利用开源资源、敏捷开发、聚焦垂直领域及合作,小型开发者可在鸿蒙生态中实现成功并获得收益。
572 4
|
数据采集 XML JSON
「Python入门」Python代码规范(风格)
**Python编码规范摘要** - 编码:使用UTF-8编码,文件开头可声明`# -- coding: utf-8 --`。 - 分号:避免在行尾使用,不用于分隔命令。 - 行长:不超过80字符,长表达式可使用括号换行。 - 缩进:使用4个空格,禁止混用tab。 - 注释:行注释始于`#`和空格,块注释和文档注释遵循特定格式。 - 空行:函数和类定义间用2空行,方法间1空行,内部适当空行。 - 空格:运算符两侧各空一格,逗号后空格,括号内不空格。 - 命名:模块小写,变量下划线分隔,类驼峰式,布尔变量前缀`is_`。 - 引号:保持一致性,可使用单引号或双引号。
1899 1
「Python入门」Python代码规范(风格)
|
SQL 关系型数据库 数据库
在 Postgres 中使用 Update Join
【8月更文挑战第11天】
2250 0
在 Postgres 中使用 Update Join
|
人工智能 安全 Java
当一家公司80%的程序员用AI写代码
当一家公司80%的程序员用AI写代码
1186 6

热门文章

最新文章

下一篇
开通oss服务