leaflet属于比较轻量的地图框架,并且只是二维的,如果需要展示三维,请使用cesium之类的。
本次使用leaflet-elevation插件,功能强大,比leaflet.elevation好。
涉及的知识点有:
选择图元,获得图元的属性,见我上一篇文章。
获得的多段线属性,主要是坐标,是二维对象,要转成二维数组。
将二维数组转成turf的linestring:var profileline = turf.lineString(linearr);
多段线上分割成多个点,方便获得较多的高程点。var along = turf.lineChunk(profileline, length / 100, options);
循环这些分割点,用Topography.getTopography取得该坐标点的高程。这里涉及比较多的知识点,主要是terrainRGB……见我前面的文章
将这个geojson数据load装载到leaflet-elevation:controlElevation.load(JSON.stringify(collection));

文章介绍了如何利用leaflet-elevation插件进行地图的高程处理,包括将二维坐标转换为turf的linestring,使用turf.lineChunk分割多段线获取更多高程点,以及通过Topography获取坐标点的高程信息,并将处理后的geojson数据加载到leaflet-elevation中展示。
3887

被折叠的 条评论
为什么被折叠?



