Daha çox

Gdalwarp-da çoxbucaqlı shp ilə rəngli bir rasterin kəsilməsi orijinal dəyərləri dəyişdirir, niyə?


Rastrımı çoxbucaqlı bir fiqur şəkli əsasında kəsməliyəm, əsasən poliqon şəklində (aşağıdakı şəkildə qırmızı perimetrin içərisində) raster dəyərlərini burada göstərin:

Buna görə istifadə edirəm:

gdalwarp-xətt sərhəddi200millas_polygon.shp-əkin_to_cutline chl.2015.04.01_2015.04.08.aqua-color.tiff out.tiff

Bu hiylə etməlidir, amma etmir. Nəticədə qara bir raster alıram. Həm orijinal, həm də kəsilmiş rastrın çıxış dəyərlərini yoxladıqdan və müqayisə etdikdən sonra, kəsilmiş rasterin raster dəyərlərinin orijinal rastrınkından (məsələn, STATISTICS_STDDEV in.tiff-də daha aşağı olduğunu gördüm, bu da kəsilmiş raster idi):

Dosyalar: chl.2015.04.01_2015.04.08.aqua-color.tiff | Dosyalar: out.tiff ölçüsü 2606, 2553 | Ölçü 1632, 1913 Mənşəli = (-90.463892341650677,0.065232508032915) | Mənşəyi = (-84.673288999992508, -3.392115000001818) Piksel Ölçüsü = (0.008784683301344, -0.008784616065831) | Piksel ölçüsü = (0.008786027376501, -0.008785333088489) Üst Sol (-90.4638923, 0.0652325) (90d27'50.01 "W, 0d 3'54.84" N) | Yuxarı Sol (-84.6732890, -3.3921150) (84d40'23.84 "W, 3d23'31.61" S) Aşağı Sol (-90.4638923, -22.3618923) (90d27'50.01 "W, 22d21'42.81" S) | Sol Sol (-84.6732890, -20.1984572) (84d40'23.84 "W, 20d11'54.45" S) Üst Sağ (-67.5710077, 0.0652325) (67d34'15.63 "W, 0d 3'54.84" N) | Yuxarı Sağ (-70.3344923, -3.3921150) (70d20 '4.17 "W, 3d23'31.61" S) Aşağı Sağ (-67.5710077, -22.3618923) (67d34'15.63 "W, 22d21'42.81" S) | Aşağı Sağ (-70.3344923, -20.1984572) (70d20 '4.17 "W, 20d11'54.45" S) Center (-79.0174500, -11.1483299) (79d 1' 2.82 "W, 11d 8'53.99" S) | Mərkəz (-77.5038907, -11.7952861) (77d30'14.01 "W, 11d47'43.03" S) Bant 1 Blok = 2606x1 Tip = Bayt, ColorInterp = Qırmızı | Bant 1 Blok = 1632x1 Tip = Bayt, ColorInterp = Qırmızı Minimum = 0.000, Maksimum = 255.000, Orta = 160.832, StdDev = 122.633 | Minimum = 0.000, Maksimum = 255.000, Ortalama = 0.001, StdDev = 0.479 STATISTICS_MEAN = 160.83171664774 | STATISTICS_MEAN = 0.00089845791949817 STATISTICS_STDDEV = 122.63291968596 | STATISTICS_STDDEV = 0.47865014597867 Bant 2 Blok = 2606x1 Növ = Bayt, ColorInterp = Yaşıl | Bant 2 Blok = 1632x1 Tip = Bayt, ColorInterp = Yaşıl Minimum = 0.000, Maksimum = 255.000, Orta = 175.865, StdDev = 108.243 | Minimum = 0.000, Maksimum = 255.000, Ortalama = 0.001, StdDev = 0.488 STATISTICS_MEAN = 175.86531037027 | STATISTICS_MEAN = 0.00096059725510696 STATISTICS_STDDEV = 108.24324530596 | STATISTICS_STDDEV = 0.48752743191956 Bant 3 Blok = 2606x1 Növ = Bayt, ColorInterp = Mavi | Band 3 Blok = 1632x1 Tip = Bayt, ColorInterp = Mavi Minimum = 0.000, Maksimum = 255.000, Orta = 252.883, StdDev = 20.256 | Minimum = 0.000, Maksimum = 255.000, Ortalama = 0.001, StdDev = 0.540 STATISTICS_MEAN = 252.88313208935 | STATISTICS_MEAN = 0.0011434918975431 STATISTICS_STDDEV = 20.25592618995 | İSTATİSTİK_STDDEV = 0.53998993166519

Bunun səbəbi nə ola bilər? Istifadə olunur-dstalfayalnız boş bir nəticə çıxarır. Sadəcə orijinal rasterimi kəsməyim lazımdır ... bundan başqa bir şey yoxdur. Bunun əvəzinə gdal_rasterize istifadə etsəm, burada izah edildiyi kimi, raster orijinal dəyərlərini dəyişdirmədən orijinal rasterimdən çoxbucaqlı shapefile silə bilərəm.

Aşağıdakı orijinal rasterin gdalinfo:

gdalinfo -mm -stats chl.2015.04.01_2015.04.08.aqua-color.tiff Sürücü: GTiff / GeoTIFF Dosyaları: chl.2015.04.01_2015.04.08.aqua-color.tiff Ölçü 2606, 2553 Koordinat Sistemi: GEOGCS [" WGS 84 ", DATUM [" WGS_1984 ", SPHEROID [" WGS 84 ", 6378137,298.257223563, Authority [" EPSG "," 7030 "]], Authority [" EPSG "," 6326 "]], PRIMEM [" Greenwich " , 0], UNIT ["dərəcə", 0.0174532925199433], YETKİ [[EPSG "," 4326 "]] Mənşə = (-90.463892341650677,0.065232508032915) Piksel Ölçüsü = (0.008784683301344, -0.0087846160658INA Metatr_A_A: Metod_Astr: INTERLEAVE = PIXEL Köşe Koordinatları: Üst Sol (-90.4638923, 0.0652325) (90d27'50.01 "W, 0d 3'54.84" N) Aşağı Sol (-90.4638923, -22.3618923) (90d27'50.01 "W, 22d21'42.81" S) Üst Sağ (-67.5710077, 0.0652325) (67d34'15.63 "W, 0d 3'54.84" N) Aşağı Sağ (-67.5710077, -22.3618923) (67d34'15.63 "W, 22d21'42.81" S) Center (-79.0174500, -) 11.1483299) (79d 1 '2.82 "W, 11d 8'53.99" S) Band 1 Blok = 2606x1 Type = Bayte, ColorInterp = Red Computed Min / Max = 0.000,25 5.000 Minimum = 0.000, Maksimum = 255.000, Ortalama = 160.832, StdDev = 122.633 Metadata: STATISTICS_MAXIMUM = 255 STATISTICS_MEAN = 160.83171664774 STATISTICS_MINIMUM = 0 STATISTICS_STDDEV = 122.63291000 = 552.06.06.52.06.06.06.06.06.06.06.06.06.06.06.06.06.06.06.06.06.06.06.06.06.06.06.02.02.htm Minimum = 0.000, Maksimum = 255.000, Ortalama = 175.865, StdDev = 108.243 Metadata: STATISTICS_MAXIMUM = 255 STATISTICS_MEAN = 175.86531037027 STATISTICS_MINIMUM = 0 STATISTICS_STDDEV = 108.24324530596 Min = Rəng = Min.26 = Min. = 0.000, Maksimum = 255.000, Orta = 252.883, StdDev = 20.256 Metadata: STATISTICS_MAXIMUM = 255 STATISTICS_MEAN = 252.88313208935 STATISTICS_MINIMUM = 0 STATISTICS_STDDEV = 20.255926185

GeoServer-in data_dir-dən bir png faylı götürdüm. GeoServer-i quraşdırın və qovluqda oynamaq üçün eyni şəklə sahib olacaqsınız:

 geoserver-2.7.1  data_dir  coverages  mosaic_sample 

Png-i tiff-ə çevirin və proyeksiya təyin edin.

gdal_translate -a_srs epsg: 4326 global_mosaic_6.png ">

Burn.shp bir çoxbucaqlıdır:

POLYGON ((10.375610236185853 39.384332051098106, 10,344426149120759 39,730475417520644, 10,87455562922735 39,92069834861771, 11,152094004106685 39,546489303836594, 10,92133175982499 39,16292503293594, 10.375610236185853 39.384332051098106))

Şərhlərdən sonra ortaya çıxdı ki, "çoxbucaqlı sərhəd200millas_polygon.shp" şəkilli şəklində üç poliqon var və gdalwarp yalnız bir həndəsi kəsik xətti kimi qəbul edir. Bununla birlikdə, məsələn, QGIS "həll" funksiyası ilə çoxbucaqlılardan yarana bilən bir çox poliqon qəbul edə bilər.


Videoya baxın: PARALELOQRAM, ONUN XASSƏLƏRİ VƏ ƏLAMƏTLƏRİTEST TOPLUSU 8,9,10,11-Cİ SİNİFLƏR ÜÇÜN NƏZƏRDƏ TUTULUR (Oktyabr 2021).