Daha çox

Con funksiyası dövrü siyahıdakı bütün əlli raster üçün hesablanmır


Bunu saatlarla sınayıram və bunun asan olmalı olduğunu bilirəm, amma hələ işləyə bilmərəm. NoData'yı "0" dəyərinə dəyişdirməyim lazım olan 50 rasterin siyahısı var. Düzgün arcpy funksiyasına sahibəm, amma hələlik dövrəni işə sala bilmirəm (yeni başlayıram) İndiyə qədər nə var "

env.workspace = "Mənim raster qovluğum" rasterList = arcpy.ListRasters ("*. img") print rasterList #works OutDir = "Çıxış raster qovluğum" + raster [0: 7] + ".img" # Budur mənim döngüm rasterList-də raster üçün işləməyəcəkdir: OutRaster = Con (IsNull (raster), 0, raster) outCon.save (OutDir) # bu, Listedəki 50 rastrdan yalnız bir raster istehsal edir.

Bütün 50 raster üçün eyni təkrarlamanı etməliyəm və hər bir təkrarlamada Con funksiyasına daxil olan hər iki rasterin hər bir işləmənin eyni olduğundan əmin olmalıyam, bu belədir:

Con (IsNull (raster1), 0, raster1) Con (IsNull (raster2), 0, raster2) Con (IsNull (raster50), 0, raster50)

Kimsə mənə kömək edə bilər?


@FelixIP qeyd olunduğu kimi - çıxış rasterinin adını döngənin içərisinə daşımaq (istəsəniz, qovşağın xaricindəki qovluğu təyin edə, sonra çıxış raster adını əlavə edə bilərsiniz) - adını da dəyişdirməlisiniz Çıxış dəyişəninin Con ifadəsi ilə yaradılan dəyişənlə uyğunlaşması və hər bir rasteri saxlamaq üçün döngə daxilində saxlaması - buna bənzər bir şey (tamamilə yoxlanılmamış) ...

os.path.join istifadə etmək üçün import os #import… rasterList-də raster üçün OutDir = "Mənim çıxış raster qovluğum": OutRaster = Con (IsNull (arcpy.Raster (raster)), 0, arcpy.Raster (raster)) OutRaster.save (os.path.join (OutDir, raster [0: 7] + ".img"))

Yardım üçün təşəkkür edirik !!! İndi işləyir, sadəcə arcpy.raster, os.path.join istifadə etməli və döngənin içərisindəki çıxışı hərəkət etdirməliydim. İşləyən kod:

import os env.workspace = "Rasterslə işləyən qovluğum" OutDir = "Çıxış qovluğum" rasterList = arcpy.ListRasters ("*. img") rasterList-də raster üçün çap rasterList: OutRaster = Con (IsNull (arcpy.Raster (raster)) ), 0, arcpy.Raster (raster)) OutRaster.save (os.path.join (OutDir, raster [0: -4] + ".img")) print "50 rasters with done!"

OutRas = ExtractByMask (InRas1, InRas2)

Maska ilə Çıxar alətinin istifadəsinin nəticəsi, Maska mühitinin qurulmasına bənzəyir, yalnız giriş maskası dərhal anında istifadə olunur, ətraf mühitdə qurulmuş bir maska ​​dəyişdirilənə və ya söndürülənə qədər bütün alətlərə tətbiq olunur. .

Multibandlı bir raster giriş olaraq göstərildikdə, yeni multibandlı bir raster çıxış olaraq yaradılacaqdır. Giriş multiband rasterdəki hər bir fərdi zolaq müvafiq olaraq analiz ediləcəkdir.

Varsayılan çıxış formatı bir yer verilənlər bazası rasteridir. Bir Çıxış formatı olaraq bir Esri Grid yığını təyin edilərsə, adın bir rəqəmlə başlaya, boşluq istifadə edə bilməyəcəyini və ya doqquz simvoldan çox ola bilməyəcəyini unutmayın.

Giriş, üçdən çox zolaqlı bir çox lentli rasterdən yaradılan bir təbəqədirsə, çıxarma əməliyyatı yalnız qat tərəfindən yüklənmiş (simvollaşdırılan) lentləri nəzərdən keçirəcəkdir. Nəticədə, çıxışı çox lentli raster, giriş qatının göstərilməsində istifadə olunanlara uyğun olaraq yalnız üç zolağa sahib ola bilər.

Giriş maskası rasterdirsə, NoData daxilolma hüceyrəsi yerləri üçün dəyərlər çıxış rasterinə kopyalanır. Maska rasterini yarada bilən vasitələrə Con, Test və hasilat alətlər dəstindəki digər alətlər daxildir.

