切OSM数据矢量瓦片并前端可视化最完整流程

这篇具有很好参考价值的文章主要介绍了切OSM数据矢量瓦片并前端可视化最完整流程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

本文提供了完整OSM数据切瓦片,并实现前端可视化的流程。参考了一些大佬的开源项目,在此感谢这些大佬,并在最后提供相关参考资料。话不多说,整起。

1. OSM矢量数据下载

OSM数据下载链接为OSM数据下载链接,网站界面如下:
osm转瓦片,前端,big data,html
本文下载maldives PBF格式数据进行测试数据地址。

2. 矢量数据切瓦片

2.1 PBF格式转GeoJSON格式数据

使用ogr2ogr工具,这里将multipolygons layer数据转为GeoJSON格式数据。

ogr2ogr -f "GeoJSON" /path/to/madives_multipolygon.geojson /path/to/madives-latest.osm.pbf multipolygons

2.2 切GeoJSON格式矢量数据为mbtiles格式瓦片

使用tippecanoe将GeoJSON格式矢量数据为mbtiles格式瓦片。

tippecanoe -o /path/to/maldives_multipolygon.mbtiles  /path/to/maldives_multipolygon.geojson --drop-densest-as-needed

3. 矢量瓦片前端可视化

本文使用Mapbox GL JS将瓦片数据可视化,需要注册Mapbox获得tocken。

3.1 Mapbox注册以及tocken获取

参考这个大佬的教程,目前是可以的。

3.2 基于Mapbox GL JS 前端可视化

参考这个mbtiles4j教程将mbtiles瓦片通过tomcat发布。

  1. 修改mbtiles4j.properties配置,修改mbtiles文件路径改为你的文件路径。
tile-dbs = db1
db1.path = path/to/maldives_multipolygon.mbtiles
  1. 在mbtiles4j工程下用maven打包成war包,文件位置在target文件夹下,打包文件如下图。
mvn packeage

osm转瓦片,前端,big data,html

  1. 将mbtiles4j.war放到tomcat webapps下面,启动tomcat。
startup.bat
  1. 新建index.html文件
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <title>Mapbox GL JS Map</title>
    <script src='https://api.mapbox.com/mapbox-gl-js/v3.0.1/mapbox-gl.js'></script>
    <link href='https://api.mapbox.com/mapbox-gl-js/v3.0.1/mapbox-gl.css' rel='stylesheet' />
    <style type="text/css">
      body{
        margin: 0;
        padding: 0;
      }
      #map {
        width: 100vw;
        height: 100vh;
      }
    </style>
  </head>
  <body>
    <div id='map'></div>
  <script>
    mapboxgl.accessToken = 'your mapbox tocken';
    const map = new mapboxgl.Map({
    container: 'map', // container ID
    style: 'mapbox://styles/mapbox/streets-v12', // style URL
    center: [73, 8], // starting position [lng, lat]
    zoom: 5, // starting zoom
    });


    map.on('load',function(){
      var maldives_tile_source={
        type: 'vector',
        scheme: "tms",
        tiles:[
          'http://localhost:8080/mbtiles4j/db1/{z}/{x}/{y}.pbf'
        ],
        minzoom: 0,
        maxzoom:16
      };
      var maldives_polygon_layer={
        'id':'maldives_polygon_id',
        'type': 'fill',
        'source':'maldives_tile_source',
        'source-layer':'maldives_multipolygon',
        'paint': {
          'fill-color': 'rgba(0, 128, 255, 0.6)', // 蓝色填充,透明度为 0.6
          'fill-outline-color': 'blue' // 边界颜色为蓝色
        }
      };
      map.addSource('maldives_tile_source',maldives_tile_source);
      map.addLayer(maldives_polygon_layer);
    });

</script>
  </body>
</html>

谷歌浏览器打开,如下图。

osm转瓦片,前端,big data,html
在此,感谢各位大佬提供的资料,参考链接如下:
Mapbox注册: https://www.bilibili.com/read/cv24878918/?spm_id_from=333.999.0.0
mbtiles4j发布矢量瓦片: https://github.com/gisarmory/mbtiles4j?tab=readme-ov-file文章来源地址https://www.toymoban.com/news/detail-827745.html

