Geostationary'yi Lambert konformaline yeniden eşlemek için 'çok fazla puan dönüştürülemedi' Gdalwarp hatasını nasıl çözebilirim?


11

Gdalwarp kullanarak Geostationary'den Lambert'e uyumlu olmaya çalışıyorum. Giriş verilerim netcdf ve coğrafi koordinatlarda (derece) ve yeniden eşlenen verileri netcdf'ye çıkarmak istiyorum. Giriş netcdf verileri için karşılık gelen bir vrt dosyası oluşturduk. Gdalwarp netcdf dosyasını çıktılar, ancak çıktı verilerinin tümü sıfırdır ve aşağıdaki hatayı alıyorum:

Creating output file that is 5120P x 5120L.
Processing input file netcdf.vrt.
ERROR 1: Too many points (441 out of 441) failed to transform,
unable to compute output bounds.
Warning 1: Unable to compute source region for output window 0,0,5120,5120, skipping.
0...10...20...30...40...50...60...70...80...90...100 - done.

Aşağıdaki komutu denedim:

/usr/bin/gdalwarp -s_srs "+proj=geos +h=35785831 +lon_0=-75 +x_0=-0.151844 +y_0=0.151844 +a=6378140 +b=6356754.99999591 +units=degrees +no_defs" -t_srs "+proj=lcc +ellps=clrk66 +a=6378137 +b=6378137 +e=0.0818191910435 +lat_0=24.9999 +lon_0=-95 +lat_1=24.9999 +lat_ts=25.0001 +units=meters +no_defs" -te -1952976.3246 -828316.5944 3248431.6754 4373091.4056 -of netCDF -geoloc -overwrite -r bilinear -ts 5120 5120 netcdf.vrt out.nc

Gdalwarp coğrafi koordinatlardan öngörülene kadar yeniden eşleme yapabilir mi? Yoksa coğrafi konumu önce yansıtılanlara çevirmem gerekir mi? Ayrıca, gdalwarp projeksiyon bilgilerini doğrudan netcdf'den okuyabilir mi veya önce .vrt dosyasına yazmanız GEREKİR Mİ?

