Vairāk

Gdalwarp partijas process

Gdalwarp partijas process


Esmu lejupielādējis daudzus hdf failus no ftp vietnes. Puse no tām bija 1. līmeņa, bet pārējās - 2. līmeņa. Lvl1 formāts ir Afile.A1_AC.sample.hdf un lvl 2 formāts ir: Afile.A1_AC.sample.hdf.

Kā es veikšu pakešu procesu, projicējot tikai visus 2. līmeņa failus?

Kā es filtrēšu šos failus un izveidošu jaunu direktoriju?

Lūk, kas man ir līdz šim:

def inputData (pats, notikums): def findSDS (ceļš, filtrs): saknei, dirs, failiem os.walk (ceļš): failam fnmatch.filter (faili, filtrs): iegūstiet failu sds mapē findSDS ( / path / to / file ',' * .hdf '): inSDS =' HDF4_SDS: '+' / path / to / file '+' / '+ sds +': 01 'path =' D: / new / dir 'outTIFF = path + sds +' .tif 'cmd =' gdalwarp -geoloc -t_srs "+ proj = longlat + datum = WGS84" -te 113.205 1.120 157.105 2.005% s% s '% (inSDS, outTIFF) os.system ( cmd) os.mkdir (ceļš)

(mēģināja izsaukt .bat no pitona skripta un palaist skriptu. Un tas vienkārši izveidoja tukšu / jaunu direktoriju (out_path). Mēģinājāt izsaukt .bat no cmd līnijas, un šeit ir izeja:

C:  sample> project.bat C:  sample> set in_path = D:  path  to  file C:  sample> set out_path = D:  newfolder C:  sample> md D:  newfolder Apakškatalogs vai fails D:  newfolder jau pastāv. C:  sample> cd D:  path  to  file C:  sample> FORFILES / m * A1_AC * .hdf / C "cmd / c gdalwarp -geoloc -t_srs" + proj = longlat + datum = WGS84 "-te 113.205 1.120 157.105 2.005 @path D:  [email protected] "KĻŪDA: Nederīgs arguments / opcija - '+ datum = WGS84 -te 113.205 1.120 157.105 2.005 @path D:  [email protected]'. Ierakstiet "FORFILES /?" lietošanai.

C:  sample> project.bat C:  sample> set in_path = D:  path  to  file C:  sample> set__ path = D:  newfolder C:  sample> md D:  newfolder C:  sample > cd D:  ceļš uz  failu C:  paraugs> FORFILES / m * A1_AC * .hdf / C "cmd / c gdalwarp -geoloc -t_srs" + proj = longlat + datum = WGS84 "-te 113.205 1.120 157.105 2.005 @path D:  [email protected] "KĻŪDA:" * A1_AC * .hdf "tipa faili nav atrasti.

C:  sample> projected.bat C:  sample> set in_path = D:  path  to  file C:  sample> set out_path = D:  newfolder C:  sample> md D:  newfolder C:  sample > cd / d D:  ceļš  uz  failu C:  paraugs> FORFILES / m * A1_AC * .hdf / C "cmd / c gdalwarp -geoloc -t_srs" + proj = longlat + datum = WGS84 "-te 113.205 1.120 157.105 2.005 @ path D:  newfolder/@fname.tif "1. KĻŪDA: Avota vai mērķa SRS tulkošana neizdevās: '+ proj = longlat

Mēģināju vadīt gdalwarp cmd līnijā, un tas bija veiksmīgs:

C:  sample> gdalwarp -geoloc -t_srs "+ proj = longlat + datum = WGS84" -te 113.205 1.120 157.105 2.005 HDF4_SDS: hdf: "Afile.A1_AC.sample.hdf": 01 sample.tif Izvades faila izveide, kas ir 1941P x 1670L. Notiek ievades faila HDF4_SDS apstrāde: hdf: "Afile.A1_AC.sample.hdf": 01. 0… 10… 20… 30… 40… 50… 60… 70… 80… 90… 100 - darīts.

Šeit ir risinājums kā Windows pakešu skripts, varbūt tas palīdzēs:

komplekts in_path = path_to_stored_hdfs noteikts out_path = path_to_proccessed_ones md% out_path% cd / d% in_path% FORFILES / m * L2_LAC * .hdf / C "cmd / c gdalwarp -geoloc -t_srs EPSG: 4326 -te 113,205 1.120 157,105 2.005 HDF4_SDS: HDF: @fails: 01% out_path%  @ fname.tif "

Kur/ mir maska, kas atbilst vēlamajiem failu nosaukumiem - sīkāka informācija: http://ss64.com/nt/forfiles.html

Aplūkojot jūsu kodu, es saprotu, ka esat iestatījis GDAL ceļš sistēmā, tāpēc gdalwarp jādarbojas.


jūs varat izmantot partijas hegtool, izlasiet šo:

http://newsroom.gsfc.nasa.gov/sdptoolkit/HEG/HEGFAQ_CLI.html

un šī:

http://newsroom.gsfc.nasa.gov/sdptoolkit/HEG/HEG_Batch_job_Help.htm