使用openlayers加载geoserver发布的arcgis瓦片

news2024/12/24 2:30:45

openlayers版本:6.5

geoserver版本:2.18.0

1. geoserver发布arcgis瓦片

·首先去maven上面找最新的gwc-arcgiscache

https://mvnrepository.com/artifact/org.geowebcache/gwc-arcgiscache/1.19.1

·把这个jar包下载下来放到目录geoserver/WEB-INF/lib下面

·geoserver/WEB-INF/lib/gs-gwc-2.18.0.jar解压。

·修改gs-gwc-2.18.0/geowebcache-servlet.xml

  添加以下代码

<import resource="geowebcache-arcgiscache-context.xml"/>

·修改gs-gwc-2.18.0/geowebcache-core-context.xml

  添加以下代码

<bean id="gwcArcGISCacheGridsetConfiguration" class="org.geowebcache.arcgis.layer.ArcGISCacheGridsetConfiguration" />

·重新把解压并修改完代码的目录打包回jar包,替换原来的jar包。

·在这里可以看到

2. 发布arcgis瓦片

·将瓦片目录test拷贝到数据目录:data_dir/gwc/下面

·瓦片目录应该包含以下文件或文件夹

        _alllayers conf.cdi conf.xml

·修改geoserver/data/gwc/geowebcache.xml

  添加如下配置

<arcgisLayer>
    <name>test</name>
    <tilingScheme>/geoserver/data_dir/gwc/test/conf.xml</tilingScheme>
    <tileCachePath>/geoserver/data_dir/gwc/test/_alllayers</tileCachePath>
    <hexZoom>false</hexZoom>
</arcgisLayer>

·保存后重启geoserver即可在刚才页面预览瓦片数据了。

·此时瓦片发布出的服务为wmts服务。

3. openlayes加载geoserver发布的wmts服务

·参考arcgis瓦片配置

·extent取自cong.cdi 的 EnvelopeN

·如果不配置extent限制瓦片范围的话,openlayers会默认全球范围内有数据,在浏览地图时发出很多无效的瓦片请求,甚至影响瓦片的加载速度。

·加载瓦片时需要注意的是,如果要匹配瓦片的自定义分辨率,需要设置tileGrid。完整代码如下

let projection = ol.proj.get('EPSG:3857');
        let resolutions = [
            16.000031750063503, 
            8.000015875031751,
            4.000007937515876,
            2.00000529167725,
            1.000002645838625,
            0.5000635001270003,
            0.25003175006350015
        ];
        let matrixIds = [
            "EPSG:3857_test:"+0,
            "EPSG:3857_test:"+1,
            "EPSG:3857_test:"+2,
            "EPSG:3857_test:"+3,
            "EPSG:3857_test:"+4,
            "EPSG:3857_test:"+5,
            "EPSG:3857_test:"+6
        ];
        let origin=[-5120900, 9998100];
        let layerExtent=[12622093.239879629, 2614535.6303767636, 12660720.220221946, 2638689.9684551316];
        let wmtsTileGrid = new ol.tilegrid.WMTS({
            origin: origin,
            resolutions: resolutions,
            matrixIds: matrixIds
        });
        // WMTS数据源与地图
        let wmtsSource = new ol.source.WMTS({
            url: "http://domain/geoserver/gwc/service/wmts",
            layer: "test",
            matrixSet: 'EPSG:3857_test',
            format: 'image/png',
            projection: projection,
            // 投影坐标系
            tileGrid: wmtsTileGrid
        });
        let wmtsLayer = new ol.layer.Tile({
            source: wmtsSource,
            extent:layerExtent
        });

宝剑锋从磨砺出,梅花香自苦寒来.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/623868.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

可扩展性与生态应用:Ardor公链AMA回顾

近日&#xff0c;Jelurida团队工程师Francisco Sarrias做客CryptoWallet.com&#xff0c;分享了一些有关Ardor的话题&#xff1a; Ardor是什么&#xff1f; Ardor是一个旨在提高区块链可扩展性的开源平台&#xff0c;这意味着该项目有助于使区块链网络运行更顺畅&#xff0c;用…

