1. 瓦片(Tile)介绍

地图瓦片(Tile)分为两种,栅格瓦片矢量瓦片,瓦片就是一块一块的正方形格子,按一定的顺序拼在一起便能看到全球的内容或者某一片区域的内容。

栅格瓦片:每一块都是图片,可以是.png,也可以是.jpg。常见的大小有256*256512*512

矢量瓦片:每一块都是由点、线、面构造的矢量数据,mapbox的示例中有一个.mvt的道路瓦片https://d25uarhxywzl1j.cloudfront.net/v0.1/{z}/{x}/{y}.mvt。矢量瓦片的大小不确定。

2. 栅格瓦片的加载

栅格瓦片的Source为:RasterSource
栅格瓦片的Layer(也就是渲染效果)为:RasterLayer

RasterSource的构造可以是直接由瓦片链接构造,也可以由TileSet对象构造。

2.1 由瓦片链接"mapbox://mapbox.u8yyzaor"构造

RasterSource source = new RasterSource("chicago-source", "mapbox://mapbox.u8yyzaor", 512);
mapboxMap.getStyle().addSource(source);

2.2 由TileSet构造,链接中要有{z}/{x}/{y}

TileSet tileSet = new TileSet("tileset", new String[]{"https://img.nj.gov/imagerywms/Natural2015?bbox={"+ "bbox-epsg-3857}&format=image/png&service=WMS&version=1.1.1&request=GetMap&srs=EPSG:"+ "3857&transparent=true&width=256&height=256&layers=Natural2015"});
tileSet.setMinZoom(0);
tileSet.setMaxZoom(14);
RasterSource source1 = new RasterSource("web-map-source", tileSet, 256);
mapboxMap.getStyle().addSource(source1);

构造好RasterSource后便可添加对应的RasterLayer:

// 对应由瓦片链接构造的RasterSource
RasterLayer layer = new RasterLayer("chicago", "chicago-source");
mapboxMap.getStyle().addLayer(layer);// 对应由TileSet构造的RasterSource
RasterLayer layer1 = new RasterLayer("web-map-layer", "web-map-source");
mapboxMap.getStyle().addLayer(layer1);

3. 矢量瓦片的加载

矢量瓦片的Source为:VectorSource
矢量瓦片的Layer(也就是渲染效果)可以是点线面对应的所有Layer:

渲染的矢量数据类型 渲染效果
SymbolLayer、CircleLayer
线 LineLayer
FillLayer

VectorSource的构造和RasterSource一样,可以直接由瓦片链接构造,也可以由TileSet对象构造。但是它的构造方法不能传入瓦片的大小,至于为什么就不清楚了。

3.1 由瓦片链接构造

VectorSource source = new VectorSource("states", "mapbox://mapbox.us_census_states_2015");
mapboxMap.getStyle().addSource(source);

3.2 由TileSet构造,链接中要有{z}/{x}/{y}

TileSet mapillaryTileset = new TileSet("2.1.0", "https://d25uarhxywzl1j.cloudfront.net/v0.1/{z}/{x}/{y}.mvt");
mapillaryTileset.setMinZoom(0);
mapillaryTileset.setMaxZoom(14);
VectorSource source1 = new VectorSource("mapillary.source", mapillaryTileset);
mapboxMap.getStyle().addSource(source1);

构造好VectorSource后便可添加对应的渲染层,这里要尤为注意渲染层使用哪种由setSourceLayer中的数据决定:

// 对应由瓦片链接构造的VectorSource
FillLayer statesJoinLayer = new FillLayer("states-join", "states");
statesJoinLayer.setSourceLayer("states"); // 参数值由数据决定,并不是一定和source的id相同
statesJoinLayer.withProperties(fillColor(match(toNumber(get("STATE_ID")),rgba(0, 0, 0, 1), stops))
);
mapboxMap.getStyle().addLayer(statesJoinLayer);// 对应由TileSet构造的VectorSource
LineLayer lineLayer = new LineLayer("mapillary.layer.line", "mapillary.source");
lineLayer.setSourceLayer("mapillary-sequences"); // 参数值由数据决定,并不是一定和source的id相同
lineLayer.setProperties(lineCap(Property.LINE_CAP_ROUND),lineJoin(Property.LINE_JOIN_ROUND),lineOpacity(0.6f),lineWidth(2.0f),lineColor(Color.GREEN)
);
mapboxMap.getStyle().addLayer(lineLayer);

