Açıklama: Bir şekilde anahtar konu dışında kaldım: os.system veya altprocess kullanma - sadece python API'sı.GDAL python ile başka bir ızgaraya eşleştirmek için bir ızgara nasıl projelendirilir ve yeniden örneklenir?
Dikey veri dönüşümleri için bir NOAA GTX ofset kılavuzunun bir bölümünü dönüştürmeye çalışıyorum ve bunu GDAL'da python ile nasıl yapacağınızı tamamen takip etmiyorum. Bir ızgara almak istiyorum (bu durumda bir Bathymetry Attributed Grid, ancak bir geotif olabilir) ve yapmak istediğim şablon olarak kullanıyorum. Bunu doğru yapabilirsem, insanların bu türden verileri kullanmasına büyük ölçüde yardımcı olacağını hissediyorum.
İşte sahip olduğum şey kesinlikle çalışmıyor. Gdalinfo'yu sonuçtaki hedef veri kümesinde (dst_ds) çalıştırdığımda, BAG kaynak kılavuzuna uymuyor.
from osgeo import gdal, osr
bag = gdal.Open(bag_filename)
gtx = gdal.Open(gtx_filename)
bag_srs = osr.SpatialReference()
bag_srs.ImportFromWkt(bag.GetProjection())
vrt = gdal.AutoCreateWarpedVRT(gtx, None, bag_srs.ExportToWkt(), gdal.GRA_Bilinear, 0.125)
dst_ds = gdal.GetDriverByName('GTiff').Create(out_filename, bag.RasterXSize, bag.RasterYSize,
1, gdalconst.GDT_Float32)
dst_ds.SetProjection(bag_srs.ExportToWkt())
dst_ds.SetGeoTransform(vrt.GetGeoTransform())
def warp_progress(pct, message, user_data):
return 1
gdal.ReprojectImage(gtx, dst_ds, None, None, gdal.GRA_NearestNeighbour, 0, 0.125, warp_progress, None)
Örnek dosyaları (ancak yapacağını, değişik çıkıntıların üst üste, ancak hiçbir iki ızgaraları):
- http://surveys.ngdc.noaa.gov/mgg/NOS/coast/F00001-F02000/F00574/BAG/ F00574_MB_2m_MLLW_2of3.bag
- http://vdatum.noaa.gov/download/data/VDatum_National.zip MENHMAgome01_8301/mllw.gtx
Yapmaya çalıştığım şeye eşdeğer komut satırı:
gdalwarp -tr 2 -2 -te 369179 4773093 372861 4775259 -of VRT -t_srs EPSG:2960 \
MENHMAgome01_8301/mllw.gtx mllw-2960-crop-resample.vrt
gdal_translate mllw-2960-crop-resample.{vrt,tif}
WKT'nin çıktı değeri torba_srs? "Çanta" nın verdiği aynı SRS'nin doğrulandığını doğruladınız mı? Bazı WKT'ye rastladım ... iyi, iyi biçimlendirilmemiş ... Komut satırı sürümü EPSG: 2960'ı (NAD83 olan?) Belirtir. Uzun zamandır gdal kullanmamıştım, ama eğer buna rastlarsam, reprojeksiyonun uygun SRS değerlerini kullandığından emin olarak başlayacağım. Üzgünüm, iyi bir cevap değil ... bu yüzden bir yorum. – Kasapo