Girişli raster maskası üçün bir çox lentli raster təyin edildikdə, əməliyyatda yalnız ilk zolaqdan istifadə ediləcəkdir.

Giriş rasteri tam olarsa, çıxış rasteri tam olar. Giriş üzən nöqtədirsə, çıxış üzən nöqtə olacaqdır.

Bu alət üçün tətbiq olunan geosessil mühitləri haqqında əlavə məlumat üçün Analiz mühitlərinə və Məkan Analistinə baxın.


Sertifikatlı İdarəetmə Sistemləri Teknisyeni & # 174 (CCST & # 174) Səviyyə 1 Baxış Kursu (TS00M) Onlayn

Kurs standart ölçmə və nəzarət cihazlarının quraşdırılması və saxlanılması üçün lazımi bilikləri və praktiki bacarıqları nəzərdən keçirmək üçün öz-özünə hərəkət edən modullardan istifadə edir. ISA Sertifikatlı İdarəetmə Sistemləri Teknisyeni ve reg (CCST & reg) Səviyyə I imtahanına hazırlaşan praktik texniklər üçün nəzərdə tutulmuşdur. Təcrübə sertifikatlaşdırma tipli imtahanlar və imtahan müddətinin izahı verilir.

Sən bacaracaqsan:

  • Ölçmə və nəzarət aləti funksiyalarını izah edən prinsip və nəzəriyyəyə istinad edin
  • Ölçmə və idarəetmə cihazlarının funksiyasını düzgün şəkildə qorumaq üçün lazım olan prosedurları təsvir edin
  • Döngə yoxlanılması üçün prosedurları və təhlükəsizlik tələblərini və məqsədini müəyyənləşdirin
  • Ölçmə və nəzarət alətləri və sistemlərinin kalibrlənməsi və nasazlıqların tapılması ilə əlaqəli hesablamaları və digər məlumatların analizini aparın
  • Yeni və ya mövcud bir prosesi etibarlı şəkildə işə salmaq və dayandırmaq üçün lazım olan prosedurları təsvir edin
  • Mövcud CCST iş tapşırığı təhlilində göstərildiyi kimi proses nəzarət texniklərinin normal tapşırıqlarını nəzərdən keçirin.
  • CCST olmaq üçün təhsil, təcrübə və imtahan tələblərini müəyyənləşdirin
  • Tətbiq olunan CCST üçün vacib bilik və bacarıq tələblərini müəyyənləşdirin
  • CCST Səviyyə I imtahanında iştirak edən prosedurları təsvir edin
  • Xüsusi bilik sahələrində əlavə təhsil və ya təlim üçün hər hansı bir ehtiyacı müəyyənləşdirin
  • Hər günün sonunda süni CCST Səviyyə I Təcrübə İmtahanını tamamlayın

Siz əhatə edəcəksiniz:

  • Proses Nəzarəti anlayışları
  • Kalibrləmə: Baxım | Təmir | Giderme
  • Boru və Cihaz Diaqramı (P & ampID) Əsasları
  • Layihənin Başlanması, İstifadəyə Verilməsi, Döngünün Yoxlanması, Layihə Təşkilatı, Planlaşdırma
  • Döngə performansının qiymətləndirilməsi
  • P & ampIDs və ISA Standartları
  • Sənədlər
  • Quraşdırma Təcrübələri
  • Təhlükəli ərazi təsnifatı
  • Daxili Təhlükəsizlik
  • Məntiqi təhlil
  • Ümumi problemlər
  • Döngə diaqramlarının növləri və istifadəsi
  • Ağıllı Cihazlar və Rəqəmsal Nəzarətçilərin əsasları
  • Ağıllı ötürücülərin hesablanması və konfiqurasiyası
  • Proses Dəyişənləri: Təzyiq | Səviyyə | Axın | İstilik | Analitik
  • Son Nəzarət Elementləri
  • Vahid çevrilmə hesablamaları
  • Kalibrləmə sənədləri və təhlili

Kurs materialları:

13 tələb modulu
ISA mətni daxildir: CCST & reg Tədris Kılavuzu Səviyyə I


3. Güc mənbəyi

Siqnalın meydana gəlməsi üçün su sistemi bənzətməsində su təzyiqi mənbəyi olması lazım olduğu kimi bir güc mənbəyi də olmalıdır. Yadda saxlayın ki, enerji təchizatı bir DC cərəyan çıxarmalıdır (yəni cərəyan yalnız bir istiqamətdə axır).

