设计网站轮廓模板如何开发自己的app软件

张小明 2026/1/2 11:50:15
设计网站轮廓模板,如何开发自己的app软件,网站改版具体建议,手机看电视剧网站大全目录 一、研究区设置与地图初始化 二、Landsat 8 影像加载与筛选 三、归一化建筑指数#xff08;NDBI#xff09;计算 四、建设用地提取#xff08;核心阈值法#xff09; 五、面积计算函数定义 六、总面积与密度分级面积计算 #xff08;一#xff09;建设用地总…目录一、研究区设置与地图初始化二、Landsat 8 影像加载与筛选三、归一化建筑指数NDBI计算四、建设用地提取核心阈值法五、面积计算函数定义六、总面积与密度分级面积计算一建设用地总面积计算二密度分级计算核心逻辑按 NDBI 值细分七、数据导出本地存储八、地图图例添加可视化优化九、代码核心特点与注意事项十、运行结果若觉得代码对您的研究 / 项目有帮助欢迎点击打赏支持需要完整代码的朋友打赏后可在后台私信复制文章标题发给我我会尽快发您完整可运行代码感谢支持本代码基于 Google Earth EngineGEE平台以 2023 年 Landsat 8 卫星影像为数据源通过计算归一化建筑指数NDBI实现研究区建设用地的提取并按照 NDBI 数值范围划分低密度、中密度、高密度三个等级最终完成面积统计、可视化展示与数据导出。核心流程可概括为设置研究区→加载影像→计算 NDBI→建设用地提取→面积计算→密度分级→数据导出→图例添加全程围绕 “从影像到专题信息” 的提取逻辑展开。本代码可用于城市扩张监测、建设用地时空变化分析、城市规划评估等场景例如计算某城市 2023 年建设用地总面积及密度分布为城市总体规划提供数据支撑。对比不同年份的建设用地提取结果分析城市扩张速度与方向。结合其他指数如 NDVI、MNDWI优化地类提取精度实现建设用地与水体、植被的精准区分。一、研究区设置与地图初始化var roi table; Map.addLayer(roi, {}, 研究区); Map.centerObject(roi, 9);核心功能定义研究区范围并在地图上可视化同时调整地图视角。关键说明roi tabletable是 GEE 中已导入的矢量数据集如行政区划边界此处直接作为研究区Region of Interest后续所有操作均限定在该范围内。Map.addLayer()将研究区矢量边界添加到地图画布第三个参数为图层名称便于在地图界面区分。Map.centerObject(roi, 9)将地图中心定位到研究区第二个参数 “9” 为缩放级别范围 1-20数值越大视角越近、细节越清晰。二、Landsat 8 影像加载与筛选var collection ee.ImageCollection(LANDSAT/LC08/C02/T1_L2) .filterDate(2023-01-01, 2023-12-31) .filterBounds(roi) .sort(CLOUD_COVER) .first(); print(影像元数据, collection);核心功能筛选 2023 年覆盖研究区、云量最少的 Landsat 8 表面反射率SR影像。关键参数与逻辑影像集合 IDLANDSAT/LC08/C02/T1_L2是 Landsat 8 的 Level 2 级产品经过大气校正、辐射定标等预处理数据质量更高可直接用于指数计算。筛选条件filterDate()限定影像时间范围为 2023 全年确保数据的时间一致性。filterBounds(roi)仅保留覆盖研究区的影像剔除无关区域数据提高计算效率。sort(CLOUD_COVER).first()按 “云量CLOUD_COVER” 升序排序后取第一幅即云量最少的影像避免云层对后续指数计算的干扰。print()在 GEE 控制台输出影像元数据如拍摄时间、云量、分辨率等用于数据质量校验。三、归一化建筑指数NDBI计算var ndbi collection.normalizedDifference([SR_B6, SR_B5]); var ndbiClipped ndbi.clip(roi); Map.addLayer(ndbiClipped, {min: -1, max: 1, palette: [blue, white, green]}, NDBI);核心原理NDBI 是识别建设用地的核心指数利用短波红外SWIR与近红外NIR波段的差异突出建筑用地建筑用地在 SWIR 波段反射率高NIR 波段反射率低NDBI 值为正植被、水体 NDBI 值为负。关键解析波段对应Landsat 8 的SR_B6为短波红外波段SWIRSR_B5为近红外波段NIR符合 NDBI 计算公式NDBI (SWIR - NIR) / (SWIR NIR)。normalizedDifference()GEE 内置函数直接计算两波段的归一化差值结果范围为 [-1,1]。clip(roi)将 NDBI 影像按研究区裁剪剔除研究区外的无效数据。可视化设置min: -1, max: 1限定显示范围palette设置颜色映射蓝色→负值区白色→接近 0绿色→正值区直观区分不同地类的 NDBI 特征。四、建设用地提取核心阈值法var ndbiThreshold 0; var builtUpArea ndbiClipped.gt(ndbiThreshold) .selfMask() .rename(BuiltUpArea); Map.addLayer(builtUpArea, {palette: FFF000}, 建设用地);核心逻辑基于 NDBI 的物理意义设定阈值此处为 0将 NDBI 值大于 0 的区域判定为建设用地。关键步骤gt(ndbiThreshold)gt是 “大于greater than” 的缩写返回布尔影像NDBI0 的像素为 1否则为 0。selfMask()掩膜操作仅保留值为 1 的像素建设用地值为 0 的区域透明显示避免干扰可视化。rename()为结果影像命名便于后续面积计算和导出。可视化采用黄色FFF000显示建设用地与其他地类形成明显区分。五、面积计算函数定义var calculateArea function(image) { var pixelArea ee.Image.pixelArea().divide(1e4); // 转为公顷 return image.multiply(pixelArea); };核心功能定义通用面积计算函数将影像像素值转换为实际面积公顷。原理说明ee.Image.pixelArea()GEE 内置函数返回每个像素的面积单位平方米Landsat 8 影像分辨率为 30 米单个像素面积为 30×30900 平方米。divide(1e4)1 公顷 10000 平方米将面积单位从平方米转为公顷便于实际应用。image.multiply(pixelArea)将布尔影像1 表示建设用地0 表示非建设用地与像素面积相乘得到每个建设用地像素的实际面积非建设用地像素面积为 0。六、总面积与密度分级面积计算一建设用地总面积计算var builtUpAreaWithArea calculateArea(builtUpArea); var totalArea builtUpAreaWithArea.reduceRegion({ reducer: ee.Reducer.sum(), geometry: roi, scale: 30, maxPixels: 1e9 }); print(建设用地总面积公顷, totalArea.get(BuiltUpArea));calculateArea(builtUpArea)调用面积计算函数得到每个建设用地像素的面积影像。reduceRegion()对影像进行区域统计核心参数reducer: ee.Reducer.sum()统计方式为 “求和”即所有建设用地像素的面积总和。geometry: roi统计范围为研究区。scale: 30统计分辨率与 Landsat 8 影像原始分辨率一致确保面积精度。maxPixels: 1e9设置最大处理像素数避免因研究区过大导致计算报错。print()在控制台输出总面积结果get(BuiltUpArea)提取统计结果中的面积值。二密度分级计算核心逻辑按 NDBI 值细分// 低密度0 ~ 0.05 var lowDensityBuiltUpArea ndbiClipped.gt(0).and(ndbiClipped.lt(0.05)) .selfMask().rename(LowDensityBuiltUpArea); var lowDensityArea calculateArea(lowDensityBuiltUpArea).reduceRegion({...}); print(低密度建设区面积公顷, lowDensityArea.get(LowDensityBuiltUpArea)); // 中密度0.05 ~ 0.10 var mediumDensityBuiltUpArea ndbiClipped.gt(0.05).and(ndbiClipped.lt(0.10)) .selfMask().rename(MediumDensityBuiltUpArea); // 高密度 0.10 var highDensityBuiltUpArea ndbiClipped.gt(0.10) .selfMask().rename(HighDensityBuiltUpArea);分级依据NDBI 值越大代表建筑用地的 “密集程度” 越高如高层密集城区 NDBI 值高城郊低矮建筑区 NDBI 值低因此按 NDBI 区间划分密度等级低密度0 NDBI 0.05如城郊散户、低矮建筑区中密度0.05 ≤ NDBI 0.10如普通城区、多层建筑群高密度NDBI ≥ 0.10如中心商务区、高层密集区关键语法and()是逻辑 “与” 操作用于限定 NDBI 的区间范围中密度、高密度的面积计算逻辑与低密度一致均调用calculateArea()函数和reduceRegion()统计最终在控制台输出各等级面积。可视化区分低密度橙色 FFA500、中密度红色 FF0000、高密度深红色 8B0000颜色深浅对应密度高低直观展示研究区建设用地的密度分布。七、数据导出本地存储// 导出建设用地影像 Export.image.toDrive({ image: builtUpArea.uint8(), description: BuiltUp_Area_Image, folder: GEE_Export, scale: 30, region: roi }); // 导出NDBI影像GeoTIFF Export.image.toDrive({ image: ndbiClipped, description: NDBI_Full, folder: GEE_Export, scale: 30, region: roi.geometry().bounds(), fileFormat: GeoTIFF });核心功能将计算得到的专题影像建设用地、各密度等级、NDBI导出到 Google Drive便于后续在 ArcGIS 等软件中进一步分析。关键参数说明image: builtUpArea.uint8()将布尔影像转换为 8 位无符号整数类型uint8减少文件体积便于存储。description导出文件名称需唯一且明确。folderGoogle Drive 中存储文件的文件夹名称需提前创建。scale: 30导出分辨率与原始影像一致保证数据精度。region导出范围建设用地影像按研究区矢量范围导出NDBI 影像按研究区边界的外接矩形导出避免漏边。fileFormat: GeoTIFF导出格式为 GeoTIFF地理空间数据标准格式支持坐标系统可直接用于 GIS 软件。八、地图图例添加可视化优化var legend ui.Panel({style: {position: bottom-left, padding: 8px 15px}}); var legendTitle ui.Label({value: 研究区基于NDBI的建设用地分级, style: {fontWeight: bold, fontSize: 18px}}); legend.add(legendTitle); var makeRow function(color, name, value) { var colorBox ui.Label({style: {backgroundColor: # color, padding: 8px}}); var description ui.Label({value: name, style: {margin: 0 0 4px 6px}}); var valueLabel ui.Label({value: value ? value 公顷 : , style: {margin: 0 0 4px 6px, fontWeight: bold}}); return ui.Panel({widgets: [colorBox, description, valueLabel], layout: ui.Panel.Layout.Flow(horizontal)}); }; lowvalue.evaluate(function(val) { mediumvalue.evaluate(function(val2) { highvalue.evaluate(function(val3) { legend.add(makeRow(FFA500, 低密度, val)); legend.add(makeRow(FF0000, 中密度, val2)); legend.add(makeRow(8B0000, 高密度, val3)); }); }); }); Map.add(legend);核心作用在地图界面添加自定义图例关联各密度等级的颜色、名称与面积值提升可视化结果的可读性。关键逻辑ui.Panel()创建图例面板设置位置左下角和内边距避免遮挡地图主体。makeRow()函数定义图例的每一行结构包含 “颜色块 等级名称 面积值” 三个组件采用水平布局Flow (horizontal)。evaluate()由于 GEE 中的数据为服务器端对象ee.Number需通过evaluate()将其转换为客户端 JavaScript 数值才能在图例中显示具体面积。动态更新图例中的面积值与前文计算结果联动无需手动输入确保数据一致性。九、代码核心特点与注意事项核心特点流程化设计从数据加载到结果导出步骤清晰、逻辑闭环可直接适配不同研究区仅需替换table矢量数据。精度可控采用 Landsat 8 Level 2 级数据结合 30 米分辨率和阈值法平衡计算效率与提取精度。可视化丰富多图层叠加研究区、NDBI、建设用地、密度分级 自定义图例直观展示分析结果。注意事项阈值调整NDBI 阈值0为通用值实际应用中需根据研究区地类特征如植被覆盖率、水体分布调整可通过试错法或混淆矩阵验证最优阈值。数据质量若研究区 2023 年无云量极低的影像可扩大时间范围或调整sort(CLOUD_COVER)为filter(ee.Filter.lt(CLOUD_COVER, 10))筛选云量 10% 的影像。导出限制GEE 导出文件大小有限制若研究区过大可拆分研究区或降低导出分辨率需权衡精度。矢量数据table需提前导入 GEE支持 Shapefile、KML 等格式且需与影像坐标系统一致默认 WGS84。十、运行结果研究区范围研究区归一化差异建筑指数NDBI计算结果研究区建设用地提取结果研究区低密度建设区分级结果研究区中密度建设区分级结果研究区高密度建设区分级结果控制台输出的相关统计信息点击RUN即可下载数据若觉得代码对您的研究 / 项目有帮助欢迎点击打赏支持需要完整代码的朋友打赏后可在后台私信复制文章标题发给我我会尽快发您完整可运行代码感谢支持
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