Girdi dosyasından gdalinfo çıktısı: (CLASS'tan bir GOES 13 dosyasıdır)

Size is 512, 512
Coordinate System is `'
Metadata:
  NC_GLOBAL#Conventions=CF-1.4
  NC_GLOBAL#Satellite Sensor=G-13 IMG    
  NC_GLOBAL#Source=McIDAS Area File
Subdatasets:
  SUBDATASET_1_NAME=NETCDF:"goes13.2013.100.165517.BAND_04.nc":auditTrail
  SUBDATASET_1_DESC=[3x80] auditTrail (8-bit character)
  SUBDATASET_2_NAME=NETCDF:"goes13.2013.100.165517.BAND_04.nc":data
  SUBDATASET_2_DESC=[1x665x2036] data (32-bit floating-point)
  SUBDATASET_3_NAME=NETCDF:"goes13.2013.100.165517.BAND_04.nc":lat
  SUBDATASET_3_DESC=[665x2036] lat (32-bit floating-point)
  SUBDATASET_4_NAME=NETCDF:"goes13.2013.100.165517.BAND_04.nc":lon
  SUBDATASET_4_DESC=[665x2036] lon (32-bit floating-point)
Corner Coordinates:
Upper Left  (    0.0,    0.0)
Lower Left  (    0.0,  512.0)
Upper Right (  512.0,    0.0)
Lower Right (  512.0,  512.0)
Center      (  256.0,  256.0)

Ve veri değişkeni hakkında ek gdal bilgisi:

Driver: netCDF/Network Common Data Format
Files: goes13.2013.100.174518.BAND_04.nc
Size is 2036, 665
Coordinate System is `'
Metadata:
  data#coordinates=lon lat
  data#long_name=0-255 Brightness Temperature
  data#type=VISR
  NC_GLOBAL#Conventions=CF-1.4
  NC_GLOBAL#Satellite Sensor=G-13 IMG    
  NC_GLOBAL#Source=McIDAS Area File
  NETCDF_DIM_EXTRA={time}
  NETCDF_DIM_time_DEF={1,4}
  NETCDF_DIM_time_VALUES=1365615900
  time#long_name=seconds since 1970-1-1 0:0:0
  time#units=seconds since 1970-1-1 0:0:0
Geolocation:
  LINE_OFFSET=0
  LINE_STEP=1
  PIXEL_OFFSET=0
  PIXEL_STEP=1
  SRS=GEOGCS["WGS 84",DATUM["WGS_1984",SPHEROID["WGS 84",6378137,298.257223563,AUTHORITY["EPSG","7030"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY["EPSG","6326"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9108"]],AUTHORITY["EPSG","4326"]]
  X_BAND=1
  X_DATASET=NETCDF:"goes13.2013.100.174518.BAND_04.nc":lon
  Y_BAND=1
  Y_DATASET=NETCDF:"goes13.2013.100.174518.BAND_04.nc":lat
Corner Coordinates:
Upper Left  (    0.0,    0.0)
Lower Left  (    0.0,  665.0)
Upper Right ( 2036.0,    0.0)
Lower Right ( 2036.0,  665.0)
Center      ( 1018.0,  332.5)
Band 1 Block=2036x1 Type=Float32, ColorInterp=Undefined
  NoData Value=9.96920996838686905e+36
  Metadata:
    coordinates=lon lat
    long_name=0-255 Brightness Temperature
    NETCDF_DIM_time=1365615900
    NETCDF_VARNAME=data
    type=VISR

Herhangi bir yardım büyük takdir edilecektir!


1
Geos projeksiyonu derece kullanmayacak; metre deneyin. + X_0 / + y_0 değerlerini nereden alıyorsunuz? Gdalinfo'ya dayanarak, giriş rasterinin coğrafi referans olduğundan emin değilim. Hedef srs'de, bir küre olan + a = + b'ye sahip olursunuz, ancak + e'yi de ayarlarsınız. Ancak, + ellps tamamen farklı bir elipsoid içindir. Çeşitli + lat değerleri de tuhaf görünüyor. lat_ts, gerçek ölçeğin lat'idir, bu nedenle lat_1 gibi standart bir paraleldir.
mkennedy

Teşekkür ederim. Metre kullanmayı deneyeceğim. Her ne kadar bunlar + proj = geos için gerekli girişler olmamasına rağmen GOES tanımından x_0 ve y_0 (ölçek ve ofset) alıyorum, bu yüzden onları çıkarmayı deneyebilirsiniz. Ve + e elipsoid ilavesini işaret ettiğiniz için teşekkürler t_srs için lat tanımları lambert'in (belirli bir çıktı boyutu) AWIPS tanımlaması içindir. Belirli veri değişkeni için hangi gdal bilgisinin tükürdüğünü soru mesajına ekleyeceğim (yorum için çok uzun)
Katie J

Bahsettiğim AWIPS tanımı bu sayfada açıklanmaktadır: nws.noaa.gov/noaaport/html/icdtb48_2.html (ilki yeniden eşleştirmeye çalıştığım Lambert)
Katie J

1
Hmmm, bu yüzden lat / lon WGS84 diyor, ancak bildirilen köşe koordinatları beni ilgilendiriyor çünkü sadece ham hücre değerleri. LCC teğetsel bir durumdur - tek standart paralel / menşe enlemi 25N'dir. Bu verilerden hiçbiriyle çalışmadım, bu yüzden sadece meta veri bilgisine gidiyorum.
mkennedy

Görüntü coğrafi referanslı değildir, ancak kaynak bir kaynaktır. Birkaç soru: * CPL_DEBUG = GDAL_netCDF ile çalışabilir misiniz? Yani CPL_DEBUG = GDAL_netCDF / usr / bin / gdalwarp ... Coğrafi konum dizileriyle ilgili bir sorun olabileceğinden şüpheleniyorum. * Verilerinizi kullanılabilir hale getirebilir misiniz?

Yanıtlar:


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.