10分钟通过云服务器搭建自己的chatGPT镜像服务

通过云服务器搭建自己的chatGPT镜像服务 前提&#xff1a;需要有自己的API KEY 1 购买云服务器 本教程以阿里云的云服务器为例。 阿里云地址&#xff1a;https://www.aliyun.com/?spm5176.28008736.J_3207526240.1.769d3e4dTtNjuI 进入阿里云官网&#xff0c;选择云服务器ECS进…

精选博客系列|VMware如何实现多云基础设施

私有云&#xff0c;公有云&#xff0c;多云&#xff0c;边缘云… 如今&#xff0c;组织的团队、数据和工作负载分布在各种环境中。毫无疑问&#xff0c;这导致了技术上的复杂性增加、安全风险加剧、成本飙升和云战略不连贯的问题。 “39% 的高管难以在&#xff08;他们的&…

18.4:打印一个字符串的全部排列

打印一个字符串的全部排列 方法一&#xff1a;暴力方法。 //方法一&#xff1a;暴力方法。public static List<String> permutation1(String s) {//str是一个存储字符类型的有序表。ArrayList<Character> str new ArrayList<>();//将字符串中的类型存储在s…

Zookeeper概述

​ ZooKeeper概述 ZooKeeper是什么 zookeeper是一个为分布式应用程序提供的一个分布式开源协调服务框架。是Google的Chubby的一个开源实现&#xff0c;是Hadoop和Hbase的重要组件。主要用于解决分布式集群中应用系统的一致性问题。提供了基于类似Unix系统的目录节点树方式的数…

docker 安装 nsq

一. nsq介绍 nsq介绍 NSQ是一个基于Go语言&#xff0c;由bitly公司开源出来的一款简单易用的消息中间件。 官方和第三方开发了众多客户端功能库&#xff0c;如基于HTTP的nsqd、Go客户端go-nsq、Python客户端pynsq、基于Node.js的JavaScript客户端nsqjs、异步C客户端libnsq、J…

JavaSE-02【类型转换和运算符】

第一章&#xff1a;数据类型转换 Java程序中要求参与计算的数据&#xff0c;必须要保证数据类型的一致&#xff0c; 如果数据类型不一致则发生类型的转换1.1 自动转换 自动转换&#xff1a;将取值范围小的类型自动提升为取回范围大的类型 自动类型转换原理&#xff1a;一个i…

MySql锁知识记录积累(一)

1.关于脏读、幻读和不可重复读 脏读&#xff1a;一个事务A读取到了另一个事务B未提交的数据&#xff0c;叫做脏读 不可重复读&#xff1a;事务A被事务B干扰到了&#xff01;在事务A范围内&#xff0c;两个相同的查询&#xff0c;读取同一条记录&#xff0c;却反返回了不同的结…

运行一个新vue项目踩坑

npm install报错了&#xff0c;主要是因为node版本太高了。去node官网&#xff0c;下载低版本的msi后缀的文件&#xff0c;运行安装。在vs code里&#xff0c;npm下载依赖&#xff0c;并运行即可。 1. 无法cnpm cnpm : 无法加载文件 D:\Program Files\nodejs\node_global\cnpm.…

前端放大镜效果实现

放大镜效果实现 放大图片的需求&#xff0c;一般是在原有的渲染之上&#xff0c;额外添加一个放大框&#xff0c;当鼠标在原图上移动&#xff0c;放大框内就以当前的鼠标为中心&#xff0c;局部放大一定范围&#xff0c;在淘宝商城中是常有的实现。下面将用两种实现。 1、使用d…

是德 DSOX1202A示波器技术参数

KEYSIGHT是德科技 lnfiniiVision 1000 X 系列示波器是具有专业级功能的入门级示波器&#xff0c;配备的联网软件可提供远程控制和数据记录等功能。 它集 6 种仪器的功能于一身&#xff0c;属于是德科技智能测试台必备仪器之一。该系列包含 4 款独具特长的仪器&#xff0c;通过同…