Xüsusi qurulmadan asılı olaraq 4-20 mA cərəyan dövrələri (9, 12, 24 və s.) İlə istifadə olunan bir çox ümumi gərginlik var. Xüsusi quraşdırma üçün hansı enerji təchizatı gərginliyindən istifadə ediləcəyinə qərar verərkən, enerji təchizatı gərginliyinin əlavə edilmiş hissələrin (ötürücü, qəbuledici və hətta tel) ümumi gərginlik düşməsindən ən azı 10% daha çox olmasını nəzərə aldığınızdan əmin olun. Yanlış enerji mənbələrinin istifadəsi, cihazın sıradan çıxmasına səbəb ola bilər.


2 Cavablar 2

$ X $ nöqtəsindəki regresiya xəttinin standart xətası (yəni $ s _ < widehat_> $) tərəfdən hesablanır (Yox!) istifadə:

smeta standart hatası (yəni $ s_$) tərəfdən hesablanır (İkiqat həll!) istifadə:

The etibar qrupu haqqında regresiya xətti sonra $ genişlik olaraq əldə edilir pm t _ < nu = n-2, alfa / 2> s _ < geniş>$ .

Unutmayın ki etibar qrupu regresiya xətti haqqında deyil ilə eyni heyvan proqnoz qrupu regresiya xətti haqqında (reqressiya xəttinin qiymətləndirilməsindən daha çox $ X $ dəyərinin verildiyi $ Y $ -ın proqnozlaşdırılmasında daha çox qeyri-müəyyənlik var). Anlamaqda çətinlik çəkdiyiniz kimi, tutma və yamacla əlaqəli inam aralıkları başqa miqdardır.

Bundan əlavə, güvən aralıqlarını başa düşmürsən: & quot; Mənim qiymətləndirmələrimin% 95-i etibar aralığındadırsa, bunlar mümkün bir nəticə kimi görünür? & Quot; Güvən aralıkları 'təxminlərin 95% -ni ehtiva etmir' hər bir ayrı nümunə üçün (eyni iş dizaynı ilə istehsal edilmişdir), 95% of (hər bir nümunə üçün ayrı-ayrılıqda hesablanır)% 95 etibarlılıq aralığında $ widehat < beta> $ və $ widehat < alpha> olan "həqiqi populyasiya parametri" (yəni həqiqi meyl, həqiqi kəsmə və s.) olacaqdır. $ qiymətləndirir.

Yaxşı sual. Bu anlayışları anlamaq vacibdir və onlar düz deyillər.

Reqressiya xətti ətrafında gördüyünüz% 95 etibarlılıq zolaqları, $ bar y $ üçün həqiqi dəyərin hər bir fərdi x üçün bu aralığa düşdüyü 95% etibarlılıq intervalı ilə yaranır. Buna görə şaquli bir dilim götürün, x = 50-də deyin. Reqressiya bizə x = 50-də $ bar y $ -ın təxminən 25 olduğunu söyləyir. Etibar intervalının hesablanması bizə $ həqiqi dəyərdən 95% əmin olduğumuzu söyləyir. bar y $ həmin nöqtədə qrafikin boz sahəsi daxilindədir (yuxarıdakı qrafik üçün təxminən 15 və 35).

Bütün güvən aralıqlarını birləşdirdiyimiz zaman, mümkün olan hər x üçün, bizə nəticədə gördüyünüz boz lentləri verir.

Bunun funksional olaraq mənası budur ki, həqiqi regresiya xəttinin həmin boz zonada bir yerdə yerləşdiyinə 95% əminik.

Güvən zolaqları hər bir nöqtə üçün% 95 etibarlılıq intervalı istifadə edilərək hesablandığı üçün, kəsmə üçün 95% CI ilə çox yaxından əlaqəlidir. Əslində, x = 0 olduqda boz zonanın kənarları kəsilmə üçün 95% CI ilə tam üst-üstə düşəcəkdir, çünki etibar zolaqlarını belə yaratdıq. Buna görə yuxarıda əlavə etdiyiniz xətlər boz lentin kənarını sola vurdu.

Bununla birlikdə yamac bir az fərqlidir. Yuxarıda gördüyünüz kimi hüdudlara kömək edir, ancaq yamac və kəsmə xətti bir regresiyada ayrılmaz. Beləliklə, həqiqətən "kəsmə ən az CI aralığında olsaydı və yamac da minimum olsaydı nə olacaq?" Bu xətt bir çox x üçün 95% CI-lərimizin xaricində olan nöqtələr yaradır. Bu o deməkdir ki, gerçək geriləmə xəttimiz olmadığına görə% 95 əmindik.

