【01】mapbox js api加载arcgis切片服务

news2024/11/18 14:44:42

需求:

第三方的mapbox js api加载arcgis切片服务,同时叠加在天地图上,天地图坐标系web墨卡托。

效果图:

形如这种地址去加载http://zjq2022.gis.com:8080/demo/loadmapboxtdt.html

思路:

需要制作一个和天地图比例尺级别以及切片大小等一样的切片方案,可以通过arcmap或者arcgispro制作。如图:

具体的切片信息参数参考链接:

arcgis javascript api4.x加载天地图web墨卡托(wkid:3857)坐标系_acrgis 加载墨卡托地图-CSDN博客

制作出的切片方案见链接:

链接:https://pan.baidu.com/s/1fezUPJnp-G0g6cpcbsOuEw 
提取码:gfwm 
使用该切片方案去切片。

切片之后的效果:

mapbox加载arcgis切片服务示例代码:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" />
    <title>mapbox 添加arcgis rest切片地图服务</title>
    <meta
      name="viewport"
      content="initial-scale=1,maximum-scale=1,user-scalable=no"
    />
    <script src="https://api.mapbox.com/mapbox-gl-js/v2.15.0/mapbox-gl.js"></script>
    <link
      href="https://api.mapbox.com/mapbox-gl-js/v2.15.0/mapbox-gl.css"
      rel="stylesheet"
    />
    <script src="https://cdn.bootcdn.net/ajax/libs/axios/0.19.2/axios.js"></script>
    <style>
      body {
        margin: 0;
        padding: 0;
      }
      #map {
        position: absolute;
        top: 0;
        bottom: 0;
        width: 100%;
      }
    </style>
  </head>
  <body>
    <div id="map"></div>
    <script>
      const vecUrl =
        "http://t0.tianditu.com/vec_w/wmts?tk=317e52a409b6b382957e09003ee7e235";
      const cvaUrl =
        "http://t0.tianditu.com/cva_w/wmts?tk=317e52a409b6b382957e09003ee7e235";
      var tdtVec = {
        type: "raster",
        tiles: [
          vecUrl +
            "&SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=vec&STYLE=default&TILEMATRIXSET=w&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}&FORMAT=tiles",
        ],
        tileSize: 256,
      };
      var tdtCva = {
        type: "raster",
        tiles: [
          cvaUrl +
            "&SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=cva&STYLE=default&TILEMATRIXSET=w&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}&FORMAT=tiles",
        ],
        tileSize: 256,
      };
      mapboxgl.accessToken =
        "pk.eyJ1IjoibHh0aWFudGlhbiIsImEiOiJjaXd2ZjlkYnQwMTZvMnRtYWZnM2lpbHFvIn0.ef3rFZTr9psmLWahrqap2A";
      var map = new mapboxgl.Map({
        container: "map", // container id
        center: [114.32021, 30.578322], // starting position
        style: {
          version: 8,
          glyphs: "mapbox://fonts/mapbox/{fontstack}/{range}.pbf",
          sources: {
            tdtVec: tdtVec,
            tdtCva: tdtCva,
          },
          layers: [
            {
              id: "tdtVec",
              type: "raster",
              source: "tdtVec",
            },
            {
              id: "tdtCva",
              type: "raster",
              source: "tdtCva",
            },
          ],
        },
        zoom: 12, // starting zoom
        minZoom: 1,
        maxZoom: 18,
      });

      map.on("load", function () {
        map.addSource("arcgissource", {
          type: "raster",
          tiles: [
            "https://ncportal.geoscene.cn/server/rest/services/wuhan3857/MapServer/tile/{z}/{y}/{x}",
          ],
          tileSize: 256,
        });
        map.addLayer({
          id: "tdt-img-tiles",
          type: "raster",
          minzoom: 0,
          maxzoom: 19,
          source: "arcgissource",
        });
      });

      // // 添加argis rest 动态地图服务
      // map.on("load", function () {
      //   map.addSource("city-source", {
      //     type: "raster",
      //     tiles: [
      //       "https://whgeoscene.hygt.com/server/rest/services/全国道路/MapServer/export?dpi=96&transparent=true&format=png8&layers=&bbox={bbox-epsg-3857}&f=image&bboxSR=102100&imageSR=102100",
      //     ],
      //     // 'tiles':['http://localhost:6080/arcgis/rest/services/MyMapService/MapServer/export?dpi=96&transparent=true&format=png8&layers=&bbox={bbox-epsg-3857}&f=image&bboxSR=3857&imageSR=3857'],
      //     // "tiles": ['http://221.239.0.144:6080/arcgis/rest/services/oceanname_vector/MapServer/export?bbox={bbox-epsg-3857}&f=image&transparent=true&format=png8&bboxSR=102100&imageSR=102100'],
      //     tileSize: 256,
      //   });
      //   map.addLayer({
      //     id: "sity-layer",
      //     type: "raster",
      //     source: "city-source",
      //   });

      // });
    </script>
  </body>