到了这里,关于切OSM数据矢量瓦片并前端可视化最完整流程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 大数据前端可视化大屏--前端开发之路

    从2016年开始接触可视化方向,一直想写一篇文章回顾一下这几年踩过的坑,接下来的这段时间里我会不定时的给大家分享一些可视化方面的经验和感悟,发出来跟大家一块分享一下、一起讨论讨论、共同学习进步。 这篇文章作为开端,之后会不定时的发出一系列的采坑记录

    2023年04月09日
    浏览(46)
  • 【python】python课设 天气预测数据分析及可视化(完整源码)

    1. 前言 本文介绍了天气预测数据分析及可视化的实现过程使用joblib导入模型和自定义模块GetModel获取模型,输出模型的MAE。使用pyecharts库进行天气数据的可视化,展示南京当日天气数据的表格。总体来说,该文叙述通过调用自定义模块和第三方库,获取天气数据、进行模型预

    2024年02月04日
    浏览(40)
  • 对利用Python爬取到的房价信息做数据可视化(附完整代码)

          大家好,我是带我去滑雪,每天教你一个小技巧! 本文利用Python爬取到的房价信息做数据可视化,爬取数据的文章见: (利用Python爬取房价信息(附代码)_用python爬取房价数据_带我去滑雪的博客-CSDN博客)       所爬取的指标有小区名称、房屋位置、房屋户型、房屋面

    2024年02月02日
    浏览(43)
  • 基于hadoop和echarts的教育大数据可视化系统 毕设完整的代码

    在线教育平台现在是教育体系的重要组成部分,在当前大数据时代的背景下,促进教育机构建立统一平台、统一资源管理的数字化教学系统。如何评估系统平台的健康程度、学生的学习体验和在线课程的质量对于课程的教师和学校的管理人员都是非常重要的,这是进行数据分

    2024年02月08日
    浏览(46)
  • 将Matlab图窗中的可视化保存为背景透明的矢量图

    将matlab绘制的结果复制为矢量图时,去除背景的操作如下: 先打开/绘制图形窗口(不要关闭) 在命令行终端输入 axis off 关闭坐标系 继续在命令行终端分别输入: ax = gca; copygraphics(ax,\\\'ContentType\\\',\\\'vector\\\',\\\'BackgroundColor\\\',\\\'none\\\'); 此时,背景透明的矢量图就保存在系统 剪贴板 上了,详

    2024年01月21日
    浏览(43)
  • 前端数据可视化:D3.js的实践

    数据可视化是指将数据以图形、图表、图片的形式呈现给用户,以帮助用户更好地理解数据。随着数据的增长,数据可视化也越来越重要。前端数据可视化是指在网页上使用HTML、CSS、JavaScript等技术来呈现数据,以帮助用户更好地理解数据。D3.js是一个用于创建动态、交互式数

    2024年04月13日
    浏览(45)
  • 基于Python机器学习算法农业数据可视化分析预测系统(完整系统源码+数据库+详细文档+论文+部署教程)

    基于python机器学习XGBoost算法农业数据可视化分析预测系统,旨在帮助农民和相关从业者更好地预测农作物产量,以优化农业生产。该系统主要包括四个功能模块。 首先,农作物数据可视化模块利用Echarts、Ajax、Flask、PyMysql技术实现了可视化展示农作物产量相关数据的功能。

    2024年04月27日
    浏览(40)
  • 前端数据可视化之【title、legend、tooltip、toolbox 】配置项

    ECharts开源来自百度商业前端数据可视化团队,基于html5 Canvas,是一个纯Javascript图表库,提供直观,生动,可交互,可个性化定制的数据可视化图表。创新的拖拽重计算、数据视图、值域漫游等特性大大增强了用户体验,赋予了用户对数据进行挖掘、整合的能力。 想让EChart

    2024年02月06日
    浏览(37)
  • VsCode连接Mysql、Redis、MariaDB、SQL Server等数据库并进行可视化操作。无需额外的去下载可视化数据软件了,VsCode前端很方便的插件!!!

    前言:VsCode直接连接并操作数据库!最近使用公司的新电脑时,才发现好多东西需要重新下载 、配置,最近偶然接触到了 VsCode 的 Database Clinent 插件,可连接众多的服务,其中就支持连接到本地和远程的数据库,可视化操作、语句查询、导入、导出数据等基本功能集合,个人

    2024年02月05日
    浏览(54)
  • 100天精通Python(可视化篇)——第110天:Pyecharts绘制可视化大屏项目(附上完整源码)

    🔥🔥 本文已收录于 《100天精通Python从入门到就业》:本专栏专门针对零基础和需要进阶提升的同学所准备的一套完整教学,从0到100的不断进阶深入,后续还有实战项目,轻松应对面试,专栏订阅地址:https://blog.csdn.net/yua

    2024年02月04日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包