Daha çox

Geotiff imicini C ++ (GDAL və ya digər imkanlar) şəklində necə əkmək olar?


Geotiff görüntüsünü işləmək üçün bir kod hazırlayıram. Fəqət, meta məlumatlarını (proyeksiya ...) qoruyaraq bir coğrafi görüntüyü C ++ dilində kəsməliyəm. Fikrimcə, küncləri və coğrafi görünüşü kodun içərisindəki bir işə təmin etmək və sonra alt dəsti geri qaytarmaqdır. GDAL istifadə etməyi düşündüm, amma kod və ya funksiyanın olub olmadığını bilmirəm.

Bunu kimsə bilir?


Bunu C ++ dilində kifayət qədər asanlıqla edə bilərsiniz. Bunu edəcəyim yol, kəsmək istədiyiniz sənədin yolunu, çıxış / əkilmiş rastrın yolunu, əkilmiş rasterin yuxarı sol koordinatlarını və əkilmiş rasterin enini və hündürlüyünü göndərməkdir. Kodunuzun konturu belə ola bilər ...

boş məhsul (const char * inputPath, const char * зироатPath, double topLeftX, double topLeftY, double width, double height) {GDALDataset * pInputRaster, * pCroppedRaster; GDALDriver * pDriver; pDriver = GDALGetDriverManager-> getDriverByName ("Sürücünüzün adı burada"); pInputRaster = (GDALDataset *) GDALOpen (inputPath, GA_ReadOnly); // afin çevrilmə məlumatı, bunu düzgün şəkildə tənzimləməlisiniz // kəsilmiş raster ikiqat çevrilməni göstərmək [6]; pInputRaster-> getGeoTransform (çevirmək); // sol üst koordinatların çevrilməsini tənzimləyin [0] = topLeftX; çevirmək [3] = topLeftY; // hücrələrdəki yeni (qırpılmış) rasterin ölçülərini müəyyənləşdirin int xSize = dəyirmi (en / transformasiya [1]); int ySize = dəyirmi (hündürlük / çevrilmə [1]); // yeni (qırpılmış) verilənlər bazası yaradın pCroppedRaster = pDriver-> Yaradın (məhsulPath, xSize, ySize, 1, GDT_Float32, NULL) // və ya buna bənzər // indi yalnız sütun və sətirlərin sayını tapmaq lazımdır. Orijinal rasterdən kənarlaşdırıldığı təqdirdə əkin olunmuş rasterin yuxarı sol küncündə // və bu dəyərləri istifadə edərək // orijinal rasterdəki məlumatları oxumaq və məlumatları yeni (əkilmiş) rasterə köçürmək / yazmaq üçün}

Proqnozu giriş rasterindən əkilmiş rasterə kopyalamaq kifayət qədər asan olmalıdır. GDAL-da işləyəndə ümumiyyətlə proqnozlar barədə narahat olmuram. Bununla birlikdə, afin çevrilmə məlumatlarını izlədiyinizdən əmin olmaq çox vacibdir. Rasterlərinizin hamısı eyni proyeksiyadadırsa, afin çevrilmə məlumatları bir-birinə nisbətən məkan yerini dəqiq təsvir edəcəkdir.


Hər zaman GDAL kommunallarını necə etdiklərini yoxlaya bilərsiniz. Məsələn, bir görüntünün bir hissəsini "çipdən çıxarmaq" istəyirsinizsə, istifadə edə bilərsinizgdal_translate -srcwin.

Ən sadə yol yalnız gdal_translate-i çağırmaq olar (məssistem ()zəng edin və ya bəlkə də aCreateProcess ()Windows-da olsanız zəng edin). Əks təqdirdə, lazım olan bitləri çıxarmaq üçün gdal_translate.cpp kodunu oxuya bilərdiniz.

Ehtiyaclarınız olduqca sadədirsə, ehtimal ki, RasterIO funksiyasından iki dəfə istifadə edə bilərsiniz - bir dəfə məlumatları oxumaq və yenidən məlumatları yazmaq üçün. Hər ikisinin nümunələri GDAL API təlimatında verilmişdir.


Gdal xaricində (digər cavablara bax) və virtual bir sənəd yaratmaqla, OTB kitabxanasından istifadə edə bilərsiniz. Bu, görüntü işlənməsi üçün geniş bir filtr dəsti daxil olmaqla C ++ açıq mənbəli kitabxanadır. Xüsusilə, otb :: MultiChannelExtractROI hiylə işlədir. Birbaşa istifadə etmək istəyirsinizsə, bir tətbiq olaraq da mövcuddur.


Bunu python və GDAL istifadə edərək etdim:

#Projwin ulx uly lrx lry (yuxarı sol (ymax, xmin) - aşağı sağ (xmax, ymin)) əmri = "gdal_translate" + ""  "-of GTiff" + ""  "-ot Float64" +  "-co compress = LZW" +  "-projwin" + "" +  str (xmin) + "" +  str (ymax) + "" +  str (xmax) + "" +  str (ymin) + "" +  path_to_raster_tiff + "" +  output_path os.system (command)

http://gis-techniques.blogspot.com/2015/09/clip-raster-with-shapefile-using-c-and.html#.VfiVehFVhHw, C # və Gdal istifadə edərək raster əkmək məsələsinə malikdir. Ümid edirəm ki, forma ilə raster əkmək üçün C ++ ilə GDAL istifadə etmək sizə bəzi fikirlər verir.


Photoshop-da şəkilləri müəyyən nisbətdə necə kəsirəm?

Məlumat üçün Photoshop CS5 Extended istifadə edirəm. Bu proqramda istədiklərimi etmək üçün bir yol tapmağa üstünlük verərdim.

Tez-tez şəkillərimi müəyyən bir nisbətə sığacaq şəkildə kəsmək istəyirəm (ya çap və ya onlayn istifadə üçün). Kameramın standart olaraq istehsal etdiyi 1,5: 1 nisbətini istəsəm də, nadir hallarda bəzi elementləri çərçivənin kənarında kəsmək istəmirəm.

Bilirəm ki, künclərdən birindən əkin qutusunu tənzimləyərkən növbəni basıb saxlaya bilərəm və oradakı nisbəti məhdudlaşdıracağam. Ancaq məhsul alətinin istifadə etməsi üçün müəyyən bir nisbət təyin etməyin bir yolu varmı?

Bu anda kifayət qədər zəhmət tələb edən bir prosesi davam etdirirəm və "düz" olaraq düzəltmək üçün pikselləri sanki sayıram.


2 Cavablar 2

ImageMagick ilə istədiyinizə çatmağın bir yolu. İnşallah Terminaldan istifadə etmək rahatdır (və bütün paketlərinizi idarə etmək üçün Homebrew istifadə edin).

İstənilən halda, ImageMagick-i quraşdırmalısınız, beləliklə Terminal-da çevir əmr satırını işə sala bilərsiniz.

Bütün şəkilləri işləyən toplu işləmək istədiyiniz qovluğu açın. Qovluq adınız çağırılıbsa şəkillər masaüstündə yerləşir, cd daxil etməlisiniz

/ Masaüstü / şəkillər / Terminalda.

ImageMagick, ölçüləri və koordinatlarına görə şəkilləri kəsmək üçün daxili bir seçimə malikdir. Komanda:


1 Cavab 1

Bunu add_image_size () funksiyası ilə edə bilməzsiniz, bir çox araşdırma və əsas sənədləri qazdıqdan sonra, add_image_size () funksiyasının Hard Crop seçiminin alt ölçüyə əsasən şəklin ölçüsünü dəyişdirməsindən sonra göstərilən ölçüsü kəsəcək

yeni bir şəkil ölçüsü yaratdığınız təqdirdə:

və belə bir şəkil yükləyin:

ən yüksəklik nisbətini qoruyaraq 310 hündürlüyünü (aşağı qiymət olduğu üçün) istifadə edərək şəklin ölçüsünü dəyişdirəcəkdir:

sonra göndərilən vəziyyətdə və ya standart mərkəzdə, mərkəzdə yerləşən qırmızı kvadratın üst-üstə düşən 475, 310 ölçüsü və kəsiləcək sahə əsasında ölçüsünü dəyişmiş şəkildən istifadə edərək görüntüyü kəsməyə davam edəcəkdir:

üst və alt heç bir əhəmiyyət kəsb etmir, amma bunun səbəbi, boyun hündürlüyündən istifadə edilərək ölçüsünün dəyişdirilməsidir, əksinə olsaydı, görüntünün altındakı eni hündür, sol və sağ onlar kimi görünərdi əhəmiyyəti yoxdur.

Nə etməyə çalışdığınızı həyata keçirmək üçün mövzunuza lazımi kodu əlavə edəcək bir plagin və ya bir inkişaf etdiriciyə ehtiyacınız olacaq, bu, indiki wordpress daxili alətləri ilə edilə bilməz.


RaspiCam istifadə edərək çəkilmiş şəkil kəsildi

Raspberry Pi model B və Raspberry Pi CSI kamera modulundan (RaspiCam) istifadə edərək bir layihə üzərində işləyirəm.

Məsələ ondadır ki, raspicam_test istifadə edərkən şəkil sahəsi çəkildi, raspicam kitabxanasında 0.1.1 versiyası raspistill əmrindən istifadə etdiyimdən fərqli. Raspicam_test-dən çəkilən şəkil kəsilir və ölçüsü dəyişdirilir. Bunu necə həll etmək barədə hər hansı bir fikriniz varmı?

Budur çəkilən şəkillərin nümunəsi

və bu, raspistill əmrini istifadə edərkəndir


Quraşdırma

Velox bütün əsas əməliyyat sistemlərində (Linux, Mac OS, Windows) işləməlidir.

Asılılıqlar

Velox, xarici GDAL (& gt = 2.0.0), GEOS (& gt = 3.3.0), PROJ.4 (& gt = 4.8.0) və UDUNITS kitabxanalarına güvənən rgdal, rgeos və sf paketlərini tələb edir. Debian / Ubuntu'da (& gt = 14.04) bu asılılıqlar girilərək quraşdırıla bilər

R paketi

Sistemdən asılılıqlar mövcud olduqda, ya CRAN-dan velox yükləyə bilərsiniz

və ya devtools paketindən install_github funksiyasından istifadə edərək inkişaf versiyasını qura bilərsiniz:

Xahiş edirik unutmayın ki, bu səhifə paketin inkişaf versiyasına istinad edir.


& quotogr_api.h & quot daxil edin

derlemeye son verildi. makefile: 179: hədəf 'areadinfmn.o' üçün resept alınmadı: *** [areadinfmn.o] Xəta 1

Linux: stream_reach_file xəbərdarlığı: Layer yaradılması uğursuz oldu.

StreamNet version 5.3.8 Giriş faylı stream_raster_grid.tif coğrafi koordinat sisteminə malikdir. Bu qaçış başa çatmaq üçün 1 dəqiqə müddətini ala bilər. Bu təxmin çox təxmindir. İşləmə müddəti olduqca qeyri-müəyyəndir, çünki giriş məlumatlarının mürəkkəbliyindən və kompüterin sürətindən və yaddaşından asılıdır. Bu təxmin 16GB RAM ilə ikili dörd nüvəli Dell Xeon E5405 2.0GHz PC üzərində testimizə əsaslanır. Flow_dir_grid_d8.tif giriş faylı coğrafi koordinat sisteminə malikdir. Contributing_area_grid_d8.tif giriş faylı coğrafi koordinat sisteminə malikdir. Giriş faylı elev.tif coğrafi koordinat sisteminə malikdir. Çıxış nöqtəsinə qədər məsafələrin qiymətləndirilməsi HATA 10: Ad OGR_DS_CreateLayer-da NULL idi ERROR 10: 'hLayer' göstəricisi 'OGR_L_CreateField' -də NULL-dir.

stream_reach_file xəbərdarlığı: Layer yaradılması uğursuz oldu.

Xəta R6034

Əzizlərim, SedinConnect kimi digər vasitələrlə başlamazdan əvvəl TauDEM-dən istifadə etməyə çalışıram. Windows 10-da arcGIS 10.2.1 istifadə edirəm. Yükləmə səhifəsində göstərilən bütün alətləri buraya yüklədim: 64 bit Windows GDAL 201 Python 2.7 üçün Microsoft PCI GDAL 2.1.0 Microsoft MPI v7.1 Microsoft Visual C ++ 2015 Redistributable Paket (x86) Microsoft Visual C ++ 2015 Yenidən Dağıtılabilir Paket (x64) İçerik menyusundan administrator olaraq çalışaraq Microsoft MPI v7.1 yüklədim. SedInConnect insanların (https://github.com/HydrogeomorphologyTools/SedInConnect_2.3/blob/master/Guidelines_tools_stand-alone.docx) tövsiyələrini izləyərək Windows-un bloklanmasının qarşısını almaq üçün UAC-ı (İstifadəçi Hesabına Nəzarət) ən aşağı dəyərə çevirdim. MPI fəaliyyəti. TauDEM 5.3.7-i kontekstual menyudan idarəçi olaraq çalıştırdım. ArcGIS alət qutusunu quraşdırdım və pitremove-i oradan çalıştırmağa çalışdım. R6034 səhvini alıram:

Və arcGIS pit-də ERROR 000732 çıxardığım sənəddəki statistikanı hesablaya bilməyən yığışdırın. Həm komut istəməsini, həm də GIT başlığımı istifadə edərək komanda xəttindən çalışmağa çalışdım: mpiexec -n 8 pitremove -z & quot. / FromENVI / S36W072_73_DEM_RBB_UTM18S.tif & quot -fel & quot. / FromTauDEM / RBB.tif & quot

Eyni R6034 səhvini də aldım.

Nə edəcəyimi bilmirəm. Köməyin üçün təşəkkür edirəm, Violeta

SetRegion.cpp Ubuntu-da tərtib edilə bilmir

TauDEM-in Ubuntu Xenial-da tərtib edilməsinə çalışıram və markadan sonra bu xətanı alıram:

Düzəliş et: git-dən Develop filialını istifadə edirəm.

5.3.8 versiyasında aread8 nodata dəyəri

Əvvəla, bu həqiqətən faydalı bir proqramdır.

Bunu axın istiqaməti şəbəkəsindən sonra bir çox parametr yığımı üçün istifadə etdik. Bu yaxınlarda, 5.3.8 versiyası ilə bəzi qəribə davranışlar etdik. Ölçüləri -1 olan çəki ızgarasının bölgələri nodata sahələri olaraq yığılmış ızgarada qaytarılır. Düşünürəm ki, -1 nodata dəyəri olaraq aread8-ə sərt kodlanmışdır. Bəzi ekran görüntülərini və təsvirlərini aşağıya yapışdıracağam. Bəlkə də bu, # 203 ilə əlaqəlidir və ya v5.3.9-da düzəldilib? Linux / HPC-də tərtib etmək üçün yalnız v5.3.8 əldə etməkdə müvəffəq oldum.

Nodata kimi göstərilən -1 sahə ilə yığılmış parametr şəbəkəsi:

-1-ni yüzməyə çevirdiyimdə, -0.01, problem aradan qalxır.

Budur qanun pozuntusu ola biləcəyinin bir parçası. C ++ bilmirəm, buna görə burada ola bilərəm.

Çıxış nodata dəyərinin sərt kodlaşdırılmaması və bunun əvəzinə bu dəyərin nodata dəyəri ilə giriş ölçmə şəbəkəsinin nodata dəyəri kimi təyin edilməsi çox yaxşı olardı (düzgün müəyyənləşdirildiyi təqdirdə).

Yenə də bu, həqiqətən çox yaxşı bir proqramdır və bizə bir ton vaxt qənaət etmişdir.

Sürətləndirilmiş Axın İstiqamət Alqoritmlərinin inteqrasiyası

Salam Dr. Tarboton, Survila və digərlərinin (2016) hazırladığı sürətlənmiş axın istiqaməti alqoritmlərinin bu depoya inteqrasiya olunmasına maraq varmı? Əgər belədirsə, sürətləndirilmiş O (n) alqoritmlərinin artıq tərtib edilməsinə imkan vermək üçün çəngəl içərisində yüngül bir dəyişiklik edilərək CyberGIS anbarında tətbiq olunduğuna inanıram. İstədiyiniz təqdirdə Cahaba anbarı içərisindəki NWC-də çox istifadə edildiyi üçün bunu birləşdirməyə kömək etməkdən məmnun olaram.


Elementlər

Bütün yeni kətan elementlərinin Canvas :: Element interfeysini tətbiq etməsi lazımdır (yeni elementlər mövcud elementləri də sinifləşdirə bilər, məsələn Map və Window ($ FG_SRC / Canvas) elementlərinin tətbiqinə baxın), kətan sistemi hazırda aşağıdakı primitivləri dəstəkləyir (bax $ SG_SRC / canvas / elements):

  • CanvasGroup - əsas element: qruplaşdırma üçün (digər qruplar da daxil olmaqla bir qrup təsadüfi kətan primitivləri)
  • CanvasText - mətnlərin göstərilməsi üçün (osgText-ə uyğunlaşdırılır)
  • CanvasPath - vektor qrafika göstərmək üçün (OpenVG-yə uyğunlaşdırılıb, hazırda SVG-ləri qruplara göstərmək üçün də istifadə olunur)
  • CanvasMap - xəritələrin göstərilməsi üçün (coğrafi koordinatların ekran koordinatlarına avtomatik proyeksiyası, qrupun alt sinfi)
  • CanvasImage - raster şəkillər göstərmək üçün (osg :: Image ilə eşlenir)
  • CanvasWindow - bu $ FG_SRC / Canvas / Window.? Xx-un bir hissəsidir. Xx, Windows tətbiq etmək üçün istifadə edilən CanvasImage alt sinifidir (05/2014 tarixinə simgearda da tapıla bilər)

Son istifadəçi xüsusiyyətlərinin əksəriyyəti, istifadəçi məkanında müvafiq xüsusiyyəti tətbiq etmək üçün mövcud olması lazım olan aşağı səviyyəli komponentlərə ayrıla bilər.

Beləliklə, kətan sistemi, hər biri fərqli primitivləri dəstəkləyən bir ovuc göstərmə rejiminə əsaslanır - bu rejimlərin hər biri, müəyyən bir addan istifadə edərək, bir kətan toxumasının mülk ağacı ilə idarə olunan alt ağacı olan "Canvas Element" olaraq həyata keçirilir. , xüsusi hadisələri və bildirişləri dəstəkləyir.

Yuxarıda göstərilən inkişaf fəlsəfəsinə görə, "gecə görüşü" və ya FLIR elementi kimi yüksək dərəcədə istifadə üçün xüsusi kətan elementləri görməyəcəksiniz. Bunun əvəzinə, dəstəklənmə ehtimalı daha yüksək olan bu cür xüsusiyyətləri yaradan son istifadəçilərə imkan verən, yəni xüsusi effektlər / gölgelendiricilərin işlədilməsi üçün dəstək əlavə etmək və kətan toxumalarına mənzərə görünüşlərini göstərmək üçün imkan verən alt səviyyəli bina bloklarıdır.


Sual 10. Hansı rəng sahəsi və sıxılma sxemindən nə vaxt istifadə etməliyəm?

Geniş miqdarda fərqli sıxılma sxemləri və rəng sahələri ilə raster məlumatların çevik birləşməsi sayəsində TIFF geniş tətbiqetmə üçün çox uyğun ola bilər. Budur, yalnız ən populyar və ya ümumi tətbiqetmələrin bir nümunəsidir.

TətbiqSıxılma sxemi və rəng sahəsi
Bilevel soyulmuş və ya çox mürəkkəb bir görüntürənglər boşluğu qara və ağ
sıxılma G3, G4 və ya bəlkə də JBIG
Bilevel süni görüntülərrənglər boşluğu qara və ağ
sıxılma G3 və ya G4
Normal sıra boz rəngli və ya rəngli fotoqrafiya görüntüləri Sıxılma keyfiyyətdən daha vacibdirsə
rəng boşluğu Boz ton və ya YCbCr (*)
sıxılma JPEG (*)
Əgər keyfiyyət sıxılmaqdan daha vacibdirsə
rəng məkanı Boz ton, RGB və ya CIE L * a * b *
sıxılma LZW və ya Deflate
Əgər keyfiyyət çox vacibdirsə
rəng sahəsi hər kanal başına 16bit və ya üzən nöqtə RGB və ya kanal başına 16bit CIE L * a * b *
sıxılma LZW və ya Deflate
Normal sıra Boz rəngli və ya rəngli süni görüntü Rəng sayı & lt = 256 olarsa
rəng məkanı palitrası ən uyğun olardı
sıxılma LZW və ya Deflate
Rəng sayı & gt256
rəng sahəsi Greycale, RGB və ya CIE L * a * b *
sıxılma LZW və ya Deflate
Dinamik sıra Boz ton və ya rəngli görüntürəng məkanı üzən nöqtə Boz ton və ya RGB
sıxılma LZW və ya Deflate

(*) YCbCr rəng sahəsi və JPEG sıxılma sxemi faktiki olaraq əlaqəlidir. JPEG-i sıxılma sxemi kimi istifadə etməkdən başqa, təvazökar fikrimizcə YCbCr istifadə etmək üçün yaxşı bir səbəb yoxdur.


Uzaqdan Algılamada Proqram Davamlılığı

Robin Wilson, Southampton Universitetinin Coğrafiya və Ətraf Mühiti və Kompleks Sistemlər Simülasyonu İnstitutu tərəfindən.

Bu, İnstitutun təqaüdçülərinin hər biri həm öz işləri ilə, həm də proqramın tədqiqatdakı rolu ilə daha çox əlaqəli olan bir sahəni əhatə edən bir sıra məqalələrin üçüncüsüdür.

1. Uzaqdan zondlama nədir?

Uzaqdan zondlama geniş şəkildə bir obyekt haqqında məlumatların uzaqdan əldə edilməsinə (yəni fiziki təmas olmadan) aiddir. Uzaqdan algılamanın akademik sahəsi, ümumiyyətlə, hava və ya peyk sensorlarından alınan elektromaqnit şüalanma ölçülərindən istifadə edərək Yer (və ya digər planet cisimləri) haqqında məlumat əldə etməyə yönəlmişdir. Bu ölçmələr ümumiyyətlə elektromaqnit spektrinin bir sıra fərqli hissələrində (məsələn, mavi, yaşıl, qırmızı və infraqırmızı) dalğalar kimi tanınan ölçüləri ehtiva edən böyük şəkillər şəklində əldə edilir. Bu şəkillər torpaq örtüyü, yüksəklik, məhsul sağlamlığı, hava keyfiyyəti, CO daxil olmaqla bir çox faydalı məlumat əldə etmək üçün işlənə bilər2 səthlər, qaya növü və daha çoxdur, bunlar geniş ərazilərdə asanlıqla eşlenebilir. Bu ölçmələr hazırda iqlim dəyişikliyi qiymətləndirmələrindən (IPCC, 2007) Darfurdakı kəndlərin dağılmasını izləmək (Marks və Loboda, 2013) və Amazon yağış meşələrinin meşələrin kəsilməsinə qədər hər şey üçün operativ olaraq geniş istifadə olunur (Kerr və Ostrovsky, 2003).

Şəkil 1: Yaxın İnfraqırmızı, Qırmızı və Yaşıl lentlərdən istifadə edərək yalan rəngli bir kompozit olaraq göstərilən İngiltərənin Southampton şəhərindəki Landsat 8 şəkli. Bitki örtüyü parlaq qırmızı, dağlıq və çılpaq torpaq bej / qəhvəyi, şəhər yerləri açıq mavi, su isə tünd mavi rəngdədir.

Ənənəvi fizika, hesablama, ətraf mühit elmləri və coğrafiya fənlərini aşan sahə, II Dünya Müharibəsi dövründə havadan fotoqrafiya işləri ilə inkişaf etmiş və kosmik əsrin ilk dövrlərində sürətlə genişlənmişdir. 1972-ci ildə ilk Landsat peykinin orbitə çıxarılması ilk dəfə olaraq Yerin əksəriyyətinin yüksək dəqiqlikli görüntülərini təmin etdi və eyni yerin hər 60 gündə bir 60 saniyədə təkrarlanan görüntülərini istehsal etdi. Bu vəziyyətdə, qətnamə detal səviyyəsinə istinad edir, yerdəki hər 60x60m sahə üçün ölçmələri ehtiva edən 60m çözünürlüklü bir şəkil. O vaxtdan bəri ultra-bənövşədən mikrodalğalıya qədər dalğa uzunluğunda 50 km-dən 40 sm-ə qədər olan ölçülərdə ölçmə aparan yüzlərlə başqa Yer Müşahidə peykləri buraxıldı. Ən son buraxılışlardan biri, 1972-ci ildən bəri əldə edilmiş oxşar sensorlardan alınan şəkillərin qırılmamış bir qeydinə daha çox məlumat verəcək Landsat 8-dir ki, indi 30 metrlik bir qətnamə ilə və daha yüksək keyfiyyətli sensorlarla. Landsat görüntü arxivinin hamısı indi hər kəs tərəfindən sərbəst şəkildə əldə edilə bilər - NASA və ESA kimi təşkilatların bir çox digər şəkilləri - tək bir Landsat görüntüsünün bir neçə min dollara başa gəldiyi günlərdən çox uzaqdır.

2. Proqramdan istifadə etməlisiniz

Uzaqdan algılanan məlumatların demək olar ki, həmişə rəqəmsal şəkillər kimi təqdim olunduğunu nəzərə alaraq, onları işləmək üçün proqramdan istifadə etmək vacibdir. 1960-cı və 1970-ci illərdə kompüterlərin məhdud saxlama və işləmə imkanları ilə bu çox vaxt çətin olurdu - həqiqətən, ABŞ-ın 1959-1972-ci illərdə idarə etdiyi Corona seriyası casus peyklərindən istifadə edilmiş fotoqrafiya filmi daha sonra ixtisaslaşmış bir şəkildə Dünyaya göndərildi. yenidən giriş vasitəsi 'və daha sonra standart tətil fotoşəkilləri kimi inkişaf etdirilib işləndi!

Bununla birlikdə, bütün mülki məsafədən zondlama proqramları öz məlumatlarını rəqəmsal görüntü şəklində Yerdəki yer stansiyalarına ötürdü, daha sonra həm peyk operatorları tərəfindən (bəzi həndəsi və radiometrik məlumatların düzəldilməsi üçün) həm də son istifadəçilər tərəfindən işlənmə tələb edildi. (görüntülərdən istədikləri təhlili aparmaq üçün).

Uzaqdan algılamanın ilk günlərində kompüterlərdə şəkilləri ekranda göstərmək imkanı yox idi və mövcud proqram çox məhdud idi (bax Şəkil 2a). Hal-hazırda uzaqdan araşdırma tədqiqatçıları dörd əsas kateqoriyaya bölünə bilən çox sayda xüsusi və açıq mənbəli proqramdan istifadə edirlər:

ENVI, Erdas IMAGINE, eCogniton, Opticks və Monteverdi kimi uzaktan məsafədən görüntü işləmə proqramı

ArcGIS, IDRISI, QGIS və GRASS kimi bəzi uzaqdan algılama işləmə təmin edən coğrafi Məlumat Sistemi proqramı

Spektral məlumatların işlənməsi üçün SAMS, metadata ilə spektral məlumatların saxlanması üçün SPECCHIO, peyk şəkillərinin simulyasiyası üçün DART (Gastellu-Etchegorry et al., 1996) və 6S daxil olmaqla bir çox ədədi model kimi digər uzaqdan algılama proqramı (Vermote et al., 1997), PROSPECT and SAIL (Jacquemoud, 1993).

Ədədi məlumat işləmə vasitələri, statistik paketlər və planlama paketləri daxil olmaqla ümumi elmi proqram.

Şəkil 2: 1970-ci illərin əvvəllərində (a) və 2013 (b) -də uzaqdan algılama görüntü işlənməsi. 1970-ci illərin görüntüsündə E. J. Milton tərəfindən doktorluq dissertasiyasının bir hissəsi olaraq hazırlanan Cənubi İtaliyanın Landsat obrazının bir dəzgah kartı və ‘ASCII-art’ çapı göstərilir. 2013 görüntüsü ENVI proqramının Windows PC-də Southampton'un Landsat 8 görüntüsünə baxdığını göstərir

Uzaqdan Algılama və Fotoqrammetriya Cəmiyyətinin İllik Tələbə Yığıncağında 2013-cü ildə araşdırmalarında proqram təminatından necə istifadə etdiklərini öyrənmək üçün təxminən qırx nəfər arasında sorğu keçirdim və bu, iştirakçılar tərəfindən müntəzəm olaraq istifadə olunan 19 fərdi cavab proqramı ilə bir siyahı hazırladı. mütəmadi olaraq ondan çox mütəxəssis vasitədən istifadə etmək.

Hansı proqramın istifadə ediləcəyi barədə qərarlar, ümumiyyətlə, universitet səviyyəsində kurslarda əldə edilmiş təcrübəyə əsaslanır. Məsələn, Southampton Universiteti lisenziya və magistr uzaqdan zondlama və CİS kurslarının əksəriyyətində əsas proqram olaraq ENVI və ArcGIS-dən istifadə edir və tələbələrin çoxu bu alətləri karyeralarının sonuna qədər əhəmiyyətli dərəcədə istifadə etməyə davam edəcəklər. Məhdud tədris vaxtı sayəsində bir çox kurslar yalnız bir və ya iki mütəxəssis proqram təminatını əhatə edir, beləliklə də tələbələr bu sahədəki müxtəlif vasitələrə məruz qalırlar. Şagirdlərin gələcəkdə istifadə etmələri lazım olan hər hansı bir proqrama öz biliklərini tətbiq etmələrinə imkan verəcək ümumi anlayışlardan daha çox bu aləti öyrənmə təhlükəsi var.

Adlı kursun tədrisində iştirak etmişəm Uzaqdan Algılamada Praktiki Bacarıqlar buna qarşı çıxmağa çalışan Southampton Universitetindəki Tətbiqi Uzaqdan Algılama və CİS magistrinin bir hissəsi olaraq, tələbələri uzaqdan zondlamada istifadə olunan geniş yayılmış xüsusi və açıq mənbəli, xüsusən də ENVI-dən çox mütəxəssis tapşırıqları yerinə yetirən proqram təminatını təqdim edərək və ArcGIS. Tələbə rəyləri bunun çox faydalı olduğunu göstərdi və çoxları dissertasiya layihələrində bir sıra proqram təminatından istifadə etməyə başladılar.

2.1 Açıq Mənbə Proqramı

Son on ildə GIS (ArcGIS-ə bənzər bir interfeysə sahib bir GIS ekranı və redaktə mühiti) və GRASS (emal üçün bir çox funksiyanı təmin edən bir geosessil sistemi) kimi alətlərdə sürətli inkişaflarla açıq mənbəli CİS proqramında böyük bir artım oldu. coğrafi məlumatlar və CBS vasitəsilə də əldə edilə bilər). Ramsey (2009) bu böyümənin başlanmasının ticarət satıcılarının onlayn xəritəçəkmə və coğrafi məkan məlumatlarının internetə çatdırılmasının böyüməsinə reaksiya göstərməsinin yavaşlığından qaynaqlandığını və bunun açıq mənbəli proqram təminatının doldurulması üçün bir yer yaratdığını iddia edir. Bu nişədə dayandıqdan sonra açıq mənbəli CİS proqramı daha geniş yayılmağa müvəffəq oldu, xüsusən də bir çox kiçik (və buna görə də daha çevik) şirkətlər ilk dəfə CBS texnologiyalarını qəbul etməyə başladılar.

Təəssüf ki, açıq mənbəli CİS proqramındakı sürətli inkişaflar məsafədən zondlama görüntü işləmə proqramında əks olunmayıb. Bir sıra açıq mənbəli CİS alətləri mütəxəssis məsafədən algılama funksiyasına malikdir (məsələn, GRASS-dakı i. * Əmrləri), lakin bütün alət uzaqdan algılanan görüntü işlənməsinə yönəlmədiyi üçün istifadə etmək ENVI kimi alətlərdən daha çətin ola bilər. . Açıq mənbəli uzaqdan zondlama görüntü işləmə vasitələri mövcuddur (məsələn, Opticks, OrfeoToolbox, OSSIM, ILWIS və InterImage), lakin kiçik açıq mənbəli proqram layihələri üçün ümumi problemlərdən əziyyət çəkirlər, xüsusən zəif sənədləşmə kompleksi və qeyri-adi interfeyslər və əhəmiyyətli düzəldilməmiş böcəklər.

Bunun əksinə olaraq, xüsusən fiziki modelləşdirmə üçün istifadə olunan bir sıra yaxşı açıq mənbə şəkillərə əsaslanmayan uzaqdan algılama vasitələri var (məsələn, 6S (Vermote et al., 1997), PROSPECT və SAIL (Jacquemoud, 1993)) , spektrlərin işlənməsi (SAMS və SPECCHIO (Bojinski et al., 2003 Hueni et al., 2009)) və proqramçılar üçün kitabxanalar (GDAL, Proj4J).

Açıq mənbəli alətlər tədricən sahə daxilində daha geniş tətbiq olunur, lakin bəzi tələbə və tədqiqatçılar arasında qapalı mənbəli proqram təminatı ilə müqayisədə müqayisəli istifadə çatışmazlığı tədrisdə məhdud istifadə ilə əlaqələndirilə bilər. Bununla birlikdə, Açıq Mənbə Coğrafi Laboratoriyalar (OSGL: www.osgeo.org) kimi təşkilatlar, müxtəlif səviyyələrdə açıq mənbəli CBS-yə əsaslanan tədris materiallarını birləşdirərək bu dəyişikliyə kömək edir və son zamanlarda giriş CBS tədrisi üçün Quantum GIS kimi vasitələr.

3. Uzaqdan zondlama üçün proqramlaşdırma

Uzaqdan algılama intizamı daxilində öz mütəxəssis işləmə proqramlarını yazan geniş bir elm adamları cəmiyyəti mövcuddur, sorğuda iştirak edən doktorantların 80% -i tədqiqatlarının bir hissəsi olaraq proqramlaşdırılmışdır. Bir çox disiplində tədqiqatçılar proqramın istifadəsinin və tədrisinin artırılması barədə mübahisələr edirlər, lakin uzaqdan zondlama zamanı proqramdan istifadə edib-etməyəcəyinə dair heç bir real seçim olmadığından, müzakirə zəmininə çevrilmiş proqramlaşdırmanın istifadəsi və tədrisidir.

Uzaqdan algılamada proqramlaşdırmanın bir çox digər fənlərlə müqayisədə əhəmiyyətli dərəcədə yüksək yayılmasının səbəbi, uzaqdan araşdırma tədqiqatlarının yeni metodların inkişaf etdirilməsini əhatə etməsidir. Bu yeni metodlardan bəziləri, sadəcə mövcud proqram təminatında mövcud olan funksiyaları birləşdirməklə həyata keçirilə bilər, lakin əhəmiyyətsiz metodların əksəriyyəti bundan daha çoxunu tələb edir. Tədqiqat mövcud metodlardan istifadə etsə də, bir çox tədqiqatda istifadə olunan böyük həcmli məlumatlar GUI əsaslı bir vasitə istifadə edərək işlənmə prosesini cəlbedici edir. Məsələn, uzaqdan algılamada bir çox tədqiqat ətraf mühitdəki dəyişikliyi (məsələn, meşələrin qırılması və ya hava çirklənməsinin artması) qiymətləndirmək üçün zaman seriyasından istifadə edir və gündəlik görüntülər indi müxtəlif sensorlar tərəfindən təmin edilərkən, bu tədqiqatlarda mütəmadi olaraq yüzlərlə görüntü istifadə edilə bilər. Bu şəkillərin hamısının əl ilə işlənməsi inanılmaz dərəcədə çox vaxt aparacaq və buna görə də bu prosesi avtomatlaşdırmaq üçün kod yazılır. Bəzi işləmə vasitələri ümumi işlərin avtomatlaşdırılmasına imkan verən ‘makro’ funksionallıq təmin edir, lakin bu, bütün alətlərdə mövcud deyil (məsələn, ENVI) və çox vaxt məhduddur. Bu yaxınlarda Hindistanda son on ildə gündəlik hava çirkliliyi səviyyələri bir verilənlər bazası yaratmaq üçün 7000-dən çox MODIS Aerosol Optik Qalınlıq görüntüsünün yüklənməsini, yenidən tərtib edilməsini, yenidən qurulmasını və alt qurulmasını avtomatlaşdırmaq üçün kod yazdım: bu məlumat dəstini yaratmaq əllə mümkün olmazdı!

Yuxarıdakı təsvir məsafədən zondlama tədqiqatında proqramlaşdırmanın iki əsas istifadəsini təklif edir:

Bu metodların hazırlanması və sınanmasının bir hissəsi olaraq yeni metodlar üçün kod yazma

Mövcud metodlardan istifadə edərək böyük həcmli məlumatların işlənməsini avtomatlaşdırmaq üçün skriptlərin yazılması

3.1 Proqramlaşdırma dilləri: IDL və Python'un böyüməsi

RSPSoc sorğu anketində iştirak edənlər Python, IDL, C, FORTRAN, R, Mathematica, Matlab, PHP və Visual Basic kimi müxtəlif dillərdən istifadə etdilər, lakin bunlardan ən çox yayılmışları Matlab, IDL və Python idi. Matlab, bir çox elm sahələrində tez-tez istifadə olunan ticari bir proqramlaşdırma dilidir, lakin IDL ümumiyyətlə daha az tanınır və bu dilin uzaqdan algılamada niyə bu qədər izləyiciyə sahib olduğunu düşünmək maraqlıdır.

IDL-nin populyarlığı, ENVI uzaqdan zondlama proqramının IDL-də tətbiq olunmasından qaynaqlanır və IDL Tətbiq Proqramlaşdırma İnterfeysi (API) vasitəsilə geniş funksionallığını ortaya qoyur. Bu, uzaqdan algılanan məlumatların işlənməsini avtomatlaşdırmaq üçün skriptlərin yazılması üçün IDL-nin əhəmiyyətli dərəcədə istifadəsinə gətirib çıxardı və IDL-nin Fortrana bənzərliyi (xüsusən də sıra yönümlü olması baxımından) bu sahədəki bir çoxunu yeni metodlar hazırlamaq üçün mənimsəməyə təşviq etdi. . İlk 1977-ci ildə inkişaf etdirilməsinə baxmayaraq, IDL indiki sahibi (Exelis Visual Information Solutions) tərəfindən hələ də fəal şəkildə inkişaf etdirilir və hələ də bir çox uzaqdan araşdırma tədqiqatçıları tərəfindən istifadə olunur və Southampton Universiteti də daxil olmaqla bir sıra İngiltərə universitetlərində magistr proqramlarının bir hissəsi kimi tədris olunur. .

Bununla birlikdə, IDL-nin uzaqdan algılamada ən çox istifadə edilən dillərdən biri kimi olma müddətinin bitdiyini hiss edirəm. Python kimi müasir dillərlə müqayisə edildikdə (aşağıya bax), IDL öyrənmək çətindir, yazmaq çox vaxt aparır və əlbəttə ki, satın almaq çox baha başa gəlir (baxmayaraq ki, GDL adlı açıq mənbəli bir versiya mövcuddur, lakin uyğun deyil ENVI API və beləliklə, uzaqdan zondlayan alimlərin IDL istifadə etməsinin əsas səbəblərindən birini inkar edir).

Python, öyrənilməsi asan bir sintaksisə sahib olan, tez-tez ‘yürütüle bilən psevdokod’ olaraq adlandırılan müasir bir şərh olunan proqramlaşdırma dilidir. Son on ildə geniş miqyaslı elmi tədqiqat sahələrində Python populyarlığında numpy ('ədədi python' (Walt et al., 2011)), scipy (') inkişafı ilə mümkün olan böyük bir artım olmuşdur. elmi piton '(Jones et al., 2001)) və matplotlib (' matlaba bənzər '' (Hunter, 2007)) kitabxanaları. Bunlar, Pythondakı massivlərə səmərəli giriş və işləmə imkanı verir, Matlab-a çox bənzər bir sintaksis istifadə edərək nəticələr qurma imkanı verir. Bu əsas kitabxanalara əlavə olaraq Python Paket İndeksində (http://pypi.python.org) iki mindən çox digər elmi kitabxana mövcuddur ki, bunların da bir qismi xüsusi olaraq uzaqdan algılamaya yönəldilmişdir.

Python-da uzaqdan algılama məlumatlarının işlənməsinə ümumi tapşırıqları yerinə yetirmək üçün yetkin kod kitabxanalarının inkişafı kömək etmişdir. Bunlara, əlbətdə ki, Python da daxil olmaqla, müxtəlif proqramlaşdırma dillərindən, demək olar ki, hər hansı bir uzaqdan algılayan şəkil formatını və ya vektor əsaslı CBS formatını yükləmək və saxlamaq üçün funksiyalar təmin edən Coğrafi Məlumat Abstraksiya Kitabxanası (GDAL) daxildir. Əslində, bir sıra əsas GDAL yardım proqramları indi birbaşa C ++ dilində deyil, GDAL Python interfeysi istifadə edilərək həyata keçirilir. GDAL kimi bir kitabxananın istifadəsi, məsafədən algılama işləmə kodu yazanlara böyük bir fayda verir, çünki istifadə etdikləri fərdi fayl formatlarının (istər GeoTIFF faylları, istər ENVI sənədləri olsun, istərsə də çox mürəkkəb Erdas) Təsəvvür edin format şəkillər) və bütün sənədləri eyni şəkildə müalicə edin, çox sadə bir API istifadə edərək, şəkillərin hissə-hissə kütlələrə asanlıqla yüklənməsinə və yığılmasına imkan verir.

Uzaqdan tədqiq edən tədqiqatçılar tərəfindən istifadə edilən digər bir vacib Python kitabxanası, əvvəlcə vektor məlumatlarını manipulyasiya etmək və işləmək üçün kitabxanalar (məsələn, Shapely) və proqnozlar və koordinat sistemlərinin kompleks riyaziyyatı və bunlar arasında xəritə istinadlarının çevrilməsi (məsələn, çoxlu sayda dil üçün API-ləri olan Proj4 kitabxanası). ENVI, işlək hissələrinin çoxunu bir IDL API ArcGIS, Quantum GIS, GRASS və bir çox digər vasitələrlə ifşa etdiyi kimi, Python API vasitəsilə də öz funksiyalarını ortaya qoyur. Beləliklə, Python, geniş bir çeşiddə alətlərdən bir əlaqəli işləmə iyerarxiyasına funksionallığı birləşdirmək üçün bir "yapışqan dili" kimi çox təsirli bir şəkildə istifadə edilə bilər.

Uzaqdan araşdırma aparan bir sıra tədqiqatçılar, məsafədən zondlama daxilində xüsusi alt sahələr üçün çox mütəxəssis kitabxanalar da buraxdılar. Buna nümunələr arasında Paul Lewis (Lewis et al., 2012) tərəfindən hazırlanmış Earth Observation Land Data Assimilation System (EOLDAS) və inkişaf etdirdiyim Py6S (Wilson, 2012) və PyProSAIL (Wilson, 2013) kitabxanaları var. a modern programmatic interface to two well-known models within the field: the 6S atmospheric radiative transfer model and the ProSAIL vegetation spectral reflectance model.

Releasing these libraries - along with other open-source remote sensing code - has benefited my career, as it has brought me into touch with a wide range of researchers who want to use my code, helped me to develop my technical writing skills and also led to the publication of a journal paper. More importantly than any of these though, developing the Py6S library has given me exactly the tool that I need to do my research. I don’t have to work around the features (and bugs!) of another tool - I can implement the functions I need, focused on the way I want to use them, and then use the tool to help me do science. Of course, Py6S and PyProSAIL themselves rely heavily on a number of other Python scientific libraries - some generic, some remote-sensing focused - which have been realised by other researchers.

The Py6S and PyProSAIL packages demonstrate another attractive use for Python: wrapping legacy code in a modern interface. This may not seem important to some researchers - but many people struggle to use and understand models written in old languages which cannot cope with many modern data input and output formats. Python has been used very successfully in a number of situations to wrap these legacy codes and provide a ‘new lease of life’ for tried-and-tested codes from the 1980s and 1990s.

3.2 Teaching programming in remote sensing

I came into the field of remote sensing having already worked as a programmer, so it was natural for me to use programming to solve many of the problems within the field. However, many students do not have this prior experience, so rely on courses within their undergraduate or MSc programmes to introduce them both to the benefits of programming within the field, and the technical knowledge they need to actually do it. In my experience teaching on these courses, the motivation is just as difficult as the technical teaching - students need to be shown why it is worth their while to learn a complex and scary new skill. Furthermore, students need to be taught how to program in an effective, reproducible manner, rather than just the technical details of syntax.

I believe that my ability to program has significantly benefited me as a remote-sensing researcher, and I am convinced that more students should be taught this essential skill. It is my view that programming must be taught far more broadly at university: just as students in disciplines from Anthropology to Zoology get taught statistics and mathematics in their undergraduate and masters-level courses, they should be taught programming too. This is particularly important in a subject such as remote sensing where programming can provide researchers with a huge boost in their effectiveness and efficiency. Unfortunately, where teaching is done, it is often similar to department-led statistics and mathematics courses: that is, not very good. Outsourcing these courses to the Computer Science department is not a good solution either - remote sensing students do not need a CS1-style computer science course, they need a course specifically focused on programming within remote sensing.

In terms of remote sensing teaching, I think it is essential that a programming course (preferably taught using a modern language like Python) is compulsory at MSc level, and available at an undergraduate level. Programming training and support should also be available to researchers at PhD, Post-Doc and Staff levels, ideally through some sort of drop-in ‘geocomputational expert’ service.

4. Reproducible research in remote sensing

Researchers working in ‘wet labs’ are taught to keep track of exactly what they have done at each step of their research, usually in the form of a lab notebook, thus allowing the research to be reproduced by others in the future. Unfortunately, this seems to be significantly less common when dealing with computational research - which includes most research in remote sensing. This has raised significant questions about the reproducibility of research carried out using ‘computational laboratories’, which leads to serious questions about the robustness of the science carried out by researchers in the field - as reproducibility is a key distinguishing factor of scientific research from quackery (Chalmers, 1999).

Reproducibility is where the automating of processing through programming really shows its importance: it is very hard to document exactly what you did using a GUI tool, but an automated script for doing the same processing can be self-documenting. Similarly, a page of equations describing a new method can leave a lot of important questions unanswered (what happens at the boundaries of the image? how exactly are the statistics calculated?) which will be answered by the code which implements the method.

A number of papers in remote sensing have shown issues with reproducibility. For example, Saleska et al. (2007) published a Elm paper stating that the Amazon forest increased in photosynthetic activity during a widespread drought in 2005, and thus suggested that concerns about the response of the Amazon to climate change were overstated. However, after struggling to reproduce this result for a number of years, Samanta et al. (2010) eventually published a paper showing that the exact opposite was true, and that the spurious results were caused by incorrect cloud and aerosol screening in the satellite data used in the original study. If the original paper had provided fully reproducible details on their processing chain - or even better, code to run the entire process - then this error would likely have been caught much earlier, hopefully during the review process.

I have personally encountered problems reproducing other research published in the remote sensing literature - including the SYNTAM method for retrieving Aerosol Optical Depth from MODIS images (Tang et al., 2005), due to the limited details given in the paper, and the lack of available code, which has led to significant wasted time. I should point out, however, that some papers in the field deal with reproducibility very well. Irish et al. (2000) provide all of the details required to fully implement their revised version of the Landsat Automatic Cloud-cover Assessment Algorithm (ACCA), mainly through a series of detailed flowcharts in their paper. The release of their code would have saved me re-implementing it, but at least all of the details were given.

5. Issues and possible solutions

The description of the use of software in remote sensing above has raised a number of issues, which are summarised here:

There is a lack of open-source remote-sensing software comparable to packages such as ENVI or Erdas Imagine. Although there are some tools which fulfil part of this need, they need an acceleration in development in a similar manner to Quantum GIS to bring them to a level where researchers will truly engage. There is also a serious need for an open-source tool for Object-based Image Analysis, as the most-used commercial tool for this (eCognition) is so expensive that it is completely unaffordable for many institutions.

There is a lack of high-quality education in programming skills for remote-sensing students at undergraduate, masters and PhD levels.

Many remote sensing problems are conceptually easy to parallelise (if the operation on each pixel is independent then the entire process can be parallelised very easily), but there are few tools available to allow serial code to be easily parallelised by researchers who are not experienced in high performance computing.

Much of the research in the remote sensing literature is not reproducible. This is a particular problem when the research is developing new methods or algorithms which others will need to build upon. The development of reproducible research practices in other disciplines has not been mirrored in remote sensing, as yet.

Problems 2 & 4 can be solved by improving the education and training of researchers - particularly students - and problems 1 & 3 can be solved by the development of new open-source tools, preferably with the involvement of active remote sensing researchers. All of these solutions, however, rely on programming being taken seriously as a scientific activity within the field, as stated by the Science Code Manifesto (http://sciencecodemanifesto.org).

The first piece of advice I would give any budding remote sensing researcher is learn to program! It isn’t that hard - honestly! - and the ability to express your methods and processes in code will significantly boost your productivity, and therefore your career.

Once you’ve learnt to program, I would have a few more pieces of advice for you:

Script and code things as much as possible, rather than using GUI tools. Graphical User Interfaces are wonderful for exploring data - but by the time you click all of the buttons to do some manual processing for the 20th time (after you’ve got it wrong, lost the data, or just need to run it on another image) you’ll wish you’d coded it.

Don’t re-invent the wheel. If you want to do an unsupervised classification then use a standard algorithm (such as ISODATA or K-means) implemented through a robust and well-tested library (like the ENVI API, or scikit-learn) - there is no point wasting your time implementing an algorithm that other people have already written for you!

Try and get into the habit of documenting your code well - even if you think you’ll be the only person who looks at it, you’ll be surprised what you can forget in six months!

Don’t be afraid to release your code - people won’t laugh at your coding style, they’ll just be thankful that you released anything at all! Try and get into the habit of making research that you publish fully reproducible, and then sharing the code (and the data if you can) that you used to produce the outputs in the paper.

Bojinski, S., Schaepman, M., Schläpfer, D., Itten, K., 2003. SPECCHIO: a spectrum database for remote sensing applications. Hesablama. Geosci. 29, 27–38.

Chalmers, A.F., 1999. What is this thing called science? Univ. of Queensland Press.

Gastellu-Etchegorry, J.P., Demarez, V., Pinel, V., Zagolski, F., 1996. Modeling radiative transfer in heterogeneous 3-D vegetation canopies. Remote Sens. Environ. 58, 131–156. doi:10.1016/0034-4257(95)00253-7

Hueni, A., Nieke, J., Schopfer, J., Kneubühler, M., Itten, K.I., 2009. The spectral database SPECCHIO for improved long-term usability and data sharing. Hesablama. Geosci. 35, 557–565.

Hunter, J.D., 2007. Matplotlib: A 2D Graphics Environment. Hesablama. Elm. Eng. 9, 90–95. doi:10.1109/MCSE.2007.55

IPCC, 2007. Climate change 2007: The physical science basis 6, 07.

Irish, R.R., 2000. Landsat 7 automatic cloud cover assessment, in: AeroSense 2000. International Society for Optics and Photonics, pp. 348–355.

Jacquemoud, S., 1993. Inversion of the PROSPECT+ SAIL canopy reflectance model from AVIRIS equivalent spectra: theoretical study. Remote Sens. Environ. 44, 281–292.

Jones, E., Oliphant, T., Peterson, P., others, 2001. SciPy: Open source scientific tools for Python.

Kerr, J.T., Ostrovsky, M., 2003. From space to species: ecological applications for remote sensing. Trends Ecol. Evol. 18, 299–305. doi:10.1016/S0169-5347(03)00071-5

Lewis, P., Gómez-Dans, J., Kaminski, T., Settle, J., Quaife, T., Gobron, N., Styles, J., Berger, M., 2012. An Earth Observation Land Data Assimilation System (EO-LDAS). Remote Sens. Environ. 120, 219–235. doi:10.1016/j.rse.2011.12.027

Marx, A.J., Loboda, T.V., 2013. Landsat-based early warning system to detect the destruction of villages in Darfur, Sudan. Remote Sens. Environ. 136, 126–134. doi:10.1016/j.rse.2013.05.006

Ramsey, P., 2009. Geospatial: An Open Source Microcosm. Open Source Bus. Resour.


Videoya baxın: Огород без хлопот Высаживаем картофель глазками в 1. (Oktyabr 2021).