İkinci sualınıza cavab vermək üçün, nümunəmizin ortasındakı x dəyərləri üçün reqressiya hesablamaları daha dəqiqdir. Əslində ən dar 95% CI $ bar x $ səviyyəsində görünəcəkdir. Çünki Alexisin cavabındakı düsturda gördüyünüz kimi, $ s _ << hat y> _x> $, $ (x - bar x) $ kəsrin sayında olur. $ X = bar x $ olduqda bu dəyər sıfır olduğu üçün standart səhv daha kiçik olur.


Funksiyalar

Aşağıda fayl geodatabases, shapefiles, örtüklər və digər fayl əsaslı məlumat mənbələri tərəfindən dəstəklənən funksiyaların tam siyahısı verilmişdir. Fərdi və ArcSDE geodatabases tərəfindən də dəstəklənir, baxmayaraq ki, bu məlumat mənbələri fərqli sintaksis və ya funksiya adı tələb edə bilər. Aşağıdakı funksiyalara əlavə olaraq şəxsi və ArcSDE geodatabazaları əlavə imkanları dəstəkləyir. Ətraflı məlumat üçün DBMS sənədlərinizə baxın.

Tarix funksiyaları

ÇIXARIŞ(çıxarış_sahəsi) GERİ çıxarış_qaynağı)

Qaytarır çıxarış_ sahəsi hissəsi çıxarış_qaynağı. The çıxarış_qaynağı mübahisə tarix vaxtı ifadəsidir. The çıxarış_ sahəsi mübahisə aşağıdakı açar sözlərdən biri ola bilər: İL, AY, GÜN, SAAT, DƏQİQƏ və ya İKİNCİ.

Simli funksiyalar

Mübahisələrstring_exp bir sütunun adı, bir simvol sətri və ya başqa bir skaler funksiyanın nəticəsi ola bilər, burada əsas məlumat növü bir simvol növü kimi təmsil edilə bilər.

Mübahisələrxarakter_eksp dəyişən uzunluqlu simli simlərdir.

Mübahisələrbaşlamaq və ya uzunluq ədədi-hərfi və ya əsas məlumat növünün ədədi tip kimi təmsil oluna biləcəyi başqa bir skaler funksiyanın nəticəsi ola bilər.

Bu simli funksiyalar 1 əsaslıdır, yəni simldəki ilk simvol 1 xarakterdir.

CHAR_LENGTH(string_exp)

Simli ifadənin simvollarındakı uzunluğu qaytarır.

İçərisinə bərabər bir sətir qaytarır string_exp, bütün böyük simvollar kiçik hərflərə çevrilmişdir.

MÖVQƏ(xarakter_eksp IN xarakter_eksp)

Birinci simvol ifadəsinin ikinci simvol ifadəsindəki vəziyyətini qaytarır. Nəticə, tətbiqetmə ilə müəyyən edilmiş dəqiqlik və sıfır miqyaslı dəqiq bir rəqəmdir.

ALTINA(string_exp GERİ başlamaq ÜÇÜN uzunluq)

Alınan bir simvol sətrini qaytarır string_exp, tərəfindən göstərilən karakter mövqeyindən başlayaraq başlamaq üçün uzunluq simvol.

TRIM(İKİ | LİDERLİK | İZLƏMƏ trim_character GERİ string_exp)

Qaytarır string_exp ilə trim_character ipin aparıcı, arxa və ya hər iki ucundan çıxarılır.

İçərisinə bərabər bir sətir qaytarır string_exp, bütün kiçik simvollar böyük hərflərə çevrilmişdir.

Ədədi funksiyalar

Bütün ədədi funksiyalar ədədi bir dəyər qaytarır.

Mübahisələr ədədi_sek, float_exp, və ya tamsayı_eksp bir sütunun adı, başqa bir skaler funksiyanın nəticəsi və ya əsas məlumat növünün ədədi tip kimi göstərilə biləcəyi ədədi-ədədi ola bilər.

-İn mütləq dəyərini qaytarır ədədi_sek.

Arkosinini qaytarır float_exp radianlarla ifadə olunan bir açı kimi.

Arxini qaytarır float_exp radianlarla ifadə olunan bir açı kimi.

Arktangensini qaytarır float_exp radianlarla ifadə olunan bir açı kimi.

Böyük və ya bərabər olan ən kiçik tam ədədi qaytarır ədədi_sek.

Kosinüsünü qaytarır float_exp, harada float_exp radianla ifadə olunan bir açıdır.

Ən kiçik və ya bərabər olan ən böyük ədədi qaytarır ədədi_sek.

-In təbii loqaritmasını qaytarır float_exp.

10-un əsasını qaytarır float_exp.

MOD(integer_exp1, integer_exp2)

