资讯动态

斯坦福大学INVEST模型,我将其开源到GEE上,欢迎大家测试。

发布时间:2026/10/25 1:53:03 来源:尧图企业网站定制
我们进入这个INVEST resource 界面之后选择自己需要下载的版本即可github上的版本。这个里面我下载后我们安装到指定的文件夹下。打开之后会让我们选择安装的一些安装包有25个推荐的安装包我们可以选择指定的安装包下载即可。这里我为了避免麻烦我就全部进行了安装和下载。这里我们可以看到最新版本有修复一些小bug进入界面后我们就可以看到一下的界面这里有很多供我们选择的内容我就选择我自己的相关专业进行测试我们在setting中可以设置选择中文版本。和下载样例数据我选择好了相关内容后开始执行填好的案例数据如下然后我们就进入了这个界面等待运行这里会有以西而差异官方问档介绍从一张土地利用图到碳储量的“空间账本”InVEST碳储存与封存模型深度解读为什么我们需要给碳“记账”陆地生态系统储存的碳比大气更多这一事实本身并不新鲜但它对气候变化的调节作用却长期被低估。森林、草原、泥炭沼泽通过将碳固定在木材、生物量和土壤中把二氧化碳“锁”在大气之外。然而当火灾、疾病或土地利用转换干扰这些系统时大量二氧化碳会重新释放。反过来森林恢复或替代农业做法也可能带来可观的碳储存。问题在于我们怎么知道一片景观到底储存了多少碳砍掉一片森林、恢复一片草地碳储量会变化多少这些变化值多少钱土地管理者面对保护、收割或开发的抉择时需要一张“碳地图”来支撑决策。InVESTIntegrated Valuation of Ecosystem Services and Tradeoffs的碳储存与封存模型就是为回答这些问题而生的。它的核心逻辑极其简洁给定一张土地利用图和四个碳库的碳密度值算出这片景观当前储存了多少碳以及随时间推移封存或流失了多少碳。这个简洁性既是它的最大优势也是它最常被诟病的地方。理解这种张力是用好这个模型的关键。模型的核心机制四个碳库 × 一张地图碳储存在哪里模型把陆地碳储量拆解为四个碳库地上生物量包括土壤以上的所有植物活体物质——树皮、树干、树枝、树叶。地下生物量是地上生物量的活根系部分。土壤有机质是土壤的有机成分也是最大的陆地碳库。死有机质包括凋落物以及横卧和直立的枯木。这四个碳库覆盖了陆地生态系统碳储量的主要部分但显然不是全部。模型“备注”部分坦率地指出它“非常简单”只做一件事把碳库值映射到土地覆盖图上。它不体现生物物理性质的变化不模拟树木生长不追踪土壤化学性质的变化也不考虑温度或降水的时间动态。如果你需要模拟比“静态碳库土地利用图”更复杂的内容就需要换一个模型。模型怎么算运行逻辑是纯确定性的。用户提供两类输入一是研究区的土地利用/土地覆盖LULC栅格地图每个像素有一个地类编码二是一张碳库查找表CSV格式为每个地类指定四个碳库的碳密度值单位通常是Mg C/ha。模型将查找表中的碳密度值逐一映射到LULC栅格的对应地类像素上对每个像素的四个碳库求和得到该像素的总碳储量再汇总为整个景观的总碳储量。如果提供未来情景的LULC地图模型可以计算碳储量的变化量——正值表示碳积累负值表示碳损失。经济估值是可选模块。用户可以输入碳的社会成本每吨CO₂的价格、年变化率和折现率模型据此估算碳封存服务对社会的经济价值。官方文档引用的碳社会成本估计范围从每公吨CO₂ 9.55美元到84.55美元不等。整个过程本质上是一张“空间账本”你告诉模型每个地类每公顷存多少碳模型告诉你整片土地存了多少碳。没有过程模拟没有动态反馈没有非线性关系。操作流程在实际使用中碳模块的运行步骤相当标准化下载并安装InVEST Workbench根据研究区构建碳库查找表数据来源可以是实地测量、文献综述或已有的碳密度数据集准备LULC栅格数据确保坐标系和分辨率统一在软件界面中设定工作路径导入LULC数据和碳库CSV表点击运行在GIS软件中处理输出结果——碳储量栅格、总碳储量表、经济价值估算等。整个过程通常可以在几十分钟内完成前提是数据准备就绪。真正的挑战从来不在运行模型而在数据准备。它被用来做什么从REDD到保护优先区官方文档列举了几个典型的决策场景。政府可以利用模型输出确定REDD减少毁林和森林退化造成的排放的补偿分数——了解景观的哪些部分储存了最多的碳有助于将激励措施精准瞄准土地所有者换取森林保护。环保非政府组织可以寻找生物多样性和碳封存高度重叠的区域进行投资。木材公司也可以用它来最大化木材生产和REDD碳信用分的回报。这些场景的共同点是决策需要空间显式的碳信息而模型提供的正是“碳在哪里、有多少”这张地图。在中国的广泛应用InVEST碳模块在中国的研究中已经形成了相当规模的文献积累。秦岭地区的研究结合InVEST与PLUS土地利用模拟框架发现1985至2020年间森林面积增加了7566平方公里总碳储量增加了79.53 Tg。京津冀地区的研究在运行模型前对多个数据集进行重采样和坐标系统一然后在时空维度上量化碳储量再用空间相关性分析验证县域尺度上的聚集特征。漓江流域、环杭州湾、洞庭湖流域、川渝地区、环太湖城市群等地都有类似的应用。这些研究的典型模式是“PLUS InVEST”组合PLUS模型模拟未来不同情景下的土地利用格局自然发展、城市发展、生态保护InVEST碳模块计算每种情景下的碳储量变化从而为国土空间规划和生态保护政策提供量化支撑。这种组合之所以流行恰恰因为InVEST碳模块足够简单——它不干扰土地利用模拟的结果只负责把土地利用变化“翻译”成碳储量的变化。模型的简洁性在这里变成了优势它像一个可靠的会计把模拟出的未来情景逐一入账。简洁的代价模型局限性的深层分析静态碳密度假设InVEST碳模块最根本的简化在于它假设每种土地利用类型的碳密度是固定不变的。一片成熟林和一片刚恢复的幼林只要地类编码相同模型就赋予它们相同的碳密度。这在某些场景下是可以接受的近似——比如评估大尺度景观在一个时间断面上的碳储量分布。但在模拟碳封存动态时这个假设会造成系统性偏差。碳封存随时间的实际变化往往是非线性的幼林生长快成熟林生长慢土壤碳的积累可能需要数十年甚至上百年。模型用线性关系近似这些过程必然在时间尺度上产生误差。输入数据的质量决定一切模型的输出精度高度依赖输入数据的质量尤其是碳库系数和土地覆盖图的分辨率。如果缺乏区域特定的碳密度数据使用全球默认值或邻近区域的文献值不确定性会显著增加。土地分类系统的粗糙程度也直接影响估算精度。一个粗粒度的分类系统比如只区分“林地”“草地”“耕地”“建设用地”会把内部差异巨大的地类归为一类——天然林和人工林、草地和灌丛的碳密度差异被抹平了。有研究指出细化土地分类系统并相应地细化碳密度表可以显著提高碳储量估算的精度。被忽视的碳库土壤无机碳是一个被模型系统性忽略的重要碳库。在干旱和半干旱地区土壤无机碳的储量可能相当可观。黄河三角洲湿地的一项研究将土壤无机碳纳入InVEST框架后发现其在滨海湿地生态系统碳储量中的贡献占比高达68%这一改进“不仅提高了湿地碳储量估算的整体精度还为全球河流三角洲区域的模型应用与改进提供方法借鉴”。另一个被忽略的是深层土壤碳30cm以下。动态碳密度表中深层土壤碳的缺失被明确认定为一项显著局限。对于以土壤碳为主的生态系统如草地、湿地这个缺口可能造成不可忽视的估算偏差。不估算温室气体排放InVEST碳模块和ARIES碳模型的一个共同局限是它们不估算温室气体排放。农业活动可能同时具有碳储存和温室气体排放的双重效应——一片农田可能储存了可观的土壤碳但同时排放甲烷和氧化亚氮。只算储存不算排放对农业景观的碳平衡评估是不完整的。改进的方向与实践融入被忽略的碳库针对土壤无机碳的缺失研究者开发了“Arid_InVEST”模型将土壤无机碳储量纳入碳库体系。黄河三角洲的研究进一步验证了这一改进路径的有效性并基于100多个点位的土壤实测碳数据对模型进行了检验和校正。这类改进的核心思路是一致的在保持模型原有简洁框架的前提下通过增加碳库维度来提高估算的完整性。它不改变“土地利用图碳密度查找表”的基本范式只是让查找表更完整。细化分类与空间异质性另一个改进方向是提高空间分辨率。有研究利用SSP-RCP情景下的全球LUCC产品包含20种植物功能型分类替代传统的粗粒度土地分类体系。碳密度数据也从单一均值扩展到包含空间变异信息的分布通过克里金插值等方法在GIS中生成连续的碳密度表面。这些改进的代价是数据需求的增加但换来的是估算精度的实质性提升。与ARIES模型的对比启示ARIES模型提供了另一种碳储量评估路径。与InVEST的“地类均值”方法不同ARIES整合不同数据与评估方法分别评估植被和土壤碳库在水平分布上与InVEST趋势相同但能进一步揭示土壤碳储量的垂直分布以及同一地类内部的碳储量差异。重庆中心城区的对比研究得出类似结论InVEST模型评估结果可反映不同地类的碳储量高低而ARIES模型能进一步揭示同一地类间的空间异质性“ARIES模型评估结果的有效性更强”。但这不意味着ARIES全面优于InVEST。ARIES的数据需求更复杂、操作门槛更高在大尺度快速评估场景中InVEST的简洁性仍然是不可替代的优势。模型选择应该由评估目的、精度要求和操作可行性共同决定而非单纯追求精度。如何用好这个“简单模型”InVEST碳模块的定位不是“最精确的碳循环模型”而是“最容易上手的空间碳核算工具”。它的价值在于把碳储量的空间分布信息从专业生态学家的实验室带到了土地管理者和政策制定者的桌面上。用好这个模型的关键不在于模型本身而在于三件事第一碳密度数据的区域适配。不要直接套用全球默认值。花时间收集研究区或邻近区域的实测碳密度数据哪怕是文献中的零星数据点也比通用值更有说服力。如果研究区跨越多个生态带考虑按生态区分别赋值。第二土地分类系统的审慎设计。分类粒度要与碳密度数据的可得性匹配。如果只有林地、草地、耕地三个地类的碳密度数据就不要把林地拆成五个亚类。但如果有条件适度细分高碳储量地类如天然林 vs 人工林会显著改善结果。第三对局限性的清醒认知。在报告中明确说明模型的假设和局限。如果研究目标是评估碳封存的动态过程InVEST碳模块可能不是最佳选择需要考虑过程模型或混合方法。如果研究目标是给出一张“碳在哪里”的空间地图InVEST的简洁性恰恰是它的可靠性来源。一张土地利用图和一张碳库查找表经过InVEST的处理就变成了一张碳储量的空间账本。这张账本不能告诉你碳循环的全部故事但它能告诉你一个足够重要的事实碳在哪里有多少如果土地用途改变它会去向何方。在气候变化决策需要快速、可操作信息的当下这种“足够好”的账本往往比“完美但出不来”的模型更有用。其它安装方式GEE中安装对应的安装包根据下面这个开源的软件包将https://github.com/xingguangYan/invest-geeeGEE JavaScript 用法正确部署流程基于xingguangYan/invest-geee第 1 步获取你的 GEE 用户路径登录 GEE Code Editor在左上角Scripts面板的Reader或Writer下你通常会看到类似users/your_username的路径。记下your_username后面构造require路径时要用。第 2 步在 GEE Code Editor 中创建脚本仓库在Scripts面板中点击New→Repository仓库名称建议就用invest-geee或者保持与 GitHub 仓库一致的名称。创建后你会得到一个仓库路径例如users/your_username/invest-geee第 3 步把gee_port/中的脚本放入 GEE 仓库invest-geee仓库的顶层有一个gee_port/目录它是 GEE 移植版的副本。你需要把其中的.js文件至少包括入口文件index.js及其依赖的模块放到刚刚创建的 GEE 仓库中。有两种方式方式 A手动创建/粘贴适合文件较少或依赖简单在 GEE Code Editor 的 Scripts 面板中右键你创建的invest-geee仓库 →New→File按照gee_port/中的目录结构逐一创建同名.js文件然后把 GitHub 上对应文件的内容粘贴进去。入口文件通常是index.js。方式 B使用minee打包适合依赖较多、文件分散的情况如果gee_port内部通过require互相引用手动维护路径容易出错。可以在本地用 Node.js 安装minee—— 一个专门为 Earth Engine 设计的模块打包器。将gee_port的入口模块打包成一个单独的.js文件再把这个单文件上传到 GEE 仓库。这样只需要维护一个文件路径问题会少很多。第 4 步修正require调用路径原来 README 中的写法require(user:/invest-geee/index.js)不符合 GEE 的路径规范。正确的调用方式应该是varinvestrequire(users/your_username/invest-geee:index.js);把your_username替换成你实际的 GEE 用户名。如果index.js不在仓库根目录而是在子目录中路径也要相应调整例如varinvestrequire(users/your_username/invest-geee:gee_port/index.js);关键点require路径中的仓库名和文件名大小写敏感必须和 GEE 仓库中实际看到的完全一致。第 5 步运行与验证路径正确后就可以按照项目原本的设计调用模型了varinvestrequire(users/your_username/invest-geee:index.js);print(invest.models);// 查看可用的 GEE 移植模型varresultinvest.models.carbon.run({lulc_current:ee.Image(projects/your_project/assets/lulc),// ... 其他参数});export.image(result.outputs[carbon_current],carbon_current);注意lulc_current等输入数据仍然应该放在Assets中projects/.../assets/...这与脚本模块的存放位置是两回事数据在 Assets代码在 Scripts。常见问题排查现象可能原因处理Module not found/Cannot find modulerequire路径拼写错误、用户名错误、仓库/文件不存在在 Scripts 面板中逐级核对路径确认文件确实存在于该仓库中路径中有user:开头使用了非标准前缀GEE 要求以users/开头而不是user:调用invest.models为undefinedindex.js没有正确exports.models或入口文件放错了位置检查index.js中是否有exports.models {...}并确认require指向的是这个文件内部依赖报错gee_port中其他.js文件没有一并上传或内部相对路径引用未适配 GEE 仓库结构上传全部依赖文件或使用minee打包成单文件总结gee_port/不是上传到 Assets而是需要作为代码编辑器 Scripts 仓库中的脚本文件来管理require的路径格式是users/你的GEE用户名/仓库名:文件路径而不是user:/...。按上述步骤把gee_port中的.js文件放入 GEE 脚本仓库后原先的模型调用代码就可以正常工作了。我已经构建好了现在测试已经全部可用大家可以公开引用并进行测试。测试的代码链接测试的结果可视化结果欢迎大家测试不同的任务测试后有啥可以在评论区反馈我们共同修正。这里的GEE APP可以用测试大家可以去测试结果只不过在GEE中运行的时候所有的数据是我指定的所以这里大家可以根据开放的脚本来自己修改。InVEST脚本指南和API介绍虽然所有InVEST模型都有用户界面为了模型的更进一步使用我们依然提供了python应用程序编程接口API。natcap.invest 的完整python文件包获取链接如下 https://invest.readthedocs.io/en/latest/此外我们的核心地理处理路径已经是一个开源的单独python包pygeoprocessing,获取链接如下https://github.com/natcap/pygeoprocessing。PyGeoprocessing的API文件获取链接为https://pygeoprocessing.readthedocs.io/en/latest/.在未来这些文件将更新更多的细节。编程支持也可以在我们的用户论坛上找到 https://community.naturalcapitalalliance.org/.

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