5年功能测试要18K,一问三不知,还反过来怼我,真是醉了····

最近看了很多简历&#xff0c;很多候选人年限不小&#xff0c;但是做的都是一些非常传统的项目&#xff0c;想着也不能通过简历就直接否定一个人&#xff0c;何况现在大环境越来 越难&#xff0c;大家找工作也不容易&#xff0c;于是就打算见一见。 在沟通中发现&#xff0c;由…

坚持#第418天~久违了,二维码系统

公司有了一个新客户&#xff0c;这家客户的货物都是用铁架框装的&#xff0c;铁架框长得都一样&#xff0c;不好区分&#xff0c;只能看标签来识别&#xff0c;而且发货时需要一一核对发货单上的交货单号对应的货物&#xff0c;标签上的发货单号必须要一致才行&#xff0c;导致…

【干货】Kali Linux渗透基础知识大全,零基础入门必看!

最近好多朋友问我&#xff1a;不会编程&#xff0c;英语也不好&#xff0c;dos命令也记不住&#xff0c;能学习黑客技术么&#xff1f; 我可以明确告诉大家&#xff0c;可以的&#xff01; 相信每一个少年心中&#xff0c;曾经都有过一个黑客梦&#xff01; 有人觉得黑客霸气…

常用的开源自定义表单有哪几大优势特点?

当前&#xff0c;办公已经进入流程化和自动化的阶段&#xff0c;要想跟随着社会发展&#xff0c;引用开源自定义表单工具可以使办公协作效率得到快速提升&#xff0c;它的灵活、便捷、易操作等特点&#xff0c;使得该表单工具深受当今职场的喜爱&#xff0c;是做好数据管理&…

Flutter 库:强大的下拉刷新上拉加载框架——EasyRefresh

Flutter 库&#xff1a;强大的下拉刷新上拉加载框架——EasyRefresh 文章目录 Flutter 库&#xff1a;强大的下拉刷新上拉加载框架——EasyRefresh一、概述1、简介2、特征3、在线演示4、APK下载5、接口参考 二、官方示例1、默认构造函数2、生成器构造函数3、指示器定位4、使用指…

2023年网络安全HW攻防技术总结(珍藏版)

2022年护网正当时&#xff0c;相信不少网安人都已经进入了状态。 我们都知道&#xff0c; 护网行动 是国家应对网络安全问题所做的重要布局之一。至今已经是7个年头了&#xff0c;很多公司在这时候人手不够&#xff0c;因此不得不招募一些网安人员来参加护网。 红队 扮演攻击…

Linux搭建Java环境——安装JDK

一、上传jdk1.8文件 首先通过Xftp 7软件&#xff0c;将jdk文件传输到Linux上&#xff08;连接和Xshell 7方法相同&#xff0c;软件资源在首页中的下载栏处免费获取&#xff09;当然需要在opt文件夹下先新建jdk的文件夹 二、解压jdk文件 解压完成后可以发现蓝色的jdk1.8的目录生…

Android Studio实现五子棋小游戏

项目目录 一、项目概述二、开发环境三、详细设计1、布局设计2、验证码3、AI人机4、背景音乐 四、运行演示五、项目总结 一、项目概述 五子棋是一种两人对弈的策略型棋类游戏&#xff0c;本次五子棋小游戏具有人机对战和人人对战两种玩法。人机对战可以单人挑战AI&#xff0c;实…

SQL语言的规则与规范

SQL语言的规则与规范 前言一、SQL概述1、SQL背景知识2、SQL语言排行榜3、SQL 分类 二、SQL语言的规则与规范1、基本规则2、SQL大小写规范 &#xff08;建议遵守&#xff09;3、注 释4、命名规则&#xff08;暂时了解&#xff09;5、数据导入指令 前言 本博主将用CSDN记录软件开…