什么?仅仅花费10秒钟就可以直接利用Google Earth Engine精美的SCI期刊论文插图
  • 首页
  • 软件开发资讯
  • 软件开发公司
  • 软件定制开发
  • 联系我们
  • 软件开发价格
  • 开发定制软件公司
    软件定制开发你的位置:开发定制软件公司 > 软件定制开发 > 什么?仅仅花费10秒钟就可以直接利用Google Earth Engine精美的SCI期刊论文插图

    什么?仅仅花费10秒钟就可以直接利用Google Earth Engine精美的SCI期刊论文插图

    发布日期:2024-12-19 13:11    点击次数:121

    我们知道,想发表SCI期刊论文,除了需要非常好的idea以及非常严谨且优美的写作之外,还需要在论文的图表等方面下功夫。很多时候,一张图做好了,审稿人看到了会心情愉悦,论文发表后作者本身也会觉得是一种享受。

    一直以来,高质量的SCI期刊图表都是在本地做的。为了制作精美的图片,需要把数据都在本地准备好。例如,我们想实现下面的图片,就需要下载DEM数据到本地然后再出图,这种方式还是比较繁琐的。

    图片

    既然Google Earth Engine已经把各类遥感影像数据以及一些高级算法都集成到GEE云平台了,那么有没有可能把作图等环节也搬到GEE云平台上呢?一直以来,我们都以为GEE出图比较丑,不适合做这些高质量的精美图片。但是,最近发现我们错了,使用GEE依然能够做出非常好看的SCI期刊图片。

    比如,参考上图右半部分的研究区图片,我们可以在GEE上直接利用DEM数据做出如下的图片。两者图片虽然在局部地区存在一些差异,但基本上实现了最初的功能。最主要的是,整个作图过程仅仅花费了10.5秒便完成了。

    图片

    接下来,我们就详细介绍如何在GEE上面实现这一精美的图片。需要指出的是,这个图片不是用JavaScript网页版本的GEE做出的,而是使用的Python版本。我们使用的IDE是VS Code,软件开发公司配置起来也很方便。我们最新的寒假课程就讲授了如何使用VS Code访问GEE以及有关配置问题(见寒假加油|人工智能与云平台大数据图像处理基础和提升研修班)。

    第一步,导入需要的模块

    这里主要是cartopy、geemap和cartoee等模块,其中cartoee模块已经内嵌到geemap,无需再安装。本地安装geemap的时候,只需使用 pip install geemap -i https://pypi.douban.com/simple/即可完成安装。

    import eeimport geemapfrom geemap import cartoeeimport cartopyimport cartopy.crs as ccrsimport matplotlib.pyplot as plt

    第二步,授权GEE的访问

    主要是让本地的IDE能够访问GEE数据,使用的是下面语句:

    # geemap.ee_initialize()geemap.set_proxy(port=33210)ee.Authenticate()ee.Initialize(project='ee-scistudy')

    注意,这里的port后面的端口是每个人魔法的端口,project后面的项目号则是自己的project名称。这里我们就不赘叙了,有不懂的请联系小编加群咨询。

    第三步,调用dem数据和矢量数据,并在地图中先加载看一下效果,代码如下:

    roi = ee.FeatureCollection('users/studyroomGEE/A_Paper/PSPR/HLJProvince')Map = geemap.Map()Map.add_basemap('Esri.WorldImagery')Map.add_basemap('OpenTopoMap')styleHLJ = {'color': 'FF0000', 'width': 2, 'lineType': 'solid', 'fillColor': '00000000'}HLJShp = roichinaProvince = ee.FeatureCollection('users/studyroomGEE/ChinaShp/ChinaProvince')styleChina = {'color': '0000FF', 'width': 1, 'fillColor': '00000000'}Map.addLayer(chinaProvince.style(**styleChina), {}, 'chinaProvince')Map.addLayer(HLJShp.style(**styleHLJ), {}, 'HLJ')# get an imagesrtm = ee.Image('CGIAR/SRTM90_V4').clip(roi)vis_params = {    'min': 0.0,    'max': 1643,    'palette': [        'FFFFFF',        'CE7E45',        'DF923D',        'F1B555',        'FCD163',        '99B718',        '74A901',        '66A000',        '529400',        '3E8601',        '207401',        '056201',        '004C00',        '023B01',        '012E01',        '011D01',        '011301',    ],}srtm = srtm.visualize(**vis_params)imgBlend = srtm.blend(chinaProvince.style(**styleChina)).blend(HLJShp.style(**styleHLJ))Map.addLayer(imgBlend, {}, 'imgBlend')Map.centerObject(roi)Map

    经过这一步可以得到下面的地图。在线加载出这个地图表明距离最后的成功就不远了。

    图片

    最后一步,将上面的地图使用plt制作成我们需要的图片,代码如下:

    bbox = [135.8,39,120.2,55]import matplotlib.pyplot as pltimport cartopy.io.img_tiles as cimgtplt.rcParams['font.family'] = 'Times New Roman' #  统一设置from proplot import rc# 统一设置字体rc['tick.labelsize'] = 20# 统一设置xy轴名称的字体大小rc['axes.labelsize'] = 20# # 统一设置轴刻度标签的字体粗细rc['axes.labelweight'] = 'bold'# 统一设置xy轴名称的字体粗细rc['tick.labelweight'] = 'bold'fig = plt.figure(figsize=(20, 22),facecolor='white')ax = cartoee.get_map(imgBlend, region=bbox)cb = cartoee.add_colorbar(ax,vis_params=vis_params,loc='right',orientation='vertical')# ax.set_title(label='Study Area', fontsize=20)# add gridlines to the map at a specified intervalcartoee.add_gridlines(ax, interval=[2, 2], linestyle='--')plt.show()

    经过这么几步,我们就可以在GEE中做出上文中出现的精美图片。而且大家在做这种图的时候,还可以自己加地图以及换成别的不同的类型,比如地形图DTM可以换成下面的NDVI图,或者是土地利用的图片。整个过程十分的快捷方便,真的是太舒服了!!!

    图片

    本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报。

    Powered by 开发定制软件公司 @2013-2022 RSS地图 HTML地图

    Copyright Powered by365站群 © 2013-2024 云迈科技 版权所有