面经分享来了,本期是<GIS开发特训营以就业学员>的真实面经分享,补充一下我们前面更新的面试题没有提到的内容。
快来看看吧!再次感谢所有同学的分享,你们宝贵的面经将助力更多同学成功就业。
往期内容回顾:
WebGIS开发求职必会|GIS八股文基础问答-CSDN博客文章浏览阅读1.7k次,点赞50次,收藏19次。通俗讲:在GIS中,动态投影(Dynamic Projection),是实时的可视化的展示地理空间数据的技术。它可以将地理空间数据映射到屏幕空间中,并以动态的方式展示数据在不同时间点上的变化趋势通过动态投影,用户可以更好地理解地理空间数据的演化和趋势,从而更好的进行地理空间分析和决策。动态投影在GIS中通常被用于可视化时间序列的地理空间数据,如。https://blog.csdn.net/yaogis888/article/details/150338205?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522789a21aea318865d2f0c761267bfcc2e%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=789a21aea318865d2f0c761267bfcc2e&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~rank_v31_ecpm-4-150338205-null-null.nonecase&utm_term=%E9%9D%A2%E8%AF%95&spm=1018.2226.3001.4450WebGIS开发求职必会|二三维GIS开发框架mapbox&cesium常见面试题及答案-CSDN博客文章浏览阅读1.1k次,点赞30次,收藏24次。在Cesium中,要实现点击某实体后显示⾃定义弹框,可以通过以下步骤实现:// 在这⾥实现点击实体后的操作// 获取实体的属性信息// 创建⾃定义的HTML弹框p>';// 设置弹框的位置和偏移量// 显示弹框。
https://blog.csdn.net/yaogis888/article/details/150381928?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522789a21aea318865d2f0c761267bfcc2e%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=789a21aea318865d2f0c761267bfcc2e&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~rank_v31_ecpm-3-150381928-null-null.nonecase&utm_term=%E9%9D%A2%E8%AF%95&spm=1018.2226.3001.4450求职必会|WebGIS开发之openlayers相关面试题问答-CSDN博客文章浏览阅读999次,点赞31次,收藏15次。包含地理信息的json数据,格式是以key:value的形式存在的。后缀以 geojson结尾。
https://blog.csdn.net/yaogis888/article/details/150337618?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522789a21aea318865d2f0c761267bfcc2e%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=789a21aea318865d2f0c761267bfcc2e&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~rank_v31_ecpm-1-150337618-null-null.nonecase&utm_term=%E9%9D%A2%E8%AF%95&spm=1018.2226.3001.4450求职必会|WebGIS开发之openlayers相关面试题问答-CSDN博客文章浏览阅读999次,点赞31次,收藏15次。包含地理信息的json数据,格式是以key:value的形式存在的。后缀以 geojson结尾。
https://blog.csdn.net/yaogis888/article/details/150337618?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522789a21aea318865d2f0c761267bfcc2e%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=789a21aea318865d2f0c761267bfcc2e&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~rank_v31_ecpm-1-150337618-null-null.nonecase&utm_term=%E9%9D%A2%E8%AF%95&spm=1018.2226.3001.4450
1.什么是OpenLayers?它在WebGIS开发中有哪些应用?
OpenLayers是一个用于构建WebGIS应用程序的开源JavaScript库。它提供了丰富的地图功能,如地图展示、缩放、旋转、地理要素渲染等。在WebGIS开发中,OpenLayers常用于构建交互式的地图应用程序,支持各种地图数据源,如WMS、TMS、GeoJSON等,可广泛应用于地理信息可视化、空间分析、地图编辑等领域。
2.描述一下OpenLayers的架构和工作原理。
1.核心模块:OpenLayers的核心模块包括Map、View、Layer等,这些模块提供了地图的基本功能,如显示地图、缩放和平移等
2.渲染器:OpenLayers支持多种渲染器,如Canvas、SV8、WebGL等,用户可以根据需要选择合适的渲染器来提高性能,
数据源:OpenLayers支持多种数据源,如WMS、WMTS、XYZ等,用户可以通过数据源加载3.2、、地图数据。
4.控件:OpenLayers提供了丰富的控件,如缩放控件、旋转控件、全屏控件等,用户可以通过这些控件来增强地图的功能。
事件处理:OpenLayers支持事件监听和处理,用户可以通过监听地图的各种事件(如点击拖动等)来实现自定义的功能。
3.如何设置地图的中心点和缩放级别?
在OpenLayers中,我们可以使用 ol.View 对象来设置地图的中心点和缩放级别。ol.View 对象有两个重要的属性:center和 zoom。center 是一个包含两个元素的数组,表示地图中心的经纬度坐标。zoom 是一个数字,表示地图的缩放级别。
示例代码:
4.Mapbox GL JS 和 Mapbox Studio 的区别以及它们之间的关系
Mapbox GL JS 和 Mapbox Studio 是 Mapbox 提供的两个产品,它们的主要区别在于:
Mapbox GL JS 是⼀个 JavaScript 库,⽤于在 Web 应⽤程序中构建交互式地图。开发者可以使⽤Mapbox GL JS 构建具有交互性、可视化和数据分析功能的地图应⽤程序。
Mapbox Studio 是⼀个基于 Web 的地图设计⼯具,开发者可以使⽤它创建、编辑和发布⾃定义地图样式。Mapbox Studio 提供了丰富的地图设计⼯具,使开发者能够⾃由设计地图样式,并实时预览和调试地图样式。
Mapbox GL JS 和 Mapbox Studio 之间的关系是:开发者可以使⽤ Mapbox Studio 创建⾃定义地图样式,然后将这些样式⽤作 Mapbox GL JS 的输⼊数据,从⽽在 Web 应⽤程序中构建具有⾃定义外观和交互性的地图。Mapbox Studio 还提供了⽤于导出地图数据的⼯具,这些数据可以直接⽤于 MapboxGL JS 中。
因此,Mapbox Studio 和 Mapbox GL JS 都是 Mapbox 提供的⽤于创建⾃定义地图的⼯具,MapboxStudio ⽤于设计地图样式,⽽ Mapbox GL JS ⽤于在 Web 应⽤程序中构建交互式地图。两者之间密切相关,并通常⼀起使⽤来创建具有⾃定义外观和功能的地图应⽤程序。
5. 请解释CesiumJS是什么,它的主要⽤途是什么?
CesiumJS是⼀个⽤于创建世界级3D地球和地图的开源JavaScript库。它主要⽤于地理信息系统(GIS)应⽤程序、虚拟现实(VR)和增强现实(AR)项⽬。
6. CesiumJS中的Viewer对象是什么?如何使⽤它?
Viewer对象是CesiumJS中的核⼼组件,⽤于显示3D地球和地图。要使⽤Viewer对象,⾸先需要在HTML⽂件中引⼊CesiumJS库,然后在JavaScript代码中创建⼀个Viewer实例。
示例代码:
7. 如何在CesiumJS中添加⼀个3D模型?
要在CesiumJS中添加⼀个3D模型,可以使⽤Model类。⾸先需要加载模型⽂件(如glTF或OBJ格式),然后创建⼀个Model实例并将其添加到场景中。
示例代码:
8.解释一下Cesium.js中的事件处理,包括⿏标点击、键盘按键等事件的监听和处理
Cesium.js是⼀个⽤于创建3D地球和地图的JavaScript库。在Cesium中,事件处理是⼀个重要的部分,它允许我们监听和响应⽤户的操作,如⿏标点击、键盘按键等。
9.Three.js 中的粒⼦系统是如何⼯作的,有哪些应⽤场景?
粒⼦系统是通过⼤量的⼩粒⼦来模拟效果,如⽕花、⾬、雪等。在 Three.js 中,你可以使⽤THREE.Points或 THREE.Sprite 来创建粒⼦系统。
10.如何实现渐变背景或天空盒(Skybox)?
渐变背景可以通过设置场景的背景颜⾊实现,⽽天空盒则需要加载⼀个⽴⽅体贴图作为背景。你可以使⽤THREE.CubeTextureLoader 来加载天空盒贴图。
11.如何在CesiumJS中实现地形⾼度查询?
要在CesiumJS中实现地形⾼度查询,可以使⽤SampledPositionProperty类。⾸先需要获取地形位置属性(如TerrainProvider),然后将其应⽤于⾃定义实体的点属性。最后,通过监听SampledPositionProperty事件来获取地形⾼度。
示例代码: