
WebGIS
文章平均质量分 80
GIS前端功能实现,mapbox-gl、Cesium等
迦南giser
GIS专业硕,熟悉Webgis、Webgl;网页端地图交互、前端gis引擎,h5、小程序
展开
-
mapbox-gl 点位编辑功能
矢量在线编辑是gis常用的编辑功能,兴趣点(POI)与区域面(AOI)或者道路线不同,在地图上没有形状和面积,仅表示落位地点,本文介绍使用mapbox进行点位编辑的常用方式,底图使用高德公开的地图服务。根据UI设计生成新的雪碧图,作为地图上点位的图标。方法有两种:借助 Marker方式二;采用 mapbox-gl-draw 插件。原创 2023-06-21 12:21:05 · 1883 阅读 · 1 评论 -
mapbox-gl 移动端(H5)位置共享交互
分享最近写的一个小demo,功能类似微信小程序端的大头针位置共享功能,需要实现的主要功能包括位置查询、周边地点检索、位置定位等,数据采用天地图球面墨卡托(WGS84)的 WMTS 矢量底图与标记服务,框架采用Taro。原创 2023-04-25 19:45:00 · 1016 阅读 · 4 评论 -
Cesium实践(4)——空间数据加载
本文介绍Cesium如何加载空间数据,空间数据即明确定义在三维空间中的数据,空间数据包括以下几类:1、几何形体(点、线、面、体)2、标签(文字图标等)3、几何文件(geojson、kml、czml)4、三维模型(gltf、gltf)。3D Tiles 作为Cesium提出的处理大型三维数据的格式暂不在本文介绍。原创 2023-04-23 20:00:00 · 2034 阅读 · 0 评论 -
Cesium实践(3)——坐标系与相机系统
本文介绍Cesium世界中的坐标系统,Cesium的坐标系分三种:屏幕坐标、笛卡尔空间直角坐标、地理坐标,在得知目标的坐标后,即可使用相机系统对目标进行定位或进行相机交互。原创 2023-04-17 09:00:00 · 2570 阅读 · 1 评论 -
Cesium实践(2)—— 加载地形与影像
地形数据用来表示真实的地形起伏;地图数据指的则是真实的影像服务, 本文实践在Cesium中加载地形与影像数据。原创 2023-04-08 22:20:22 · 10312 阅读 · 1 评论 -
Cesium实践(1)—— Hello World
工作大半年来主要的技术栈是mapbox-gl 和 threejs,但是作为一名GIS专业毕业生,一直对Cesium充满兴趣。Cesium不仅保持了 threejs 的三维绘制能力,而且内置大量渲染地理数据的API于算法,相较于 mapbox “制作世界上最漂亮的地图”的定位,Cesium无疑是重gis项目或业务的首选框架。据说Cesium与Vue结合更加简便,本文介绍Cesium中的核心类,并使用 Vite + Vue 搭建Cesium应用。原创 2023-03-22 00:21:23 · 1592 阅读 · 1 评论 -
mapbox-gl实现 2.5D 图层高度编辑器
mapbox-gl 支持表达式编辑 2.5D 建筑物高度,但是 style 文件原生的表达式很不直观,本文实现一个简单的 2.5D高度图层编辑器,核心是理解mapbox表达式规则与递归算法。原创 2023-03-02 20:55:28 · 1605 阅读 · 0 评论 -
Cesium模型裁切原理
Cesium的官方示例中提供了3D模型裁切获取剖切面的示例,相信很多初次接触cesium的小伙伴第一次看时都会和我一样,虽然本地能跑起来,但是对整个流程缺乏整体的理解,也不清除原理和每一步是干啥,最近整理了一下这个流程并记录下来。......原创 2022-08-27 14:32:19 · 3829 阅读 · 1 评论 -
Cesium之3DTileset实例管理
最近使用Cesium结合ts和react自己手动搭建了一个基本界面,需要加载3dTiles数据和geojson数据,动态控制图层的显隐。原创 2022-08-12 22:23:11 · 4297 阅读 · 3 评论 -
Cesium地图中显示鼠标经纬度
前端在地图中添加随鼠标位置更新的经纬度显示框是一个基本需求,本文分别使用函数组件和类实例实现这个功能,采用的技术栈是react和cesium,mapbox-gl同理可用。原创 2022-08-14 20:32:28 · 1816 阅读 · 1 评论 -
Cesium为3dTile模型添加气泡框
在Cesium中没有类似mapbox中的气泡(popup)弹框,在react-hooks中可以封装一个这样的类组件,借助网上提供的思路为外部模型添加popup气泡框,改进后在旋转缩放时仍能保持原位置,不会偏移。原创 2022-08-24 21:14:55 · 1956 阅读 · 0 评论 -
mapbox & deckgl:Layer with id “xxx“ already exists on this map
今天基于mapbox-gl进行二开时封装了deck-gl中的图层,却导致了预计外的bug,明明在图层未添加时仍会报错:Layer with id "xxx already exists on this map,特此记录下这个问题。原创 2022-11-11 16:14:54 · 1029 阅读 · 0 评论 -
mapbox-gl的Style文件规范详解
mapbox-gl的Style文件规范详解转载 2022-08-15 17:04:52 · 3375 阅读 · 0 评论 -
mapbox-gl封装轨迹动画图层
mapbox轨迹回放图层封装原创 2022-10-28 13:27:19 · 1917 阅读 · 5 评论 -
mapbox-gl支持多种坐标系
mapbox默认的投影是3857,但是实际应用中我们经常会使用高德、百度、天地图的服务,原生mapbox是不支持的,需要我们修改源码以支持以上坐标系。有疑惑的小伙伴欢迎交流。原创 2022-11-01 21:16:17 · 4800 阅读 · 27 评论 -
mapbox-gl图形绘制并编辑已有图层
基于mapbox实现创建多边形,还可以将入库的多边形图层重新编辑原创 2022-08-21 11:53:59 · 4559 阅读 · 5 评论 -
mapbox-gl添加threejs飞线
mapbox-gl是一个基于webgl开发的三维地图渲染引擎,但是很多三维特效只用mapbox并容易实现,比如带高度的飞线,本文结合之前对threebox的研究实现带高度的飞线。原创 2023-01-05 20:51:00 · 3246 阅读 · 9 评论 -
mapbox-gl结合threejs
最近在研究threejs和mapbox的结合,花了一天多的时间,结合threebox这个mapbox的三维库,给mapbox中创建自定义图层,添加自定义几何体,基于react-hooks实现,代码不多,但是threebox官网的例子给的很少,所以不少东西还是需要自己摸索下,特此记录下来。原创 2022-10-24 18:26:48 · 4766 阅读 · 5 评论