Qalanını qaytarır tamsayı_eksp1 bölünür tamsayı_eksp2.

GÜC(ədədi_eksp, tamsayı_eksp)

Dəyərini qaytarır ədədi_sek gücünə tamsayı_eksp.

DÖVR(ədədi_sek, tamsayı_eksp)

Qayıdır ədədi_sek yuvarlaqlaşdırıldı tamsayı_eksp ondalık nöqtənin sağında yer alır. Əgər tamsayı_eksp mənfi, ədədi_sek yuvarlaqlaşdırılıb |tamsayı_eksp| ondalık nöqtənin solundakı yerlər.

İşarəsinin göstəricisini qaytarır ədədi_sek. Əgər ədədi_sek sıfırdan azdır, -1 qaytarılır. Əgər ədədi_sek sıfıra bərabərdir, 0 qaytarılır. Əgər ədədi_sek sıfırdan böyükdür, 1 qaytarılır.

Sinusunu qaytarır float_exp, harada float_exp radianla ifadə olunan bir açıdır.

-In toxunuşunu qaytarır float_exp, harada float_exp radianla ifadə olunan bir açıdır.

QARŞI(ədədi_sek, tamsayı_eksp)

Qayıdır ədədi_sek kəsilmişdir tamsayı_eksp ondalık nöqtənin sağında yer alır. Əgər tamsayı_eksp mənfi, ədədi_sek | ilə kəsilirtamsayı_eksp| ondalık nöqtənin solundakı yerlər.

CAST funksiyası

CAST funksiyası bir dəyəri müəyyən bir məlumat tipinə çevirir. Sintaksis belədir:

CAST(exp AS məlumat növü)

Mübahisə exp bir sütunun adı, başqa bir skaler funksiyanın nəticəsi və ya hərfi ola bilər. Məlumat növü yuxarı və ya kiçik hərflərlə göstərilə bilən aşağıdakı açar sözlərdən hər hansı biri ola bilər: CHAR, VARCHAR, INTEGER, SMALLINT, REAL, DOUBLE, DATE, TIME, DATETIME, NUMERIC, or Decimal.


İkili olaraq ardıcıl 1 & # 39 sayını hesablamaq

10 əsas ədədi verilmişdir, n, ikili (baza-2) çevirin. Sonra ardıcıl 1-in maksimum sayını göstərən baza-10 ədədi tapın və çap edin nikili nümayəndəlik.

Bu sual artıq cavablandırıldı, ancaq Ruby-də idi və konsepsiyanı tam başa düşə bilmədim, kodlamağa yeni başlayıram. Bu kod parçasını yaxşılaşdırmağım üçün nə təklif edə bilərsiniz? Hesab edirəm ki, gördüyü işi nəzərə alaraq kifayət qədər uzun müddətdir və ya bu səmərəli həlldir?

Hesab edirəm ki, gördüyü işi nəzərə alaraq çox uzun müddətdir

Sizin instinktiniz haqlıdır - kifayət qədər uzundur. Xüsusilə də daha az kod sətri ilə həyata keçirilə bilər Piton. @RomanPerekhrest-in bir həlli onu çox yaxşı vurğulayır.

bu səmərəli həlldir?

Zamanın mürəkkəbliyindən bəri səmərəli bir həll yolu deyil. O (n 2), burada n - sayınızdakı ikili rəqəmlərin sayı. Niyə? Çünki xarici döngənizdə daxili dövrənizdəki nəticələrdən asılı olmayaraq hər rəqəmi bir-bir emal edirsiniz. Beləliklə, daxili döngəniz bir hissə taparsa, ì və bu seqmentdən sonra bir az mövqeyə keçirməyin. Bunun əvəzinə, bu seqmentdən ikinci bir bit seçirsiniz və eyni seqmenti birinci bit olmadan yenidən tapırsınız.

Məsələn, deyək ki, ikili nümayəndəliyin 111110 olduğu bir sayımız var. Sonra alqoritminiz aşağıdakı seqmentləri tapacaq:

Optimal bir həll O (n) zaman mürəkkəbliyinə malikdir. Yuxarıdakı izahat əsasında kodunuzu yeniləməyi sizin ixtiyarınıza qoyacağam.

Hər cavabda bunların ən uzun hissəsini hesablamaq üçün bin () istifadə etdiyini gördüm. Bununla birlikdə, bu yanaşmanın əlavə bir O (n) kosmik mürəkkəbliyi olduğundan (əvvəlki paraqrafdan xatırladığınız kimi, n - ikili rəqəmlərin sayı) həqiqətən ehtiyac yoxdur.

