通过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

目录
相关文章
|
Java
JDK1.8源码下载及获取、导入IDEA阅读、配置JDK源码
本文是博主学习JDK源码的记录,希望对大家有所帮助。
3225 0
JDK1.8源码下载及获取、导入IDEA阅读、配置JDK源码
|
JavaScript 程序员 开发者
Notion客户端不好看?手把手教你把它变好看。
Notion客户端不好看?手把手教你把它变好看。
|
6月前
|
消息中间件 人工智能 Serverless
相约 GenAICon 北京站:聊聊从环境工程出发,如何“简化”多源实时上下文?
4 月 21 - 22 日,GenAICon 2026丨2026 中国生成式 AI 大会(北京站)将在北京富力万丽酒店正式举行。阿里云高级技术专家沈林受邀出席,将在 4 月 22 日下午主会场的「AI 智能体专题论坛」带来演讲,主题为《Agent 开发范式演进:从环境工程出发,“简化”多源实时上下文》。
550 51
|
7月前
|
NoSQL Java 关系型数据库
手撕分布式锁
本文系统介绍了Redis分布式锁的实现方案。首先阐述了分布式锁的基本概念,包括互斥性、可见性、高可用等核心特性。然后详细讲解了基于Redis的两种实现方式:1)使用SETNX命令实现简单锁,并通过Lua脚本解决原子性问题;2)Redission框架提供的可重入锁、锁续期(WatchDog)和MultiLock多节点锁机制。文章重点分析了锁误删、原子性、主从同步等常见问题及解决方案,并提供了完整的Java代码示例。最后对比了不同方案的优缺点,建议生产环境优先使用Redission框架,其完善的锁管理机制能有效
|
存储 监控 虚拟化
Hyper-V系统后装,实用技巧
在Hyper-V上进行系统后装时,掌握实用技巧至关重要。首先,确保硬件兼容并启用Hyper-V功能,准备操作系统镜像。接着,创建虚拟机时选择合适的版本,合理配置内存、存储和网络连接。安装操作系统后,优化性能,如安装集成服务、启用增强会话模式及动态内存。日常管理中,使用Hyper-V管理器监控性能、定期更新备份,并注意兼容性与安全性。这些技巧将显著提升安装效率与虚拟机性能。
|
存储 人工智能 自然语言处理
《深度揭秘LDA:开启人工智能降维与分类优化的大门》
线性判别分析(LDA)是一种强大的监督学习降维方法,旨在通过最大化类间距离、最小化类内距离,将高维数据投影到低维空间,从而提升分类性能。LDA通过计算类内和类间散布矩阵,找到最优的投影方向,有效增强类别可分性,并过滤噪声与冗余信息。它在计算机视觉、自然语言处理及生物医学等领域有着广泛应用,显著提高了图像识别、文本分类和基因数据分析等任务的准确性和效率。
738 3
|
数据采集 XML JSON
「Python入门」Python代码规范(风格)
**Python编码规范摘要** - 编码:使用UTF-8编码,文件开头可声明`# -- coding: utf-8 --`。 - 分号:避免在行尾使用,不用于分隔命令。 - 行长:不超过80字符,长表达式可使用括号换行。 - 缩进:使用4个空格,禁止混用tab。 - 注释:行注释始于`#`和空格,块注释和文档注释遵循特定格式。 - 空行:函数和类定义间用2空行,方法间1空行,内部适当空行。 - 空格:运算符两侧各空一格,逗号后空格,括号内不空格。 - 命名:模块小写,变量下划线分隔,类驼峰式,布尔变量前缀`is_`。 - 引号:保持一致性,可使用单引号或双引号。
2395 1
「Python入门」Python代码规范(风格)
|
前端开发 Java
2022最新版JDK1.8的安装教程、包含jdk1.8的提取码(亲测可用)
这篇文章提供了详细的JDK 1.8的安装步骤,包括下载、安装向导、环境变量配置,以及如何检查安装是否成功的方法。
2022最新版JDK1.8的安装教程、包含jdk1.8的提取码(亲测可用)
|
人工智能 安全 Java
当一家公司80%的程序员用AI写代码
当一家公司80%的程序员用AI写代码
1460 6
|
SQL 关系型数据库 数据库
在 Postgres 中使用 Update Join
【8月更文挑战第11天】
2780 0
在 Postgres 中使用 Update Join

热门文章

最新文章