ArcGIS JS 基础教程(22):BuildingSceneLayer 建筑场景图层

发布时间:2026/9/17 23:06:02

ArcGIS JS 基础教程(22):BuildingSceneLayer 建筑场景图层 ArcGIS JS 基础教程22BuildingSceneLayer 建筑场景图层零、写在前面一、功能介绍二、功能实现三、功能应用四、核心代码五、在线示例六、关键 API 说明七、系列导航零、写在前面本系列教程完整目录ArcGIS JS 系列基础教程100个项目常用热门功能在线示例完整可运行的 HTML 示例无需任何环境配置可直接在浏览器中打开体验️专栏导航收藏 关注专栏文章第一时间送达❤️一键三连点赞给教程充电 评论提问必回 收藏下次再看一、功能介绍BuildingSceneLayer专用于加载BIM 建筑信息模型数据支持逐层过滤、构件高亮、属性查询。参考BuildingSceneLayer API二、功能实现constlayernewBuildingSceneLayer({url:https://gs3d.geosceneonline.cn/server/rest/services/Hosted/adminBldgBim/SceneServer/});map.add(layer);// 用 modelName 定位构件子图层再设 definitionExpression仅构件子图层有该属性layer.when((){constdoorslayer.allSublayers.find(ss.modelNameDoors);doors.definitionExpressionBldgLevel 5;});三、功能应用场景说明智慧楼宇逐层浏览设备信息建筑全生命周期设计→施工→运维房产展示户型筛选可视化四、核心代码sample/lesson22_building_scene.html!DOCTYPEhtmlhtmllangzh-CNheadmetacharsetUTF-8metanameviewportcontentwidthdevice-width, initial-scale1.0title第22课BuildingSceneLayer 建筑场景/titlelinkrelstylesheethrefhttps://js.arcgis.com/5.0/esri/themes/light/main.cssscripttypemodulesrchttps://js.arcgis.com/5.0//scriptstyle*{margin:0;padding:0;box-sizing:border-box;}body{font-family:Microsoft YaHei,sans-serif;}#mapContainer{width:100vw;height:100vh;}.page-title{position:absolute;top:20px;left:50%;transform:translateX(-50%);background:rgba(255,255,255,0.95);padding:10px 24px;border-radius:6px;font-size:18px;font-weight:bold;z-index:100;box-shadow:0 2px 8pxrgba(0,0,0,0.15);}.status{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);background:rgba(0,0,0,0.7);color:white;padding:8px 20px;border-radius:20px;font-size:13px;z-index:100;pointer-events:none;}/style/headbodyh1classpage-title第22课BuildingSceneLayer 建筑场景/h1divclassstatusidstBuildingSceneLayer | 加载中.../divdividmapContainer/divscripttypemoduleconstMapawait$arcgis.import(arcgis/core/Map.js);constSceneViewawait$arcgis.import(arcgis/core/views/SceneView.js);constBuildingSceneLayerawait$arcgis.import(arcgis/core/layers/BuildingSceneLayer.js);constgetTiandituawait$arcgis.import(https://openlayers.vip/examples/resources/tianditu.js);consttlgetTianditu.default({type:vec_w});constmapnewMap({basemap:{baseLayers:[tl.base,tl.anno]}});constviewnewSceneView({container:mapContainer,map,zoom:14,center:[-83.0472,39.9982]});// BIM BuildingSceneLayerconstbslnewBuildingSceneLayer({url:https://gs3d.geosceneonline.cn/server/rest/services/Hosted/adminBldgBim/SceneServer/});map.add(bsl);view.whenLayerView(bsl).then((){view.goTo(bsl.fullExtent,{duration:2000,easing:cubic-out});document.getElementById(st).textContentBuildingSceneLayer | 已加载BIM建筑;}).catch((){document.getElementById(st).textContentBuildingSceneLayer | 加载失败;});/script/body/html五、在线示例在线体验https://southjor.github.io/arcgis-examples/lessons/lesson22.html六、关键 API 说明API说明new BuildingSceneLayer({ url })加载 BIM 建筑信息模型layer.allSublayers全部子图层集合CollectionBuildingSublayer用modelName定位sublayer.definitionExpression逐构件过滤仅BuildingComponentSublayer有此属性sublayer.visible/sublayer.opacity子图层显隐与透明度参考链接BuildingSceneLayer API七、系列导航⬅️上一篇ArcGIS JS 基础教程21PointCloudLayer 点云图层➡️下一篇ArcGIS JS 基础教程23GaussianSplatLayer 高斯泼溅图层小贴士BuildingSceneLayer专用于加载 BIM 建筑信息模型核心是allSublayers先用modelName如Doors、Walls定位构件子图层再用definitionExpression逐构件过滤如BldgLevel 5只看 5 层以上。同样先用view.whenLayerView()等待就绪再goTo(fullExtent)。
延伸阅读

更多相关文章

2026/9/17 23:06:02

AVA-Encoder:当AI终于学会看懂一部电影

你有没有想过一个问题:现在的AI已经能写代码、能画画、能生成视频,为什么还是拍不出一部像样的电影?不是技术不够先进,是它压根不知道该怎么"看电影"。想象一下,你把《泰坦尼克号》甲板拥抱那场戏丢给一个AI…

2026/9/18 0:06:10

Adam优化器:原理、手写实现与PyTorch调参实战

调参这件事,真正让人头大的往往不是网络结构本身,而是优化器。同一个模型、同一份数据,换个优化器或者改一下默认参数,收敛速度和最终指标能差出一大截。我这些年做模型训练和工程落地,从早期手写SGD加动量&#xff0c…

2026/9/18 0:06:10

Python构建Web漏洞智能检测系统:规则+模型+安全设计实战

简介:针对Web应用安全检测需求,这份毕业设计论文提出并实现了基于Python的Web漏洞智能检测系统,借助Django框架与漏洞库机制完成漏洞扫描、入侵检测、安全建议与病毒库更新等功能。资源面向具备Python基础、从事网络安全研究与开发的技术人员…

2026/9/18 0:06:10

钢管订购与运输问题:数学建模与Python求解

简介:数学建模B题钢管订购和运输全解答是一份面向数学建模竞赛参赛者的完整优化方案,聚焦钢管订购与运输调度问题。包含一个Word文档(约459KB),系统梳理了从问题分析、模型建立到求解的全过程:采用Floyd算法…

2026/9/18 0:06:10

PentAGI实操指南:开源AI代理的本地部署与任务自治实践

说实话,"PentAGI"这个名字第一眼挺劝退的,"AGI"三个字母在大模型圈子里已经被用得太滥了。但真正把仓库拉下来、把项目跑通之后,我的态度发生了很大变化:这个开源项目确实在认真往"通用任务代理"的…

2026/9/18 0:06:10

拆解AI应用型技术栈:从Java到机器学习与OpenCV项目实战

简介:一份面向高职计算机应用技术(人工智能应用技术)专业的三年制人才培养方案PDF,适合院校教务人员、专业教师及有报考意向的学生和家长参阅。方案以2021级为对象,系统给出专业代码510201、入学要求与全日制学制&…

2026/9/18 0:01:09

考研高数解题链路思维导图:从知识组织到真题决策

简介:本资源是一份专为考研学子与高校理工科新生设计的《高等数学》核心知识体系梳理工具,以结构化思维导图形式系统覆盖极限、一元函数微分学、一元函数积分学、多元函数微分学及微分方程五大主干模块,直击考研高频考点与学习难点。文件为单…

2026/9/16 12:52:37

拯救者Y7000黑屏故障排查与维修实战指南

1. 项目概述:一台黑屏的拯救者Y7000,到底卡在哪一步? 联想拯救者Y7000系列笔记本,从2018年第一代搭载i5-8300H开始,到后来的i7-9750H、i7-10750H、i5-11400H,再到2023年款的R7-7840HS,它始终是学…

2026/9/18 0:01:09

Google Colab 实战:运行模型、数据加载与报错排查

1. 为什么我劝你先搞懂 Colab 的运行模型1.1 Colab 到底是什么,跟本地跑代码差在哪Google Colab 简单说就是一台跑在浏览器里的 Linux 虚拟机,你打开一个 Notebook,背后就连上了一台带 GPU 的远程机器。你在单元格里敲的每一行 Python&#x…

2026/9/18 0:01:09

C语言数据类型与表达式详解

1. C语言数据与数据类型概述在C语言编程中,数据是程序处理的核心对象。理解数据的分类和特性是掌握C语言的基础。C语言中的数据主要分为四大类:常量、变量、表达式和函数。这些数据类型构成了C语言程序的基本元素,每种类型都有其独特的特性和…

2026/9/18 0:01:09

SQL时间字段指定时间段查询:区间语义、索引与时区避坑

上周排查一个线上问题&#xff0c;用户反馈"昨天的订单一条都没查到"&#xff0c;但数据库里明明躺着两千多条。最后定位下来&#xff0c;不是数据丢了&#xff0c;也不是接口挂了&#xff0c;而是那个查询条件把时间段写成了> 2024-05-20 00:00:00 AND < 2024…

2026/9/16 22:55:57

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行&#xff0c;Type-C接口算是典型的“看着简单&#xff0c;做起来全坑”的东西。光引脚就24个&#xff0c;高低速信号、电源、控制线全部塞在一个小小的连接器里&#xff0c;如果PCB布局不做规划&#xff0c;打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/16 22:56:09

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/16 22:56:16

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
咨询二维码