Eyni nəticəni əldə etmək üçün yalnız bitwise operatorlardan istifadə edə bilərik. Məsələn, 1100011101 nömrəsi olduğunu deyək. Birinin 3 ayrı seqmenti var: İndi bir az oynayaq - x-nin sola dəyişmiş versiyasını hesablayacağıq, sonra isə bit və yerinə yetiririk. Sonra, sürüşdürülmüş versiya üçün onun sola dəyişmiş sayını və s. Hesablayacağıq.

Beləliklə, gördüyünüz kimi 0-a çatmaq üçün 3 addım atdıq. Lakin 3 eyni zamanda ən uzun seqmentin uzunluğudur. Və bu bir təsadüf deyil, çünki bir ədədin VƏ VƏ onun dəyişmiş versiyası hər hissəsini 1 azaldır. Beləliklə, ən uzun seqment birinin ən uzun seqmentinin> addımından sonra hamısını itirəcəkdir.


R-də raster məlumatlarını xəritəyə daxil edin və təhlil edin

R-də məkan təhlili funksionallığının miqdarı R-nin ilk buraxılışından bəri dramatik şəkildə artmışdır. Məsələn, əvvəlki bir yazıda, məkanla əlaqəli paket sayının ilk R-dən sonra 131-ə qədər artdığını göstərmişdik. Bu, əlbəttə ki, məkanla əlaqəli iş axınınızın R-dən ayrılmadan getdikcə daha çox olması deməkdir.

Bu yazıda, raster paketinə diqqət yetirərək R-də raster məlumatları ilə işləmək üçün bəzi sadə (və o qədər də sadə olmayan) nümunələr göstəririk. Bu yazı dplyr, magrittr, tidyr və ggplot2 paketləri ilə & # 8220new & # 8221 R iş axınından da geniş istifadə edir.

1. Kitabxanaları yükləyin

Əsas kitabxanaları yükləyəcəyik. Məlumatların işlənməsi üçün istifadə etdiyimiz dplyr və tidyr ilə tanış deyilsinizsə, mövzu ilə bağlı əvvəlki yazımıza baxa bilərsiniz. Tidyr yüklədiyinizə əmin olun əvvəl raster, əks halda raster kitabxanasından çıxarış vasitəsi maskalanacaqdır.

2. Nümunə məlumatları yükləyin

QGIS, veb saytlarında faydalı bir seçim nümunəsi var. Verilər iki raster məlumat dəsti ilə yanaşı birdən çox vektor məlumat dəstini də əhatə edir. Diqqətlə, sıxılmış sənədin ölçüsü təxminən 21 Mbs-dir. Nümunəmizdə, məlumatları sərt kodladığımız müvəqqəti bir qovluğa qoyuruq. Alternativ olaraq bunu tempdir funksiyası ilə edə bilərsiniz.

3. Raster məlumatlarını oxuyun və yenidən təsnif edin

Tez-tez bir bölgəyə görə (siyahıyaalma bölgələri kimi) müxtəlif növ torpaq örtüklərinin sahələrini (rastrdan) cədvəlləşdirməliyik. Bunu raster paketi ilə necə edəcəyinizi göstərəcəyik və sonra nəticələri ESRI & # 39s Tabulate Area aracı ilə müqayisə edəcəyik. Bu nümunədə QGIS nümunə məlumatları ilə birlikdə gətirilən AVHRR Qlobal Torpaq Örtüyü Təsnifatı görüntüsünü istifadə edirik və QGIS-dən bölgələr şəklini hazırlayırıq. Torpaq örtüyü rasteri bir az köhnədir və nümayiş üçün yaxşıdır, hazırkı torpaq örtüyü ilə maraqlansanız o qədər də yaxşı deyil. Yazmağa qənaət etmək üçün kodda torpaq örtüyü & # 8220land use & # 8221 deyirik.

14 mümkün torpaq örtüyü kateqoriyası mövcuddur, lakin bu nümunədə sadəlik üçün məlumatlarımı su (raster dəyəri 0), təxminən yaşıl sahələr (1-8, 10,11), kolluqlar (9) və şəhər (ilə) məhdudlaşdıracağam. 13). Bu, çox kobud bir kateqoriyadır, dəyişiklik etmək istəyirsinizsə, buradakı kateqoriyalara nəzər yetirə bilərsiniz (bu məlumatlar 1KM qətnamədir). Yenidən təsnifetmə funksiyasından istifadə edərək, birinci sinif & ldquoto & rdquo, ikincisi isə & ldquobecomes & rdquo olan iki sütundan ibarət bir matris ilə yenidən sinifləşdirmə etmək. Su, yaşıl, kol və şəhərləri sırasıyla 0, 1, 9, 13 olaraq etiketləyirəm və daha sonra yenidən təsnif edilmiş rasterin xəritəsini qururam.