</html>

参考资料:

Sources | Mapbox Style Spec | Mapbox

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

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

相关文章

视觉检测系统:工厂生产零部件的智能检测

在工厂的生产加工过程中&#xff0c;工业视觉检测系统被广泛应用&#xff0c;并且起着重要的作用。它能够对不同的零部件进行多功能的视觉检测&#xff0c;包括尺寸和外观的缺陷。随着制造业市场竞争越来越激烈&#xff0c;对产品质检效率的要求不断提高&#xff0c;传统的人工…

EMQX安装和Java使用

一、EMQX介绍 EMQX是大规模分布式MQTT消息服务器&#xff0c;可以高效可靠连接海量物联网设备&#xff0c;实时处理分发消息与事件流数据&#xff0c;助力构建关键业务的物联网与云应用。EMQX 作为物联网应用开发和物联网平台搭建必须用到的基础设施软件&#xff0c;主要在边缘…

田园好比一幅美丽的画

一望无垠的麦田&#xff0c;清新的空气&#xff0c;茂密的小树林&#xff0c;这一切都呈现在田园里。 清晨&#xff0c;东方刚刚泛起了鱼肚白&#xff0c;一切都雾蒙蒙的&#xff0c;仿佛给大地披上了一层薄薄的轻纱&#xff0c;大地在沉睡当中&#xff0c;小花沉静在美梦中&am…

ARM64汇编01 - 环境搭建

arm官方手册 由于市面上几乎没有arm相关书籍&#xff0c;所以推荐看官方文档。虽然是英文的&#xff0c;看不下去也要硬看&#xff0c;毕竟搞这方面的还是得有啃英文文档/书籍的能力。 另外&#xff0c;再推荐一个翻译网站&#xff1a;https://www.deepl.com/zh/translator …

git报错:Failed to connect to github.com port 443: Timed out

git提交报错 git报错&#xff1a;Failed to connect to github.com port 443: Timed out解决办法 使用ping github.com 发现ping不通修改hosts文件&#xff0c;让主机跳过DNS服务器 直接根据hosts配置信息进行替换域名在ipaddress.com查询Github真实IP地址 打开hosts文件 添加…

【Java SE】基础知识回顾——【13.线程 | 同步】

