开发者社区 问答 正文

请问AI Earth里边可以影像图直接转矢量文件吗?

请问AI Earth里边可以影像图直接转矢量文件吗?我想标识地图上很多个点的Esri_LandCover地类。

展开
收起
三分钟热度的鱼 2023-07-26 11:20:41 140 分享 版权
3 条回答
写回答
取消 提交回答
  • 北京阿里云ACE会长

    是的,AI Earth 平台支持将影像图转换为矢量文件,以便进行地图标注和编辑。

    具体操作步骤如下:

    登录 AI Earth 平台,并进入数据管理页面。

    在数据管理页面中,找到您想要转换的影像图,并点击数据名称进入数据详情页面。

    在数据详情页面中,点击右上角的“地图编辑”按钮,进入地图编辑模式。

    在地图编辑模式下,可以使用工具栏中的“绘制”工具或者“自动提取”工具,对地图上的点、线、面等要素进行标注。完成标注后,点击“保存”按钮保存标注结果。

    在标注完成后,您可以将标注结果导出为矢量文件。在数据详情页面中,点击右上角的“导出”按钮,选择“导出标注数据”选项,即可将标注结果导出为矢量文件,格式可以选择 GeoJSON、ESRI Shapefile、KML 等。

    2023-07-26 23:12:15
    赞同 展开评论
  • 是的,在AI Earth中,您可以使用Google Earth Engine(GEE)提供的功能将影像图转换为矢量文件。这样,您就可以在地图上标识多个点,并将其保存为矢量数据,如Shapefile或GeoJSON格式。

    以下是一个示例代码,演示如何将影像中的特定地类标识为点矢量:

    // 使用 Esri_LandCover 地类数据集
    var landCover = ee.Image("USGS/NLCD_RELEASES/2016_REL/2016");
    
    // 选择感兴趣的地类
    var classOfInterest = 41; // 例如,41 表示 Deciduous Forest
    
    // 根据地类创建二值掩膜
    var classMask = landCover.eq(classOfInterest);
    
    // 将掩膜转换为矢量点
    var points = classMask.reduceToVectors({
      geometry: Map.getBounds(true),
      scale: 30, // 设置适当的比例尺
      crs: 'EPSG:4326' // 设置适当的坐标系
    });
    
    // 打印输出点矢量
    print(points);
    

    在上述代码中,我们选择了Esri_LandCover数据集,并选择一个特定的地类标识码(此处使用41表示Deciduous Forest)。然后,根据这个地类创建了一个二值掩膜,并将其转换为矢量点。最后,使用print()函数打印输出点矢量。

    请注意,根据您的需求和地类数据集的分辨率,您可能需要适当调整比例尺和其他参数。另外,您可以根据自己的要求进一步处理和保存生成的矢量数据。

    2023-07-26 12:01:20
    赞同 展开评论
  • 暂时还没有此功能。开发者模式下,samplePoints可以获取指定点对应的影像像元值,函数参考:https://engine-aiearth.aliyun.com/docs/page/api?d=c301d1#heading-0 此回答整理自钉群“AI Earth地球科学云平台交流群”

    2023-07-26 11:23:56
    赞同 展开评论