Bu, işləmək üçün yalnız dörd kateqoriyadan xeyli dərəcədə sadədir.

4. Bölgə məlumatlarını oxuyun və xəritəyə daxil edin

Raster funksiyasından istifadə edərək raster məlumatlarını götürdük və indi rgdal paketindən readOGR istifadə edərək çoxbucaqlı məlumatlarda oxuyacağıq. ReadOGR-a üstünlük veririk, çünki maptools-dakı readShapePoly-dən fərqli olaraq, proyeksiya məlumatında varsayılan olaraq oxuyur. Daha sonra məlumatların xəritəsi üçün ggplot2 paketini istifadə edirik. Daha çox məlumat istəsəniz, ggplot2-də xəritələşdirmə barədə bir yazımız var.

5. Coğrafi məlumatlarımızı maraqlandığımız bölgələrə süzün / klipləyin

Alyaskanın üç bölgəsində torpaq örtüyü növləri ilə maraqlanırıq. İlk addımımız bölgələri (çoxbucaqlıları) maraqlandığımız bölgələrə süzmək və sonra rasteri uyğunlaşdırmaqdır. Sizi maraqlandıran hər şey bölgəyə görə torpaq örtüyü cədvəlləridirsə, əslində rasteri kəsmək məcburiyyətində deyilsiniz, ancaq yalnız üç bölgəmizi göstərən bir xəritə istədiyimiz üçün klip çəkməliyik. Stackexchange-də Jeffrey Evans tərəfindən borc aldığım bir rasterin kəsilməsinə dair gözəl bir cavab var.

Rasteri & ldquoclip & rdquo etmək üçün əvvəlcə rasteri üç bölgə səviyyəsində əkirik, sonra bölgələrin raster versiyasını yaratmaq üçün rasterize funksiyasından istifadə edirik və nəhayət həmin region-rasterdən klip çəkmək üçün istifadə edirik və ya rasterlə danışsaq, torpaq örtüyünü maskalayırıq. raster.

Əla! Artıq ehtiyac duyduğumuz hissələrə sahib olduğumuz üçün üç bölgəmizdə daha gözəl bir torpaq örtüyü xəritəsi hazırlamağa hazırıq.

6. Daha gözəl bir xəritə düzəldin

