首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏gis

    基于Mapbox的Mvt矢量瓦片集成实践

    前言 熟悉矢量瓦片的朋友一定知道,在Webgis当中,矢量瓦片的格式除了pbf的格式,还有geojson等格式。 而提出mvt等pbf格式的,是大名鼎鼎的Mapbox,关于Mapbox中的矢量瓦片生成和加载,在Mapbox中最为完备,在之前的博客中,对于矢量瓦片的应用和展示有几个篇幅的介绍。 本文将为各位朋友简单介绍Mapbox,以及如何基于Mapbox来进行Mvt矢量瓦片的集成展示,最后为朋友们生成一个完整的案例,如果您当前业务当中有需要,可以作为参考。 使用以下代码加载矢量瓦片,<script> map.on('load', function loaded() { //添加刚才发布的mvt数据源 ,注意source-layer和发布的矢量瓦片的id对应。

    6810编辑于 2026-05-23
  • 来自专栏偷得浮生半日闲

    走进地图(5)-矢量瓦片

    与传统的栅格瓦片(Raster Tiles)相比,矢量瓦片矢量数据形式存储和传输地理信息,具有许多优势和应用潜力。 矢量瓦片的特点和优势: 数据灵活性:矢量瓦片存储的是矢量数据,例如点、线、面等地理要素,而不是预先渲染的像素图像。这意味着矢量瓦片可以根据需要进行动态样式化、交互和分析,提供更灵活的地图呈现方式。 矢量瓦片的应用: Web 地图展示:矢量瓦片广泛应用于各种 Web 地图平台和应用程序,提供动态、高清晰度的地图展示效果。 常见的矢量瓦片格式: Mapbox Vector Tiles (MVT):Mapbox Vector Tiles 是一种开放标准的矢量瓦片格式,由Mapbox推出并广泛应用于Web地图开发。 MVT使用Protocol Buffers(protobuf)作为数据序列化格式,支持对矢量数据的压缩和高效传输。

    3.9K30编辑于 2023-05-24
  • 来自专栏gis

    GeoServer扩展功能之发布矢量瓦片

    矢量瓦片类似栅格瓦片,是将矢量数据用多层次模型分割成矢量要素描述文件存储在服务器端,再到客户端根据指定样式进行渲染绘制地图,在单个矢量瓦片上存储着投影于一个矩形区域内的几何信息和属性信息。 本文将首先简单介绍矢量瓦片的基本知识,同时将矢量瓦片和栅格瓦片进行简单对比,最后以GeoServer为例,重点讲述在GeoServer中如何发布矢量瓦片,并在GeoServer中进行数据浏览展示。 2、适量瓦片处理步骤 矢量瓦片处理基本步骤: ①获取矢量数据;​ 1.1、获取矢量文件(.shp/.tab等);​ 1.2、矢量数据入库形成矢量数据表格 点击GeoServer管理界面中的左侧切片图层菜单 然后选择需要预览的矢量瓦片数据,以GeoJson的瓦片为例:下面切换使用mvt格式的矢量瓦片,效果是一样的。 本文将首先简单介绍矢量瓦片的基本知识,同时将矢量瓦片和栅格瓦片进行简单对比,最后以GeoServer为例,重点讲述在GeoServer中如何发布矢量瓦片,并在GeoServer中进行数据浏览展示。

    12600编辑于 2026-05-15
  • 来自专栏Leaflet

    浅谈前端自定义VectorGrid矢量瓦片样式

    ​ 前言 在上一篇博客中,详细讲述了在LeafLet.js中集成VectorGrid插件进行矢量瓦片渲染的案例,原文连接基于VectorGrid加载GeoServer发布的矢量瓦片实例,感兴趣的朋友可以直接点击链接进行查阅之前的博文 下面是之前的效果:本文将以Leaflet为例,深入讲解在VectorGrid控件中,如何在前端进行矢量瓦片的个性化定制,同时给出完整的示例代码,帮助各位用户掌握和使用源码更快速的掌握如何在前端实现矢量瓦片的动态自定义控制 用来展示具体的底图以及叠加矢量瓦片。<! 要实现矢量瓦片的接入,本文以PBF瓦片为演示类型。 需要在Map页面定义后,将影像底图和矢量瓦片实现动态叠加。

    9400编辑于 2026-05-15
  • 来自专栏Leaflet

    基于VectorGrid加载GeoServer发布的矢量瓦片实例

    ​前言 闲言少叙,在之前的博文中GeoServer扩展功能之发布矢量瓦片,简单介绍了如何在Geoserver中进行矢量瓦片的发布以及预览。 在当时的场景下,在Geoserver默认的数据浏览框架下,进行了矢量瓦片瓦片浏览。那么如果您需要在其他场景,比如Leaflet中进行矢量瓦片的展示,又该如何做呢? 本文即解决这个问题,重点讲解在LeafLet中使用VectorGrid如何加载 Geoserver发布的矢量瓦片,以及在GeoServer中进行跨域访问设置的 基本操作,让您在实践时遇到同样问题有地方参考 这里简单介绍VectorGrid插件,以及其它可以选择的矢量瓦片展示插件。·在Leaflet的官方网站上可以看到以下的介绍瓦片的介绍,其中有一个是关于Vector Tiles的介绍。 1、开源地址 Vector grid可以基于Leaflet进行GeoJson、TopoJson、pbf瓦片矢量瓦片的加载展示。开源地址:Vector Grid 官网地址。

    7400编辑于 2026-05-15
  • 来自专栏JSAPIThree

    JSAPIThree 加载 Mapbox 数据学习笔记:使用 Mapbox 矢量瓦片地图

    听说这个功能可以加载 Mapbox 的矢量瓦片地图,还能自定义样式!想想就期待!第一次听说 Mapbox 数据加载今天在文档里看到了"Mapbox"这个词。 文档说 Mapbox 数据加载可以:加载 Mapbox 官方地图支持自定义 MVT 路径需要配置 AccessToken我的理解:简单说就是"用 Mapbox 的矢量瓦片地图",让场景有 Mapbox 地图是 Mapbox 标准的矢量瓦片地图,具有创建效率高、传输渲染速度快等特点! 我的理解:优点:矢量瓦片,无级缩放不模糊,传输渲染速度快缺点:需要 AccessToken适用场景:需要 Mapbox 风格地图的场景第三步:自定义 MVT 路径看到可以加载 Mapbox 地图后,我想 文档说可以通过 style 参数来自定义 MVT 路径!

    37010编辑于 2025-12-05
  • 来自专栏Leaflet

    解决基于VectorGrid的矢量瓦片Y轴偏移的问题

    ​ 前言 在前面的博文介绍中,在线连接如下:浅谈前端自定义VectorGrid矢量瓦片样式,基于VectorGrid加载GeoServer发布的矢量瓦片实例,这里介绍了在Leaflet中加载矢量瓦片 因此,跟栅格瓦片的原理一样,我们是否可以类似于栅格瓦片的原理,直接访问已经生成好的矢量瓦片,来进行访问加速。 在GeoServer发布的矢量瓦片请求格式跟Google的xyz瓦片访问不太一致,有一点点儿小复杂。 在此背景下,我们尝试使用将矢量瓦片直接瓦片化,然后再使用VectorGrid进行展示,但是发现,使用自己切好的矢量瓦片的加载方式跟GeoServer发布的矢量瓦片,加载出来的效果不一致,Y轴出现了偏移。 我们来看一下xyz矢量瓦片路径规则,示意参考如下:这种路径跟常见的栅格瓦片就是一样的了,可以采用同样的加载规则进行初始化。

    4010编辑于 2026-05-23
  • 来自专栏跟牛老师一起学WEBGIS

    java矢量切片实现

    概述 可通过多种方式实现矢量切片的制作,前面讲到了基于postgis数据库、tippecanoe、Qgis等方式,本文讲述基于spring Boot框架下java的实现。 实现代码 后端代码 引入依赖 <dependency> <artifactId>giscat-vector-mvt</artifactId> <groupId>org.wowtools ; import org.wowtools.giscat.vector.mvt.MvtLayer; import org.wowtools.giscat.vector.pojo.Feature; import java.io.OutputStream; import java.util.ArrayList; import java.util.HashMap; import java.util.Map; @Api(tags = "矢量切片 for (Feature feature : areaFeatureCollection.getFeatures()) { //这里简单地从内存中取数据并判断其是否与瓦片有交集

    1.2K20编辑于 2023-05-27
  • 来自专栏程序员

    MVC和MVT

    MVT Django将其的MVC架构称之为“MVT”。实际上和MVC架构的思想是一致的。 M全拼为Model,与MVC中的M功能相同,负责和数据库交互,进行数据处理。

    74140发布于 2021-09-28
  • 来自专栏点滴积累

    geotrellis使用(三十四)矢量瓦片技术研究——矢栅一体化

    前言 本文所涉及技术与Geotrellis并无太大关系,仅是矢量瓦片前端渲染和加载技术,但是其实我这是在为Geotrellis的矢量瓦片做铺垫。 其实不然,首先Geotrellis可以用分布式技术进行快速矢量瓦片切割,当然这不是主要的,因为单台服务器基本也能很快处理矢量瓦片的切割,重要的是Geotrellis可以使用矢量瓦片进行空间计算,这样可以矢栅一体化 当然这只是我个人的看法,有待后续研究,并且Geotrellis的矢量瓦片还并在测试当中。本文仅介绍前端矢量瓦片技术。 一、什么是矢量瓦片 目前高德、百度等互联网地图基本都使用了矢量瓦片技术。 二、前端显示技术 矢量瓦片的生成还未研究,本文只是调用OSM公开发布的矢量瓦片进行前端展示试验。 三、矢量瓦片解析 我们知道了如何在前端进行矢量瓦片渲染,下面来看一下矢量瓦片的具体内容,当我们下载一幅矢量瓦片时可以看到其中都是二进制数据,这是为了减小传输压力进行的压缩,也有一些开源的软件可以进行解压缩

    3.5K111发布于 2018-05-02
  • 来自专栏菜菜的技术博客

    Django MVT之M

    在Django MVC概述和开发流程中已经讲解了Django的MVT开发流程,本文重点对MVT中的模型(Model)进行重点讲解。 配置MySQL数据库 确保已经安装了操作mysql的包。

    1.6K10编辑于 2022-11-15
  • 来自专栏数据分析与挖掘

    django-MVT设计模式

    MVT:Models、Views、Templates Model:封装数据库,对数据库进行访问,对数据进行增删查改等。 View:业务逻辑的一些操作。 Templates:展示。

    63720发布于 2020-08-26
  • 来自专栏菜菜的技术博客

    Django MVT之V

    在Django MVC概述和开发流程中已经讲解了Django的MVT开发流程,本文重点对MVT中的视图(View)进行重点讲解。

    2.8K20编辑于 2022-11-15
  • 来自专栏菜菜的技术博客

    Django MVT之T

    在Django MVC概述和开发流程中已经讲解了Django的MVT开发流程,本文重点对MVT中的模板(Template)进行重点讲解。 模板包含两部分: 静态部分: 包含html、css、js。 Django默认开启了csrf中间件来防御csrf攻击,所以当发送post请求时会返回403错误,而开发者访问本站点的网页时同样会返回403错误,所以在Django MVT之V中直接注释掉了csrf防御

    1.6K20编辑于 2022-11-15
  • 来自专栏跟牛老师一起学WEBGIS

    基于Martin实现MapboxGL自定义底图

    实现后效果 Martin简介 Martin 是一个瓦片服务器,它能够从 PostGIS 数据库、PMTiles(本地或远程)以及 [MBTiles] (https://github.com/mapbox /mbtiles-spec) 文件中快速生成并提供矢量瓦片 ,允许动态地将多个瓦片源合并为一个。 它可以: 使用POSTGIS数据库、MBTiles、PMTiles发布矢量切片; svg图自动生成精灵图; otf, ttf, ttc自动生成字体切片; 实现 config.yaml配置文件 推荐使用* extent: 4096 # Associative arrays of table sources tables: my_province: # ID of the MVT

    66910编辑于 2024-12-30
  • 来自专栏DevOps

    影像瓦片切割

    storeHeight * bandCount; GByte *imgBuf = new GByte[imgBufNum]; memset(imgBuf, 0, imgBufNum); //读取N列瓦片影像 size_t rowTileWidth = storeWidth * tilesize; //计算N行瓦片的长度 int nRowTileWidth = rowTileWidth * y; for (size_t iBand = 0;iBand < bandCount;++iBand) { //计算数据瓦片的波段起始位置 size_t dstStart size_t rowTileWidth = storeWidth * tilesize; //计算N行瓦片的长度 size_t nRowTileWidth = rowTileWidth * y; for (size_t iBand = 0;iBand < bandCount;++iBand) { //计算数据瓦片的波段起始位置 size_t dstStart

    72110编辑于 2024-03-29
  • 来自专栏偷得浮生半日闲

    走进地图(4)-地图瓦片

    如果我们提供N层的瓦片,第1层 X 轴和 Y 轴1张图(21-1),第2层X 轴和 Y 轴2张图(22-1),第3层X 轴和 Y 轴4张图(23-1),如此下去第N张是X 轴和 Y 轴是(2n-1)张图 我们再给每张图的X轴,Y轴的按左上角为0开始给序号,再加上层级就出现了瓦片图所需要的X,Y,Z 3个元素了。 如下图:     网上有很多开源的具体转换算法,如:https://github.com/DenisCarriere/global-mercator     有算法,有数据,得有服务才能生成浏览这一张张的瓦片 ,在自有矢量数据源的情况下,可以通过部署GeoServer来提供瓦片图服务,GeoServer采用的是OGC标准的WMTS服务来生成瓦片图(另外提一句,瓦片服务标准除了OGC标准的WMTS,还有OSGeo 在没有自己的数据的就可以使用公共的瓦片服务接口了: OpenStreetMap 天地图

    2K20编辑于 2023-05-24
  • 来自专栏Leaflet

    Leaflet.VectorGrid加载点矢量瓦片鼠标点击报Cannot read properties of undefined的解决办法

    序号博客地址1解决基于VectorGrid的矢量瓦片Y轴偏移的问题2浅谈前端自定义VectorGrid矢量瓦片样式3基于VectorGrid加载GeoServer发布的矢量瓦片实例 以上的博客中关于如何使用 VectorGrid来进行矢量瓦片的渲染进行了详细的说明,但是上述矢量瓦片的数据类型均是面和线数据居多,没有对点数据进行渲染展示。 /{z}/{x}/{y}.pbf3地灾瓦片http://localhost:8086/data/dizai1228/{z}/{x}/{y}.pbf1、矢量瓦片元数据上述的两种矢量瓦片,省和地灾瓦片是采用本地存储的方式 以省份瓦片为例,其目录如下: 其中,metadata.json是用于描述矢量瓦片的元数据信息,通过上述的json描述可以知道,矢量瓦片的参数信息,比如中心点位置、边界、数据格式、图层信息包括图层唯一标识符还有属性字段 二、矢量瓦片渲染 在之前的博客中已经介绍了Leaflet.VectorGrid的渲染方式,这里不在赘述,将主要的代码贴出来。

    6510编辑于 2026-05-23
  • 来自专栏跟牛老师一起学WEBGIS

    跟牛老师一起学WEBGIS——WEBGIS基础(地图切片)

    2.1 切片服务 1.定义 瓦片数据是将矢量或影像数据进行预处理,采用高效的缓存机制(如金字塔)形成的缓存图片集,采用“级、行、列”方式进行组织,可在网页中快速加载。 2.矢量切片 基于栅格瓦片底图的劣势,矢量瓦片针对矢量电子地图,按照一定的标准和技术将其保存为多种比例尺的矢量分块数据,在前端显示电子地图时,可直接调用矢量分块进行绘制。 可保留属性信息,在客户端进行查询时,无需再次请求服务器; 采用分块编码模式,客户端获取时只返回请求区域和相应级别的矢量瓦片底图,且采用实时绘制矢量模式,绘制效率更高; 无级缩放。 矢量瓦片分辨率高达4096*4096,是栅格瓦片的16倍,可保证缩放过程中的细节高度还原,且满足高分屏绘制需求; 自定义渲染样式。客户端显示矢量瓦片底图时,可以按照用户赋予的样式渲染。 如导航地图有白天和黑夜两种模式,只需共用一份矢量瓦片底图,利用两套样式进行渲染即可;可以通过属性过滤条件可以任意过滤筛选图元,实现个性化定制;可以编辑底图中每一个矢量图层的可见状态,调整矢量层的叠加压盖顺序

    4.5K30发布于 2020-08-25
  • 来自专栏python3

    Python爬取地图瓦片

    由于要在内网开发地图项目,不能访问在线的地图服务了,就想把地图瓦片下载下来,网上找了一些下载器都是需要注册及收费的,否则下载到的图都是打水印的,如下: 因为地图瓦片就是按照层级、行、列规则组织的一张张图片 (如下图,14是瓦片的级别,13478是行号,6202是列号),所以想到可以试试用python把这些图爬取下来。 主要可以分为三步: 1.确定要下载的瓦片的级别,经度和纬度范围(可以通过百度坐标拾取获得,http://api.map.baidu.com/lbsapi/getpoint/index.html) 2.计算出这个范围内瓦片的起始和终止行列号 url地址 1 #Google地图瓦片为例,zoom是地图层级,x,y为行列号 2 tilepath = 'http://www.google.cn/maps/vt/pb=! Python获取地图瓦片的完整代码 Openlayers加载离线瓦片参考例子 Leaflet加载离线瓦片参考例子

    3.5K20发布于 2020-01-17
领券