Mapbox之栅格矢量瓦片相关推荐

  1. mapbox tippecanoe切矢量瓦片参数设置和注意事项

    tippecanoe生成矢量切片步骤在这篇帖子中有详细介绍windows下使用tippecanoe把GeoJSON制作成矢量切片vectortile_十月的秋的专栏-CSDN博客 下面介绍下tippe ...

  2. iclient加载标准规范的矢量瓦片mvt服务

    作者:yyy 前言 MVT全称是Mapbox Vector Tile,是Mapbox标准的矢量切片.SuperMap iClient产品很好的支持了MVT矢量瓦片在Web端的加载,但在平常的使用中基本 ...

  3. Mapbox矢量瓦片pbf文件信息解析

    Mapbox由于配合其矢量瓦片pbf格式文件,有突出的渲染性能,被很多公司和开发者所使用.矢量瓦片的格式有很多种,其中pbf格式是一种二进制文件,直接把数据信息压缩位二进制了. 矢量瓦片优势 主要优势 ...

  4. 地图瓦片:矢量瓦片和栅格瓦片详解

    地图瓦片:矢量瓦片和栅格瓦片详解 为什么需要瓦片: 地图缓存技术:地图服务的性能需求越来越高:缓存技术大大提高了地图服务的性能:缓存技术降低了服务器端压力,不在需要进行动态出图:地图缓存或瓦块地图可以 ...

  5. CAD/DWG图Web网页可视化技术之栅格和矢量瓦片

    CAD/DWG图Web网页可视化技术之栅格和矢量瓦片 - vjmap - 博客园 背景 在上一篇博文中CAD图DWG解析WebGIS可视化技术分析总结提到,实现CAD/DWG图形Web展示的思路一般为 ...

  6. Mapbox加载天地图CGCS2000矢量瓦片地图服务

    1.背景 最近在做天地图的项目,要基于MapBox添加CGCS2000矢量切片数据,但是 Mapbox 只支持web 墨卡托(3857)坐标系的数据.Github有专业用户修改了mapbox-gl的相 ...

  7. mapbox pbf矢量瓦片读取(附pbf瓦片文件qt可视化工具源码)

    矢量瓦片官方文档:https://docs.mapbox.com/vector-tiles/specification/ 读取pbf 简易demo地址:https://github.com/tlglo ...

  8. ArcGIS API for JavaScript 4.x加载Mapbox在线矢量瓦片服务(weixin公众号【图说GIS】)

    前言 大家都知道,Mapbox在矢量瓦片这个领域做的很好.那么如何使用ArcGIS API 4.x加载,经过研究,将解决方案总结如下. 分析问题 查询ArcGIS JS API // Typical ...

  9. 栅格瓦片与矢量瓦片 ----概念

    栅格瓦片 概念:将地图中所有图层都切分并存储为栅格格式的地图瓦片. 优点:使用最广,技术成熟 矢量瓦片 概念:矢量图层以矢量瓦片的形式进行切分和存储. 优点:创建效率高,传输和渲染速度快 栅格瓦片与矢 ...

最新文章

  1. select选择框实现跳转
  2. 【Linux】10.安装和开启ftp服务
  3. matlab 常用命令
  4. Spark分区器HashPartitioner和RangePartitioner代码详解
  5. 华东电脑申威服务器_华东电脑(600850):申威服务器首批量产下线 国产化业务落地里程碑事件[配资公司会议室]...
  6. 电子数字 网易游戏在线笔试 第一题 hihocoder
  7. 递归实现排列型枚举(搜索)
  8. spring cloud互联网分布式微服务云平台规划分析--spring cloud服务监控中心
  9. [Spark]-结构化数据查询之自定义UDAF
  10. Mac中Word 2016导出PDF附带书签目录结构
  11. uni-app 小程序dom转img 生成海报插件Painter;解决引入网络图片真机显示空白问题;解决生成的图片模糊问题
  12. thinkpadt410接口介绍_thinkpad T410的扩展插口!
  13. ASP版MD5加密函数及用法
  14. luci网页shell_修改Luci界面
  15. 【ChatGPT】你会是被AI抢饭碗的那类人吗?
  16. java卡夫卡_卡夫卡(kafka)
  17. android5.0刷机,一加手机怎么升级安卓5.0 一加手机刷Android 5.0教程
  18. 登录《北京市社会保险网上服务平台》的手机号销号了去哪里更改
  19. iOS 给NSString文字中间或底部添加横线
  20. 肖基特二极管 和开关二极管的区别

热门文章

  1. 【哲理】你的上限是什么?如何打破上限?-莫安迪
  2. 毕业论文引用参考文献的脚注方法
  3. PE安装Win8纯净版教程【附Win864/32位系统下载地址以及系统激活工具和解压软件安装包】
  4. 什么是Windows数据恢复?[数据恢复操作指南]
  5. 小程序怎么实现授权登录,如何保存头像和上传头像?
  6. LiveData原理解析
  7. 关于容斥定理、勾股数公式、排列组合置换公式的总结
  8. SQLyog连接MySQL时出现2058错误解决方法
  9. 在职位招聘数据处理中使用Loess回归曲线以及分箱、回归、聚类方法 检查离群点及光滑数据【数据挖掘机器学习】
  10. 如何在本地电脑上搭建AI人工智能绘画工具Stable Diffusion