Oscar Perpiñán tərəfindən rasterVis paketindən gplot adlı bir funksiyadan istifadə edəcəyim bölgələrin gözəl bir xəritəsini yaratmaq üçün. Diqqətlə, ggplot deyil, gplot (bir & # 39g & # 39) istifadə edirik. Gplot funksiyası, ggplot2 paketi və ndash ətrafındakı bir bükücüdür, mahiyyət etibarilə ggplot2 metodlarını raster məlumatlarla istifadə etməyə imkan verir.

Gözəl görünür, xüsusilə yaşıl və kolluqlarda açıq meyllər var. Çox az şəhər ərazisi var, buna görə əsasən görünmür (həqiqətən, həqiqətən yaxından baxırsınızsa, Anchorage-də kiçik bir qırmızı rəng görərsiniz). İndi ərazini torpaq örtüyü növünə görə cədvəlləşdirək.

7. Torpaq örtüyü dəyərlərini bölgələrə görə çıxarın və cədvələ daxil edin

Torpaq örtüyü dəyərlərini bölgələrə görə almaq və cədvəl hazırlamaq üçün raster paketdən çıxarış funksiyasından istifadə edəcəyik. Yuxarıda qeyd etdim ki, bunu həqiqətən Alyaskanın orijinal rasterində edə bilərik və kod aşağıdadır. Ancaq kəsilmiş bir raster olduğumuz üçün bunu da istifadə edə bilərik.

Anchorage bölgəsinin şəhər quru örtüyünə sahib olan yeganə bölgə olduğunu görə bilərik (çox az olsa da) və xəritələrdə də gördüyünüz kimi, Şimali Yamacın ən çox kolluq hissəsi və Yukon-Koyukuk ən çox yaşıl sahəyə sahibdir. .

8. ArcGIS & # 39s Tabulate Area alət nəticələri ilə müqayisə edin

Çoxumuz ArcGIS-də bu cür hesablamalar aparmağa başladığımızdan, R nəticələrini ArcGIS & ndash-dan olanlar ilə, xüsusən cədvəl sahəsi alətləri ilə yan-yana görmək rahat ola bilər.

Öz kompüterinizi izləmək üçün ArcGIS-in quraşdırılmış olmasına və Python-un komanda xəttinə daxil olmasına ehtiyacınız var. R-nin rahatlığını tərk etmək istəmirik, buna görə burada R-dən bir python skriptini yaradacağıq (pişik funksiyasından istifadə edərək) və sonra sistem funksiyası ilə işləyəcəyik.

Yeri gəlmişkən, kimsə bunu etmək üçün kodu QGIS-də təqdim etmək istəsə, onu atribut ilə buraya əlavə edəcəyəm.

Yalnız üçdən çox bölgəyə sahib olan gözəl bir sahəmizə sahib olmaq üçün bütün bölgələr üçün ərazi örtüyünün ümumi sahəsini (yalnız üç bölgəni deyil) hesablayaq.

İndi ArcGIS-dən əldə etdiyimiz nəticələri oxuyun və bir qədər islah edin.

Gəlin hiylə quraq və necə müqayisə etdiklərini görək:

İki metoddan mahiyyət etibarilə eyni nəticələr.

9. RasterBrick yaradın və raster riyaziyyatı edin

Son addım / nümunə olaraq QGIS-dən alınan nümunə məlumatlarını raster riyaziyyatından (ArcGIS-də raster kalkulyatoruna bənzər) istifadə edərək yeni bir raster yaratmağı göstərmək üçün istifadə edəcəyik. Bu nümunədə iki giriş rasterindən istifadə edərək 200 metrdən yuxarı yüksəkliklərə malik meşə sahələrini müəyyən edəcəyik. Budur addımlar:

A. Yüksəklik məlumatlarını oxuyun

Artıq torpaq örtüyümüz var, buna görə yüksəklikdə oxuyaq. QGIS nümunə məlumatları oxuyacağımız bir yüksəklik rasterinə malikdir.

B. Hər iki rasterin də hüceyrə ölçüsü və dərəcəsi eyni olduğundan əmin olun

Raster hesablamalarını aparmaq üçün RasterBrick & ndash deyilən bir mahiyyətcə üç ölçülü bir raster & ndash yaradacağıq, ancaq bunu etmək üçün iki rasterin eyni ölçüdə və həll edilməsinə ehtiyacımız var. Bunu etmək üçün resample funksiyasından istifadə edəcəyik.

C. RasterBrick yaradın

RasterBrick çox qatlı bir raster obyektidir. Yardımda müzakirə edildiyi kimi, bir RasterBrick bir RasterStack-a çox oxşardır (əslində aşağıdakı hesablamalar RasterStack ilə edilə bilər), lakin işləmə müddəti bir az daha az elastiklik hesabına bir kərpiclə daha qısa ola bilər.

D. Raster riyaziyyatını et

Yüksəkliyin & gt 200 olduğu və torpaq örtüyünün növünün həmişəyaşıl iynəyarpaqlı meşə və ya həmişəyaşıl enliyarpaqlı meşə olduğu əraziləri müəyyənləşdirmək istəyirik (torpaq örtüyü dəyərləri 1,2). Funksiyanın üst üstə qoyulması raster riyaziyyatını aparmaq və yeni raster yaratmaq üçün istifadə edilə bilər. Bunun sp paketindəki köhnəlmiş örtükləmə funksiyasından fərqli bir funksiya olduğunu unutmayın.

Bu, TRUE / FALSE rasterini yaradır:

E. Raster xəritəsi

Raster riyaziyyatımızın nəticələrini (meşə və 200 metrdən yuxarı olan şəbəkə hüceyrələri) xəritələşdirməyə hazırıq. Bunu etmək üçün raster paketinin müəllifi RJ Hijmans tərəfindən yazılmış dismo adlı paketdən faydalanacağıq, çünki gmap adlı gözəl bir funksiyaya malikdir ki, bu da rasterimizi Google Map-də xəritələməyi asanlaşdıracaqdır.

Orada bizdə 200 metr yüksəklikdən yuxarı meşə ərazisi R-də hesablanır və xəritələnir.

10. Nəticə

R-də məkan funksionallığının miqdarı inanılmazdır. Əvvəllər ənənəvi bir CBS ilə aparılmış analizlərin çox hissəsi analiz işini əhəmiyyətli dərəcədə asanlaşdıran və asanlaşdıran R-də edilə bilər. Bu yazıda R-dəki raster məlumatların təhlilinin səthinə toxunduq. Raster və rasterVis paketləri, gəzməyə dəyər bir ton funksiyaya malikdir. Maraqlı əlavə nümunələr üçün Oscar Perpiñánın bu səhifəsinə baxın.


Videoya baxın: សវងយលពរបបមលBarcodeផលតផលមកពបរទសណ (Oktyabr 2021).