【线程 同步】 第一章 Thread 1.1 Thread类 /*** author 270* 获取线程的名称&#xff1a;* 1.使用Thread中的方法getName()* String getName() 返回该线程的名称* 2.可以获取到当前正在执行的线程&#xff0c;使用线程中的方法getName()获…

【年度TikTok电商数据解析】火遍全网!出单率超高!这个产品会成为2024年卖家新宠吗?

随着大众对口腔健康越来越重视&#xff0c;消费者对漱口水、牙线、口腔清新剂等口腔卫生产品形成深度依赖。 当然&#xff0c;这一趋势对于我们TikTok爆款商机打造息息相关。 然而&#xff0c;在目前的口腔护理赛道&#xff0c;高露洁、宝洁、飞利浦等巨头盘踞&#xff0c;掌握…

Spring重要知识点

一、Spring中相关概念 1.IOC 控制反转 IoC&#xff08;Inverse of Control:控制反转&#xff09;是⼀种设计思想&#xff0c;就是将原本在程序中⼿动创建对象的控制权&#xff0c;交由Spring框架来管理。IoC 在其他语⾔中也有应⽤&#xff0c;并⾮ Spring 所独有。 IoC 容器…

政务服务场景为何要打造AI交互数字人?

随着Chat GPT兴起&#xff0c;越来越多服务场景通过AI交互数字人以多模态交互形式实现人机交互。如近日昆山市档案馆推出了AI交互数字人“昆兰”&#xff0c;数字人设置于市档案馆一楼大厅入口处&#xff0c;市民可以与AI交互数字人进行实时问答交流&#xff0c;了解总书记关于…

使用 Docker 部署 的WAF: 雷池社区版

Web应用防火墙&#xff08;WAF&#xff09;是保护网站不受恶意攻击的关键组件。 使用 Docker 部署雷池社区版&#xff0c;可以大大简化安全管理工作。 一、WAF 雷池社区版简介 雷池社区版是一种流行的开源 Web 应用防火墙&#xff0c;它提供基本的安全保护&#xff0c;如防止…

【C++】:STL序列式容器list源码剖析

一、list概述 总的来说&#xff1a;环形双向链表 特点&#xff1a; 底层是使用链表实现的&#xff0c;支持双向顺序访问 在list中任何位置进行插入和删除的速度都很快 不支持随机访问&#xff0c;为了访问一个元素&#xff0c;必须遍历整个容器 与其他容器相比&#xff0c;额外…

小蓝和小桥的挑战*

题目 import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner sc new Scanner(System.in);int t sc.nextInt();sc.nextLine();while(t-- > 0) {int n sc.nextInt();sc.nextLine();int[] a new int[n];for(int i0;i<n;i)a[i…

【码银送书第十一期】《自然语言生成SQL与知识图谱问答实战》

语义解析技术可以提高人机交互的效率和准确性&#xff0c;在自然语言处理、数据分析、智能客服、智能家居等领域都有广泛的应用前景。特别是在大数据时代&#xff0c;语义解析能够帮助企业更快速地从大量的数据中获取有用的信息&#xff0c;从而提高决策效率。 01 语义解析的应…

34、StoHisNet:CNN+Transformer结合首次用于胃病理图像4分类[奔狼怎配质疑雄狮!]

本文由贵州大学医学院&#xff0c;贵州省人民医院医学影像教研室&#xff0c;精密影像诊疗国际示范合作基地&#xff0c;贵州大学计算机科学与技术学院&#xff0c;清华大学北京信息科学与技术国家研究中心&#xff0c;共同合作&#xff0c;于2022年5月28日发表于<Computer …

我的最爱,人类的未来

ATLAS (Boston Dynamics&#xff1a;波士顿动力公司) Atlas是由波士顿动力公司设计的一种跳跃式、后空翻类人机器人&#xff0c;它使用深度传感器进行实时感知&#xff0c;并使用模型预测控制技术来改善运动。Atlas 高 5 英尺&#xff0c;重 190 磅&#xff0c;拥有三台机载计算…

VBA窗体跟随活动单元格【简易版】(2/2)

上一篇博客&#xff08;文章连接如下&#xff09;中使用工作表事件Worksheet_SelectionChange实现了窗体跟随活动单元格的动态效果。 VBA窗体跟随活动单元格【简易版】(1/2) 为了在用户滚动工作表窗体之后仍能够实现跟随效果&#xff0c;需要使用Application.Windows(1).Visibl…

数据结构Java版(3)——队列Queue

一、概念 队列也是一种线性数据结构&#xff0c;最主要的特点是入队列顺序和出队列顺序是相同的&#xff0c;操作时在队尾入队&#xff0c;在队首出队。在Java中给我们提供了一个泛型队列——Queue&#xff0c;其中最常用的方法有&#xff1a; void offer()&#xff1a;入队E …

Ubuntu下将nvidia-smi封装为GUI界面,实时查看显卡信息

和win系统不同的是&#xff0c;在Ubuntu端&#xff0c;系统级的系统监视器中&#xff0c;只能查看内存、CPU和网络状态&#xff0c;并不能查看GPU状态 而使用NVIDIA显卡的朋友都知道一条指令 nvidia-smi 在终端运行后即可查看显卡信息、资源占用情况等 但是这样会占用终端&am…

轮胎侧偏刚度线性插值方法

一、trucksim取数据 步骤一 步骤二 二、数据导入到matlab中 利用simulink的look up table模块 1是侧偏角&#xff1b;2是垂直载荷&#xff1b;输出是侧向力。 侧向力除以侧偏角就是实时的侧偏刚度。

排序:计数排序

目录 思想&#xff1a; 操作步骤&#xff1a; 思路&#xff1a; 注意事项&#xff1a; 优缺点&#xff1a; 代码解析&#xff1a; 完整代码展示&#xff1a; 思想&#xff1a; 计数排序又称为鸽巢原理&#xff0c;是对哈希直接定址法的变形应用。 操作步骤&#xff…