오스트레일리아의 일일 강우량 값을 포함하는 NetCDF 파일이 여러 개 있습니다 (매년 하나씩).Python의 날짜 값을 기준으로 여러 NetCDF 파일에서 래스터 추출
현재 원하는 날짜 목록이 들어있는 .csv 파일에서 원하는 특정 날짜를 추출 할 수 있습니다. 그런 다음이 파일을 매일 래스터 파일로 출력합니다.
그러나 현재 내가 갖고있는 스크립트로는 한 번에 1 년씩이 작업을 수행 할 수 있습니다. 필자는 파이썬에 상당히 익숙하지 않으며, .csv 파일의 날짜 목록뿐만 아니라 읽어 오는 NetCDF 파일을 변경하여 여러 번 스크립트를 다시 실행하기보다는 루프는 NetCDF의 목록을 읽을 것입니다.
NetCDF4와 같은 모듈은 모든 파일을 하나의 파일로 취급 할 수 있지만 많은 사람들이 다른 사람이 한 것을 읽었을지라도 나는 현명하지 않다는 것을 알고 있습니다. 여기
는 내가 지금까지 무엇을 가지고 :
import os, sys
import arcpy
# Check out any necessary licenses
arcpy.CheckOutExtension("spatial")
arcpy.env.overwriteOutput = True
# Script arguments
netCDF = "G:\\Gridded_rain\\DAILY\\netcdf\\Daily_analysis_V3"
rainfall = "G:\\output_test\\r_"
arcpy.env.workspace = netCDF
# Read Date from csv file
eveDate = open ("G:\\selectdate_TEST1.csv", "r")
headerLine = eveDate.readline()
valueList = headerLine.split(",")
dateValueIndex = valueList.index("Date")
eventList = []
for line in eveDate.readlines():
segmenLine = line.split(",")
variable = "pre"
x_dimension = "lon"
y_dimension = "lat"
band_dimension = ""
#dimensionValues = "r_time 1900025"
valueSelectionMethod = "BY_VALUE"
outFile = "Pre"
# extract dimensionValues from csv file
arcpy.MakeNetCDFRasterLayer_md("pre.2011.nc", variable, x_dimension, y_dimension, outFile, band_dimension, segmenLine[dateValueIndex], valueSelectionMethod)
print "layer done"
#copy and save as raster tif file
arcpy.CopyRaster_management(outFile, rainfall + segmenLine[dateValueIndex] + ".tif" , "", "", "", "NONE", "NONE", "")
print "raster done"
netCDF의 파일이 어떤 도움을 크게 감상 할 수
pre.2011.nc을 통해 pre.1900.nc에서 지정됩니다!
'dateValueIndex'의 형식은 무엇입니까? 그리고 몇 가지 가치를 게시하십시오. – Serenity
그래서 현재의 질문 산문에서 알 수 있듯이 인수를 처리하고이를 하드 코딩 된 리터럴'pre.2011.nc' 대신 변수로 사용하여 일치하는 netcdf 파일에 액세스하거나 다른 루프 수준 (외부)을 포함하려고합니다. (1900, 2012) : '와 같은 방식으로 진행된 다음 파일을 요약합니다. 공개 질문 : 매개 변수 파일도 일치해야합니까? 그걸 바탕으로 샘플을 줄까요? – Dilettant