Python aiearth-core 包详解与实战案例

发布时间:2026/11/6 3:30:53
Python aiearth-core 包详解与实战案例 1. 引言aiearth-core 是 AI Earth 平台推出的 Python 核心开发包面向遥感影像处理、地理空间分析和 AI 模型应用场景提供统一、简洁的编程接口。它把复杂的遥感数据获取、预处理、模型推理和结果可视化封装成易于调用的 API帮助开发者快速构建遥感应用。本文将从功能特性、安装配置、核心语法与参数、9 个实际应用案例以及常见错误与注意事项五个方面系统介绍 aiearth-core 的使用方法。2. 功能概述aiearth-core 的核心功能可以归纳为以下几类数据获取支持从 AI Earth 平台拉取多源遥感影像数据包括光学影像、SAR 影像、气象数据等。影像预处理提供辐射定标、大气校正、几何校正、云掩膜等常用预处理能力。地理空间分析内置波段运算、指数计算如 NDVI、NDWI、影像裁剪、镶嵌、重投影等空间分析工具。AI 模型推理封装平台预训练模型支持地物分类、目标检测、变化检测、语义分割等任务。结果可视化提供便捷的影像展示与导出接口支持生成 RGB 合成图、专题图等。3. 安装与配置3.1 环境要求aiearth-core 基于 Python 3.7 及以上版本开发建议使用 Python 3.8 或更高版本。依赖的核心库包括 numpy、opencv-python、shapely、pyproj 等安装时会自动处理。3.2 安装命令推荐使用 pip 进行安装pip install aiearth-core如果需要安装最新开发版本可以从 GitHub 仓库安装pip install githttps://github.com/aiearth/aiearth-core.git3.3 初始化配置使用前需要配置 AI Earth 平台的访问凭证。推荐通过环境变量方式配置export AIEARTH_ACCESS_KEY_IDyour_access_key_id export AIEARTH_ACCESS_KEY_SECRETyour_access_key_secret也可以在代码中显式初始化import aie aie.Initialize( access_key_idyour_access_key_id, access_key_secretyour_access_key_secret )4. 核心语法与参数4.1 数据加载通过aie.Image加载单景影像通过aie.ImageCollection加载影像集合import aie 加载单景影像 image aie.Image(S2A_20230101_123456) 加载影像集合 collection aie.ImageCollection(S2_SR) .filterDate(2023-01-01, 2023-01-31) .filterBounds(aie.Geometry.Point([116.4, 39.9]))4.2 波段选择与运算使用select选择波段使用expression进行波段运算# 选择波段 rgb image.select([B4, B3, B2]) 计算 NDVI ndvi image.expression( (B8 - B4) / (B8 B4), {B8: image.select(B8), B4: image.select(B4)} )4.3 裁剪与镶嵌# 按几何裁剪 geometry aie.Geometry.Polygon([[[116.3, 39.8], [116.5, 39.8], [116.5, 40.0], [116.3, 40.0]]]) clipped image.clip(geometry) 镶嵌多景影像 mosaic collection.mosaic()4.4 模型推理调用平台预训练模型进行推理# 地物分类 result aie.Model(land_cover_classification).predict(image) 目标检测 detections aie.Model(object_detection).predict(image)4.5 结果导出# 导出到本地 task aie.Export.image_to_drive( imagendvi, descriptionndvi_result, folderaiearth_output, regiongeometry, scale10 ) task.start()5. 9 个实际应用案例5.1 案例一NDVI 植被指数计算计算 Sentinel-2 影像的 NDVI用于植被覆盖监测import aie aie.Initialize() 加载影像 image aie.Image(S2A_20230615_123456) 计算 NDVI ndvi image.expression( (B8 - B4) / (B8 B4), {B8: image.select(B8), B4: image.select(B4)} ) 可视化参数 vis_params {min: -1, max: 1, palette: [blue, white, green]} 导出结果 task aie.Export.image_to_asset( imagendvi, descriptionndvi_export, asset_iduser/ndvi_result, scale10 ) task.start()5.2 案例二水体提取NDWI利用 NDWI 指数提取水体范围import aie aie.Initialize() image aie.Image(S2A_20230420_789012) 计算 NDWI ndwi image.expression( (B3 - B8) / (B3 B8), {B3: image.select(B3), B8: image.select(B8)} ) 阈值分割提取水体 water ndwi.gt(0.1) 统计水体面积 area water.multiply(aie.Image.pixelArea()).reduceRegion( reduceraie.Reducer.sum(), geometryimage.geometry(), scale10 ) print(水体面积平方米:, area.getInfo())5.3 案例三土地利用分类使用平台预训练模型进行土地利用分类import aie aie.Initialize() image aie.Image(S2A_20230510_345678) 调用地物分类模型 model aie.Model(land_cover_classification) result model.predict(image) 可视化分类结果 vis_params { min: 0, max: 8, palette: [red, green, blue, yellow, cyan, magenta, orange, purple] } 导出分类结果 task aie.Export.image_to_asset( imageresult, descriptionland_cover_result, asset_iduser/land_cover, scale10 ) task.start()5.4 案例四时序 NDVI 变化监测基于多期影像分析植被长势变化import aie aie.Initialize() 加载 2023 年 4-9 月影像集合 collection aie.ImageCollection(S2_SR) .filterDate(2023-04-01, 2023-09-30) .filterBounds(aie.Geometry.Point([116.4, 39.9])) 计算每月 NDVI 并合成 def compute_ndvi(image): ndvi image.expression( (B8 - B4) / (B8 B4), {B8: image.select(B8), B4: image.select(B4)} ) return ndvi.rename(NDVI) ndvi_collection collection.map(compute_ndvi) 按月合成最大值 monthly_max ndvi_collection.reduce( reduceraie.Reducer.max(), group_bymonth ) 计算生长季 NDVI 最大值 growing_season_max monthly_max.max() print(生长季 NDVI 最大值:, growing_season_max.getInfo())5.5 案例五影像镶嵌与裁剪将多景影像镶嵌后按行政区裁剪import aie aie.Initialize() 加载多景影像 collection aie.ImageCollection(S2_SR) .filterDate(2023-06-01, 2023-06-30) .filterBounds(aie.Geometry.Polygon([[[116.0, 39.5], [117.0, 39.5], [117.0, 40.5], [116.0, 40.5]]])) 镶嵌 mosaic collection.mosaic() 按行政区边界裁剪 admin_boundary aie.FeatureCollection(user/admin_boundary) clipped mosaic.clipToCollection(admin_boundary) 导出 task aie.Export.image_to_asset( imageclipped, descriptionmosaic_clipped, asset_iduser/mosaic_result, scale10 ) task.start()5.6 案例六夜间灯光数据分析分析夜间灯光数据辅助城市发展研究import aie aie.Initialize() 加载夜间灯光影像 nightlight aie.Image(NPP_VIIRS_202301) 提取城市核心区高亮区域 urban_core nightlight.select(Nightlight).gt(30) 统计城市核心区面积 area urban_core.multiply(aie.Image.pixelArea()).reduceRegion( reduceraie.Reducer.sum(), geometrynightlight.geometry(), scale500 ) print(城市核心区面积平方公里:, area.getInfo() / 1e6)5.7 案例七SAR 影像洪水监测利用 Sentinel-1 SAR 影像识别洪水淹没范围import aie aie.Initialize() 加载洪水前后 SAR 影像 before aie.Image(S1_20230701) after aie.Image(S1_20230715) 计算后向散射差异 diff after.select(VV).subtract(before.select(VV)) 阈值提取洪水区域后向散射显著下降区域 flood diff.lt(-3) 可视化 vis_params {min: 0, max: 1, palette: [white, blue]} 导出洪水范围 task aie.Export.image_to_asset( imageflood, descriptionflood_map, asset_iduser/flood_result, scale10 ) task.start()5.8 案例八目标检测船舶识别使用目标检测模型识别港口船舶import aie aie.Initialize() 加载高分辨率影像 image aie.Image(GF2_20230801_123456) 调用船舶检测模型 model aie.Model(ship_detection) detections model.predict(image) 获取检测结果返回 GeoJSON 格式 features detections.getInfo() print(检测到船舶数量:, len(features[features])) 遍历检测结果 for feature in features[features]: coords feature[geometry][coordinates] confidence feature[properties][confidence] print(f船舶位置: {coords}, 置信度: {confidence:.2f})5.9 案例九变化检测城市扩张对比两期影像识别城市扩张区域import aie aie.Initialize() 加载两期影像 image_2020 aie.Image(S2A_20200601_111111) image_2023 aie.Image(S2A_20230601_222222) 调用变化检测模型 model aie.Model(change_detection) change_map model.predict(image_2020, image_2023) 提取扩张区域类别 1 表示新增建设用地 expansion change_map.eq(1) 统计扩张面积 area expansion.multiply(aie.Image.pixelArea()).reduceRegion( reduceraie.Reducer.sum(), geometryimage_2023.geometry(), scale10 ) print(城市扩张面积平方米:, area.getInfo())6. 常见错误与使用注意事项6.1 常见错误错误类型错误信息示例解决方法初始化失败AccessKey 无效或未配置检查环境变量或 Initialize 参数是否正确影像 ID 错误Image not found确认影像 ID 是否存在检查平台数据目录波段名称错误Band B5 does not exist使用 select 前先通过 image.bandNames() 确认波段几何边界越界Geometry exceeds valid range检查经纬度范围是否在有效区间内内存溢出MemoryError缩小处理范围或降低分辨率分批处理导出任务失败Export task failed检查 asset_id 权限、存储空间和网络连接6.2 使用注意事项凭证安全AccessKey 属于敏感信息不要硬编码在代码中建议使用环境变量或密钥管理服务。数据范围处理前先确认影像覆盖范围与目标区域一致避免因边界不匹配导致结果异常。波段选择不同传感器波段编号不同使用前务必确认影像的波段名称避免张冠李戴。分辨率匹配多源数据叠加分析时注意统一分辨率必要时使用 resample 方法重采样。异步任务导出等耗时操作采用异步机制任务提交后需轮询状态或使用回调函数获取完成通知。配额限制平台对并发任务和数据量有配额限制大批量处理时注意控制任务数量避免触发限流。版本兼容升级 aiearth-core 前查看更新日志部分 API 可能存在不兼容变更。7. 总结aiearth-core 为遥感开发者提供了从数据获取、预处理、分析到模型推理的一站式解决方案。通过本文介绍的 9 个案例可以快速上手常见的遥感应用场景。在实际使用中建议结合官方文档和平台数据目录灵活组合各类 API构建适合自身业务需求的遥感应用。《AI提示工程必知必会》为读者提供了丰富的AI提示工程知识与实战技能主要包括各类提示词的应用如问答式、指令式、状态类、建议式、安全类和感谢类提示词以及如何通过实战演练掌握提示词的使用技巧使用提示词进行文本摘要、改写重述、语法纠错、机器翻译等语言处理任务以及在数据挖掘、程序开发等领域的应用AI在绘画创作上的应用百度文心一言和阿里通义大模型这两大智能平台的特性与功能以及市场调研中提示词的实战应用。通过阅读《AI提示工程必知必会》读者可掌握如何有效利用AI提示工程提升工作效率创新工作流程并在职场中脱颖而出。

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询