广州微网站建设多少钱蓝杉网站建设公司

在 iOS 开发过程中,“抓不到包”几乎是每个人都会遇到的情况。 刚开始时,这个问题往往被当成配置问题:代理是不是没开?证书是不是没信任?网络是不是没切到 Wi-Fi? 但当你确认这些都没问题,抓包工…

张小明 2025/12/31 1:26:42 网站建设

成都电子商务平台网站制作报价电商小程序商城模板

校园电子班牌 电子班牌系统 智慧电子班牌智慧电子班牌系统,采用B/S架构,支持云平台部署,打破局域网限制,管理员可随时随地管理班牌的设置、内容更新和数据对接,实现校园管理信息化、数据化、一体化,是智慧校…

张小明 2025/12/31 16:17:58 网站建设

网站未备案可以上线吗如何做招聘网站的对比

一、项目介绍 项目背景: 太阳能电池板是太阳能发电系统的核心组件,其质量直接影响发电效率和系统寿命。然而,在生产和使用过程中,太阳能电池板可能会出现多种缺陷,如black_core(黑芯)、crack&a…

张小明 2025/12/31 12:44:38 网站建设

山东网站建设的方案微信怎么做小程序的

PowerShell中WinForms的应用与实例解析 1. EventHandler的基本概念 在WinForms编程里,当 EventHandler 被调用或触发时,它至少会接收两个参数:触发事件的对象以及该事件特有的参数。调用事件处理程序的方法签名如下: Void Invoke(System.Object, System.EventArgs)在…

张小明 2026/1/1 2:55:34 网站建设

国企网站建设报告做淘宝客网站违法吗

FLUX.1-dev显存优化实战:低显存高效生成 在RTX 3060上加载FLUX.1-dev时突然弹出“CUDA out of memory”? 尝试生成一张1024x1024图像,却在VAE解码阶段莫名崩溃? 这并不是你的硬件不行——而是你还没掌握那套专为低显存环境设计的…

张小明 2026/1/1 8:15:45 网站建设