python气象卫星云图解析_通过GP加载卫星云图-雷达图-降雨预报图

# ---------------------------------------------------------------------------

# MeteorologicalImageLoad.py

# Created on: 2014-01-24 08:33:03.00000

# Created by SmartMap

# Usage: MeteorologicalImageLoad

# Description:

# ---------------------------------------------------------------------------

import arcpy

import shutil

import os,sys

arcpy.env.overwriteOutput = True

projectNameSatelliteImage = 'GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137.0,298.257223563]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433],AUTHORITY["EPSG",4326]]'

projectNameWaterReport = 'PROJCS["Asia_North_Equidistant_Conic",GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137.0,298.257223563]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Equidistant_Conic"],PARAMETER["False_Easting",0.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",95.0],PARAMETER["Standard_Parallel_1",15.0],PARAMETER["Standard_Parallel_2",65.0],PARAMETER["Latitude_Of_Origin",30.0],UNIT["Meter",1.0],AUTHORITY["ESRI",102026]]'

projectNameWeatherRadar = 'PROJCS["Asia_Lambert_Conformal_Conic",GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137.0,298.257223563]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",0.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",105.0],PARAMETER["Standard_Parallel_1",30.0],PARAMETER["Standard_Parallel_2",62.0],PARAMETER["Latitude_Of_Origin",0.0],UNIT["Meter",1.0],AUTHORITY["ESRI",102012]]'

analyzeResult = "%scratchworkspace%\\analyzeResult.img"

# Script arguments

analyzeType = arcpy.GetParameterAsText(0)

if analyzeType == '#' or not analyzeType:

analyzeType = "SatelliteImage"

imageDirectory = "D:\\data\\SpatialData\\sourceDir\\" + analyzeType

copyTargetPath = "D:\\data\\SpatialData\\targetDir\\default" + analyzeType + ".jpg"

inputLinkFile = "D:\\data\\SpatialData\\targetDir\\" + analyzeType + "Tic.txt"

lastTime = 0

lastFilePath = "#"

if imageDirectory and imageDirectory != '#':

fileList = os.listdir(imageDirectory) #列出目录下的所有文件和目录

for line in fileList:

filepath = os.path.join(imageDirectory,line)

if os.path.isfile(filepath):

# os.stat(filepath).st_ctime

lastModifyTime = os.path.getctime(filepath)

if lastModifyTime > lastTime :

lastTime = lastModifyTime

lastFilePath = filepath

if lastFilePath == "#":

lastFilePath = "D:\\data\\SpatialData\\default" + analyzeType + ".jpg"

shutil.copy(lastFilePath, copyTargetPath)

# Process: Register Raster

arcpy.RegisterRaster_management(copyTargetPath, "REGISTER", "", inputLinkFile, "POLYORDER1", "")

# Process: Copy Raster

arcpy.CopyRaster_management(copyTargetPath, analyzeResult, "", "", "256", "NONE", "NONE", "", "NONE", "NONE")

# Process: 定义投影

if analyzeType == 'SatelliteImage':

projectName = projectNameSatelliteImage

elif analyzeType == 'WeatherRadar':

projectName = projectNameWeatherRadar

elif analyzeType == 'WaterReport':

projectName = projectNameWaterReport

else:

projectName = projectNameSatelliteImage

arcpy.DefineProjection_management(analyzeResult, projectName)

arcpy.SetParameterAsText(1, analyzeResult)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
绘制卫星云图,需要使用Python中的一些科学计算和可视化库。下面是一些步骤和代码示例来实现这个目标: 1. 安装必要的库 你需要安装以下库: - numpy: 用于处理数组和矩阵 - matplotlib: 用于绘制形 - basemap: 用于绘制和投影坐标系 - pillow: 用于处理像 你可以使用pip install命令来安装这些库。 2. 下载数据 卫星云图通常是从气象卫星上获取的。你可以从以下网站下载一些示例数据: - https://www.ncdc.noaa.gov/satellite-data/satellite-data-access-viewer - https://www.goes.noaa.gov/f_himawari-8.html 下载数据后,你需要将它们保存在本地。 3. 加载数据 使用numpy库中的load函数来加载数据。例如,如果你的数据保存在文件名为data.npy的文件中,你可以使用以下代码来加载数据: ```python import numpy as np data = np.load('data.npy') ``` 4. 绘制像 使用matplotlib库来绘制像。你可以使用imshow函数来显示像。例如,下面的代码将显示data中的像: ```python import matplotlib.pyplot as plt plt.imshow(data) plt.show() ``` 5. 添加地 使用basemap库来添加地和投影坐标系。例如,下面的代码将在像上添加地: ```python from mpl_toolkits.basemap import Basemap m = Basemap(projection='mill', llcrnrlat=-90, urcrnrlat=90, llcrnrlon=-180, urcrnrlon=180) m.drawcoastlines() m.drawcountries() plt.imshow(data, origin='upper', extent=[-180, 180, -90, 90]) plt.show() ``` 6. 保存像 最后,你可以使用savefig函数将像保存到本地。例如,下面的代码将保存像为png格式的文件: ```python plt.savefig('cloud_map.png', dpi=300, bbox_inches='tight') ``` 这是一个完整的示例代码: ```python import numpy as np import matplotlib.pyplot as plt from mpl_toolkits.basemap import Basemap # 加载数据 data = np.load('data.npy') # 创建地 m = Basemap(projection='mill', llcrnrlat=-90, urcrnrlat=90, llcrnrlon=-180, urcrnrlon=180) # 添加地 m.drawcoastlines() m.drawcountries() # 绘制像 plt.imshow(data, origin='upper', extent=[-180, 180, -90, 90]) # 保存像 plt.savefig('cloud_map.png', dpi=300, bbox_inches='tight') ``` 运行这段代码,你将得到一个卫星云图,并将它保存到本地。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值