Daha çox

Float rasteri tam ədəd rasterinə necə çevirmək olar?

Float rasteri tam ədəd rasterinə necə çevirmək olar?


Landsat peyk zolağı 3 və 4 -dən əmələ gələn Normalize fərq bitki indeksindən (NDVI) istifadə edirəm, üzmə dəyərləri -1.0 ilə 1.0 arasında dəyişir. QGIS -də mümkün olmayan atribut cədvəlini görmək istəyirəm. Qgis raster kalkulyatorunda aşağıdakı ifadəni sınadım, amma alınmadı:

Int ("float_raster" * 100)

100 -ə vurma səbəbi, atribut cədvəlində yenidən 100 -ə bölünməklə görülə bilən atribut cədvəlində 2 rəqəmi düzgün səviyyədə saxlamaqdır.

Qgis 2.40 istifadə edərək rəng palitrasında daha yaxşı kontrastı necə ölçəkləndirə bilərəm


Düşünürəm ki, burada cavab verildi QGIS -də bir rasterin piksel dəyərlərini necə yuvarlaqlaşdırmaq olar?

Əsasən, QGis Raster Kalkulyatoru float <-> int dönüşümü etmir. Bunun əvəzinə gdal_translate istifadə edin.


RasterOptions: Raster paketi üçün qlobal seçimlər

Raster paketinin istifadə etdiyi bir sıra qlobal variantları təyin edin, yoxlayın, sıfırlayın, qeyd edin.

Bu seçimlərin çoxu faylları diskə yazarkən istifadə olunur. Müvafiq arqument bu funksiyaların arqumenti kimi təqdim edilərsə, onlar xüsusi funksiyalar tərəfindən göz ardı edilə bilər.

Varsayılan yer rasterTmpDir tərəfindən qaytarılır. R temp qovluğu ilə eynidir, ancaq rasterOptions (tmpdir = "yol") ilə (cari sessiya üçün) dəyişə bilərsiniz.

Bu seçimlərdən hər hansı birini qalıcı olaraq qurmaq üçün bunları R quraşdırma & gt/etc/Rprofile.site & gt saytına əlavə edə bilərsiniz. Məsələn, müvəqqəti faylları saxlamaq üçün istifadə olunan standart qovluğu dəyişdirmək üçün, o fayla belə bir xətt əlavə edin: options (rasterTmpDir = 'c:/temp/'). Bu qovluqdakı 24 saatdan çox olan bütün müvəqqəti rastr sənədləri, raster paketi yükləndikdə silinir.

TmpDir funksiyası müvəqqəti faylların yerini qaytarır


Sintaksis

İşlənmək üçün VÖEN məlumat bazası.

Çıxış rasterinin yeri və adı. Raster məlumat bazasını bir coğrafi verilənlər bazasında və ya Esri Şəbəkəsi kimi bir qovluqda saxlayarkən, raster verilənlər bazasının adına heç bir fayl uzantısı əlavə edilməməlidir. Bir qovluqda saxlayarkən rasterin formatını təyin etmək üçün bir fayl uzantısı təmin edilə bilər, məsələn GeoTIFF yaratmaq üçün .tif və ya ERDAS IMAGINE formatlı bir fayl yaratmaq üçün .img.

Raster bir TIFF faylı olaraq və ya bir coğrafi verilənlər bazasında saxlanılırsa, raster sıxılma növü və keyfiyyəti coğrafi işləmə mühiti parametrlərindən istifadə etməklə təyin edilə bilər.

Çıxış rasterinin məlumat növü aşağıdakı açar sözlərlə müəyyən edilə bilər:

  • FLOAT -Çıxış rasteri, -3.402823466e+38 ilə 3.402823466e+38 arasında dəyişən dəyərləri dəstəkləyən 32 bitlik üzən nöqtədən istifadə edəcək. Varsayılan budur.
  • INT - Çıxış rasteri uyğun bir tam ədəd bit dərinliyindən istifadə edəcək. Bu seçim Z-dəyərlərini ən yaxın tam ədədə yuvarlaqlaşdıracaq və hər bir rastr hüceyrə dəyərinə tam ədəd yazacaq.

Raster yaratmaq üçün istifadə olunan interpolasiya üsulu.

  • LINEAR - VÖEN üçbucaqlarına xətti interpolasiya tətbiq edərək hüceyrə dəyərlərini hesablayır. Varsayılan budur.
  • NATURAL_NEIGHBORS - VÖEN üçbucaqlarının təbii qonşuları interpolasiyasından istifadə edərək hüceyrə dəyərlərini hesablayır.

Çıxış rasterinin hüceyrə ölçüsünü təyin etmək üçün istifadə olunan nümunə üsulu və məsafə.

Z dəyərlərinin vurulacağı faktor. Bu adətən Z xətti vahidlərini XY xətti vahidlərə uyğunlaşdırmaq üçün istifadə olunur. Varsayılan 1, yüksəlmə dəyərlərini dəyişməz qoyur.


Arqumentlər

məntiqi. TRUE olarsa, məhdudlaşdırıcı qutular müqayisə olunur

məntiqi. TRUE olarsa, obyektlərin satır və sütunlarının sayı müqayisə olunur

məntiqi. TRUE olarsa, koordinat istinad sistemləri müqayisə edilir.

məntiqi. DOĞRU olarsa, qətnamələr müqayisə olunur (ölçü və sıra işarəsi yoxlanılarkən artıq)

məntiqi. DOĞRU olarsa, mənşəyi müqayisə olunur

məntiqi. DOĞRU olarsa, rotasiyalar müqayisə olunur

məntiqi. TRUE olarsa, hüceyrə dəyərləri müqayisə edilir

rəqəm 0 ilə 0.5 arasında. Təmin edilmədikdə, default dəyər istifadə olunur (bax rasterOptions. Tam olmayan bir mənşəyə və ya qətnaməyə malik olduqda obyektlərin 'bərabər' hesab edilməsinə icazə verilən fərqi (hüceyrə qətnaməsinə nisbətdə) təyin edir. Hamısına baxın. Bərabər .

məntiqi. DOĞRU olarsa, obyektlər eyni deyilsə bir səhv meydana gələcək

məntiqi. DOĞRU olarsa, obyektlər eyni deyilsə bir xəbərdarlıq veriləcək. Yalnız stopiffalse TRUE olduqda aktualdır


Arqumentlər

Xarakter. Çıxış fayl növü. Yazı Formatlarına baxın. Bu arqument təmin edilmirsə, onu fayl adı uzantısından çıxarmağa cəhd edilir. Bu uğursuz olarsa, standart format istifadə olunur. Varsayılan format 'raster' dir, lakin bu rasterOptions istifadə edərək dəyişdirilə bilər

məlumat növü Karakter. Çıxış məlumat növü (məsələn, 'INT2S' və ya 'FLT4S'). DataType -a baxın. Heç bir məlumat növü göstərilməyibsə, bu standart dəyər rasterOptions ilə dəyişdirilmədiyi təqdirdə 'FLT4S' istifadə olunur

yenidən yaz: məntiqi. DOĞRU olarsa, "fayl adı" varsa yazılacaq

tərəqqi: xarakter. Tərəqqi çubuğunu göstərmək üçün bir dəyər təyin edin. Etibarlı dəyərlər "mətn" və "pəncərə" dir.

NAflag: Rəqəmsal. NA -nı bir faylda təmsil etmək üçün istifadə olunan standart dəyərin üzərinə yazmaq üçün

sarğı: xarakter. 'BIL', 'BIP' və ya 'BSQ'. Yalnız 'doğma' fayl formatları üçün. Bəzi digər formatlar üçün 'variantlar' arqumentindən istifadə edə bilərsiniz (aşağıya baxın)

seçimlər: xarakter. Fayl formatına xüsusi GDAL variantları. Məsələn, bir coğrafi sənəd yazarkən istifadə edə bilərsiniz: options = c ("COMPRESS = NONE", "TFW = YES")

GeoTIFF etiketləri olmayan düz bir tif yaratmaq üçün = c ("PROFILE = BASELINE") seçimlərindən istifadə edə bilərsiniz. Tanınmayan etiketlərə dözümsüz olan tətbiqlər tərəfindən oxunacaq faylları yazarkən bu faydalı ola bilər.

NetCDF fayllarında aşağıdakı əlavə, isteğe bağlı arqumentlər var: varname, varunit, longname, xname, yname, zname, zunit

prj: məntiqi. TRUE olarsa, crs .prj faylına yazılır. Bu, bir ascii faylına və ya crs saxlamayan başqa bir fayl tipinə yazarkən faydalı ola bilər

setStatistics: məntiqi. DOĞRU (standart) olduqda, min və maksimum hüceyrə dəyərləri fayla yazılır (əgər format icazə verərsə)

DOĞRU olarsa, hər qat üçün ayrı bir fayl yazın. Qatların sayına uyğun fayl adları vektoru təqdim edə bilərsiniz. Və ya unikal bir şəkilçi alacaq tək bir fayl adı verə bilərsiniz (aşağıya baxın)

bylayer = TRUE ya 1 ilə nlayers (x) arasındakı adlar və ya adlar (x) arasındakı hər bir faylın əldə etdiyi şəkilçini təyin etmək üçün 'ədədlər' və ya 'adlar'


İstifadə

nöqtələr (bir SpatialPoints*obyekti və ya iki sütunlu matris (və ya data.frame)), SpatialLines*, SpatialPolygons*və ya Extent obyekti

rəqəm və ya xarakter. Köçürülməli olan dəyərlər. Bu tək ədəd və ya məkan xüsusiyyətlərinin (nöqtələr, xətlər, çoxbucaqlar) sayı ilə eyni uzunluğa malik ədədlərin vektoru ola bilər. Əgər x məkan*DataFrame olarsa, bu, köçürülən dəyişənin sütun adı ola bilər. Yoxdursa, atribut indeksi istifadə olunur (yəni 1 -dən xüsusiyyətlərin sayına qədər). Fəza xüsusiyyətlərinin sayı ilə eyni uzunluqda bir vektor və ya sıra sayının məkan xüsusiyyətlərinin sayına uyğun olduğu bir matris də təmin edə bilərsiniz.

funksiya və ya xarakter. Çoxlu məkan xüsusiyyətləri ilə əhatə olunan hüceyrələrə hansı dəyərlərin veriləcəyini təyin etmək. Min, max və ya ortalama kimi funksiyaları və ya aşağıdakı xarakter dəyərlərindən birini istifadə edə bilərsiniz: 'ilk', 'son', 'say'. Varsayılan dəyər "son" dur. SpatialLines*vəziyyətində 'uzunluğa' da icazə verilir (hazırda yalnız planar koordinat sistemləri üçün).

X nöqtələri təmsil edirsə, əyləncə na.rm arqumentini açıq şəkildə və ya 'nöqtələr' vasitəsilə qəbul etməlidir. Bu o deməkdir ki, əyləncə = uzunluq uğursuz olur, amma əyləncə = funksiyası (x.) Uzunluq (x) işləyir, baxmayaraq ki na.rm arqumentinə məhəl qoymur. Na.rm arqumentini istifadə etmək üçün belə bir funksiyadan istifadə edə bilərsiniz: fun = function (x, na.rm) if (na.rm) length (na.omit (x)) else (length (x), or a bütün hallarda NA dəyərlərini aradan qaldıran funksiya, məsələn, hər bir hüceyrə üçün "zənginlik" üçün unikal dəyərlərin sayını hesablamaq üçün bu funksiya kimi: fun = function (x,.) . Hər bir grid hüceyrəsindəki xal sayını hesablamaq istəyirsinizsə, fun = 'count' və ya fun = funksiyasından istifadə edə bilərsiniz (x.) .

Fun = function (x,.) C (length (x), mean (x)) kimi bir ifadə istifadə edərək birdən çox funksiyanı da ötürə bilərsiniz, bu halda qaytarılmış obyekt RasterBrick (çoxlu qat) olur.

rəqəmsal X -in heç bir xüsusiyyəti ilə əhatə olunmayan hüceyrələrə qoyulacaq dəyər. Defolt NA -dır

məntiqi. DOĞRU giriş Raster obyektinin dəyərləri x -in məkan xüsusiyyətləri ilə 'maskalanır'. Yəni, məkan xüsusiyyətləri ilə uzlaşan hüceyrələr öz dəyərlərini saxlayır, digər hüceyrələr NA olur. Varsayılan FALSE -dir. Yeniləmə = TRUE olduqda bu seçim istifadə edilə bilməz

məntiqi. TRUE olarsa, Raster* obyektinin dəyərləri x -in məkan xüsusiyyətlərini üst -üstə qoyan hüceyrələr üçün yenilənir. Varsayılan FALSE -dir. Maska = DOĞRU olduqda istifadə edilə bilməz

rəqəm (adətən tam ədəd) və ya simvol. Yalnız yeniləmə = DOĞRU olduqda aktualdır. Məkan xüsusiyyətlərinin dəyərləri ilə yenilənəcək hüceyrələri dəyərlərinə görə seçin. Etibarlı xarakter dəyərləri "hamısı", "NA" və "! NA" dır. Defolt "hamısı" dır

xarakter. Çıxış fayl adı (isteğe bağlı)

DOĞRU olarsa, əyləncə na.rm arqumentinə hörmət edərsə, NA dəyərləri silinəcəkdir

məntiqi. DOĞRU olarsa, çoxbucaqlıların əhatə etdiyi hər bir grid hüceyrəsinin hissəsi qaytarılır (və sahə, əyləncə, maska ​​və yeniləmə dəyərləri nəzərə alınmır. Qapılan hissə hər bir hüceyrəni 100 alt hüceyrəyə bölmək və varlığını/yoxluğunu təyin etməklə hesablanır. hər bir alt hüceyrənin mərkəzindəki çoxbucaqlı

Məntiqi. DOĞRU olarsa, çoxbucaqlı sayına dair rəy yatırılır. Varsayılan FALSE -dir


Float rasteri tam ədəd rasterinə necə çevirmək olar? - Coğrafi İnformasiya Sistemləri

Hazırda Coğrafi Təhlil və Xəritəçəkmə üçün Topic R -nin arxivləşdirilmiş versiyasına baxırsınız. Yeniləmələr və ya düzəlişlər dərc edilmişdirsə, bunları Coğrafi Məkan Analizi və Xəritəçəkmə üçün R -də tapa bilərsiniz.

R, çoxlu məlumat təhlili, statistika və vizualizasiya aparmaq üçün bir proqramlaşdırma dili və bir hesablama mühitidir. R -nin populyarlığının səbəblərindən biri də açıq, şəffaf təqaüd və təkrarlanan tədqiqatları əhatə etməsidir. Məzmun və kodu bir sənəddə birləşdirmək mümkündür, buna görə məlumatlar, təhlillər və qrafiklər bir povestə birləşdirilir və təhlilləri yenidən yaratmaq və şərhləri yenidən qiymətləndirmək üçün başqaları ilə paylaşıla bilər. Xüsusilə məkan məlumatları üçün qurulmuş ArcGIS və ya QGIS kimi vasitələrdən fərqli olaraq, GIS funksionallığı R təklif etdiyi bir çox şeydən yalnız biridir. Xüsusi GIS alətlərinin istifadəçiləri adətən proqramla bir nöqtəyə vurun qrafik interfeysi vasitəsi ilə qarşılıqlı əlaqə qurarkən, R əmr satırı skriptini tələb edir. Bu gün bir çox R istifadəçisi, R kodunun yazılmasını asanlaşdıran və inteqrasiya edilmiş yardım, məlumat izləyicisi, kodun tamamlanması və sintaksis rənglənməsi kimi bir sıra əlverişli xüsusiyyətlərə malik RStudio -ya güvənir. Markdown dilinin xüsusi bir ləzzəti olan R Markdown -dan istifadə edərək RStudio, mətn daxilində R kodu parçalarını yerləşdirən və icra edən sənədlərin yaradılmasını və həm statik sənədlərin (PDF kimi), həm də interaktiv html səhifələrinin göstərilməsini xüsusilə asanlaşdırır. , xüsusən kəşfiyyat GIS işi və xəritələşdirmə üçün faydalı bir xüsusiyyət.

Engel, C. (2019). Coğrafi analiz və Xəritəçəkmə üçün R. Coğrafi İnformasiya Elmləri və Texnologiya Bilik Bədəni (1st Quarter 2019 Edition), John P. Wilson (Ed.). DOI: 10.22224/gistbok/2019.1.3.

Bu giriş ilk dəfə 10 fevral 2019 -cu ildə nəşr edilmişdir. Əvvəlki nəşrlər yoxdur.

Markdown: Düz mətn formatlama sintaksisi və düz mətn formatlamasını bir veb saytında istifadə etmək üçün HTML -ə çevirən bir proqram vasitəsi.

sadə xüsusiyyətlər: Coğrafi vektor məlumatlarını kodlaşdırmağın standart yolu. Ümumi saxlama və giriş modelini təyin edir. Sadə bir xüsusiyyət, həm məkan, həm də məkan olmayan xüsusiyyətlərə sahib olaraq təyin olunur.

R, çoxlu məlumat təhlili, statistika və vizualizasiya aparmaq üçün bir proqramlaşdırma dili və bir hesablama mühitidir. Qeyri-kommersiya R Statistik Hesablama Vəqfi və böyük bir istifadəçi cəmiyyəti tərəfindən dəstəklənir və son on ildə artan populyarlıq qazandı. Güclü tərəflərindən biri də modulluqdur. R paketi funksiyasını genişləndirmək üçün "paketlər" adlandırıla bilər və yüklənə bilər. Xüsusi maraq sahələri üçün 1000 -dən çox belə paket var, bunlar arasında məkan məlumatlarının işlənməsi, təhlili və vizuallaşdırılması üçün çoxlu coğrafi paketlər var. R paketləri üçün rəsmi depo Kompleks R Arxiv Şəbəkəsidir (CRAN) və bu girişdə müzakirə olunan bütün GIS paketlərinin olduğu yerdir.

Xüsusilə məkan məlumatları üçün qurulmuş ArcGIS və ya QGIS kimi vasitələrdən fərqli olaraq, GIS funksionallığı R təklif etdiyi bir çox şeydən yalnız biridir. Xüsusi GIS alətlərinin istifadəçiləri adətən proqramla bir nöqtəyə vurun qrafik interfeysi vasitəsi ilə qarşılıqlı əlaqə qurarkən, R əmr satırı skriptini tələb edir.

R -nin populyarlığının səbəblərindən biri də açıq, şəffaf təqaüd və təkrarlanan tədqiqatları əhatə etməsidir. Məzmun və kodu bir sənəddə birləşdirmək mümkündür, buna görə məlumatlar, təhlillər və qrafiklər bir povestə birləşdirilir və təhlilləri yenidən yaratmaq və şərhləri yenidən qiymətləndirmək üçün başqaları ilə paylaşıla bilər. Bu, tədqiqatı şəffaf edir, xüsusən də artan sayda jurnal və maliyyələşdirmə agentlikləri tədqiqatın təkrarlanmasını gözlədikcə.

Bu gün bir çox R istifadəçisi, R kodunun yazılmasını asanlaşdıran və inteqrasiya edilmiş yardım, məlumat izləyicisi, kodun tamamlanması və sintaksis rənglənməsi kimi bir sıra əlverişli xüsusiyyətlərə malik RStudio -ya güvənir. Xüsusi bir ləzzət olan R Markdown istifadə edərək Markdown RStudio, bir mətn içərisində R kodu parçalarını yerləşdirən və icra edən sənədlər yaratmağı və həm statik sənədləri (PDF kimi), həm də interaktiv html səhifələrini göstərməyi xüsusilə kəşfiyyat GIS işi və xəritələşdirmə üçün faydalı olan bir xüsusən də asanlaşdırır. .

Şəkil 1. İstifadə olunan R Studio nümunəsi.

Həm R, həm də RStudio açıq mənbəyidir və Windows, macOS və Linux da daxil olmaqla müxtəlif əməliyyat sistemləri üçün sərbəst şəkildə mövcuddur. R (R Open) alternativ pulsuz versiyası, paralel hesablama və kodun təkrar istehsalını dəstəkləyən performans təkmilləşdirmələri ilə Microsoft tərəfindən paylanır.

3.1 Vektor obyektləri

Hazırda coğrafi vektor məlumatlarını idarə etmək üçün R -də istifadə olunan iki əsas yanaşma mövcuddur. Sp (Bivand et al 2013) və sf (Pebesma 2018) iki paketdə tətbiq olunur. Sp paketi tarixən ən köhnəsidir. Onun inkişafı 2000 -ci illərin əvvəllərində məkan məlumatlarının R -də necə işlənəcəyini standartlaşdırmaq və məkan məlumatlarından istifadə edən fərqli analiz paketləri arasında daha yaxşı qarşılıqlı əlaqəni təmin etmək məqsədi ilə başladı. Paket (ilk dəfə 2005 -ci ildə CRAN -da yayımlandı) nöqtələr, xətlər və çoxbucaqlar yaratmaq üçün siniflər və üsullar təqdim edir. (sp ayrıca raster ızgaraları tətbiq edir, baxmayaraq ki, bu gün nadir hallarda istifadə olunur, xüsusən də 2010 -cu ildə xüsusi bir raster paketi buraxıldığından.)

Məkan cisimlərinin sp -də tətbiqi daha çox "obyekt yönümlü" düşüncəni izləyir. Sp -dəki məkan cisimlərində, əsasən, məhdudlaşdırıcı qutunun koordinatları və Koordinat İstinad Sisteminin (CRS) müxtəlif növ məlumatları saxlayan "yuvaları" var. Bu əsas quruluş, coğrafi koordinatları, hər bir element üçün özünəməxsus identifikatoru, uyğun olduğu təqdirdə qrafik tərtib edilməsi haqqında məlumatları və daha çoxunu tutmaq üçün məkan obyektinin xüsusiyyətlərindən (nöqtə, xətt və ya çoxbucaq) asılı olaraq genişləndirilir. Atribut məlumatları üçün "məlumat" yuvası da var.

Bundan əlavə, sp paketi, sp obyektləri ilə manipulyasiya etmək üçün bəzi funksiyaları ehtiva edir, məsələn, sərhəd qutusunu əldə etmək və ya CRS -i təyin etmək və ya almaq. Bu gün yüzlərlə R paketi, sp -də tətbiq olunan məkan məlumat növlərinə aiddir.

Ən yeni sf paketi ilk dəfə 2016 -cı ilin sonunda CRAN -da yayımlandı.Sadə Xüsusiyyətlər"Məkan vektor həndəsələri üçün xüsusi bir saxlama və giriş modelini təyin edir. Bu standart yalnız PostGIS kimi məkan məlumat bazaları tərəfindən deyil, həm də GeoJSON kimi açıq standart formatlar tərəfindən geniş şəkildə qəbul edilmişdir. sf bu standartı yerli olaraq R dilində tətbiq edir, buna görə də məlumatlar sp obyektlərindən çox fərqli olaraq qurulur və konseptual olaraq qurulur.

sf obyektləri hər bir sətrin bir xüsusiyyəti təmsil etdiyi və sütunların öz xüsusiyyətlərini saxladığı bir cədvəl olaraq saxlanılır (R dilində "məlumat çərçivəsi" adlanır). Cədvəldəki xüsusi bir sütun coğrafi koordinatları saxlamaq üçün təyin edilmişdir. Bu "həndəsə" sütunundakı hər bir hüceyrə, o cərgədəki xüsusiyyətə uyğun gələn koordinat cütlərinin siyahısını ehtiva edir. CRS, məhdudlaşdırma qutusu və həndəsə növü kimi əlavə məlumatlar, məlumat çərçivəsinə metadata olaraq saxlanılır.

Sf məkan obyektləri mahiyyətcə bəzi xüsusi xüsusiyyətlərə malik olan R məlumat çərçivələri olduğundan və məlumat çərçivələri R -də çox yayılmış və geniş istifadə edildiyindən, R -nin artıq məlumat çərçivələri ilə işləmək üçün mövcud olan bir sıra funksiyalarından istifadə etmək mümkündür.

sp və sf, məkan vektor obyektlərinin R -da konseptləşdirilməsinin yeganə yolu deyil. Digər məkan paketləri, məkan məlumatları üçün öz sinif təriflərindən istifadə edə bilər, məsələn, nöqtə nümunəsi analizinə diqqət yetirən və özünün təyin etdiyi spatstat paketi (ppp - point) naxış) obyekti. Bir məkan obyekt növündən digərinə çevrilə bilən funksiyalar mövcuddur.

3.2 Raster obyektləri

R -də məkan raster məlumatlarını idarə etmək üçün ən çox yayılmış paketə raster deyilir. Sütunların və satırların sayı (ölçü), hüceyrə ölçüsü (qətnamə), məhdudlaşdırma qutusu (ölçü) və CRS daxil olmaqla bir sıra parametrlər verilsə nizamlı quruluşlarına görə raster obyektləri qurula bilər. varsa hüceyrə dəyərləri. Sp obyektləri kimi, R -də olan raster obyektləri də bu məlumatları yuvalarda saxlayır.

Yüksək keyfiyyətli, yüksək qətnamə - və buna görə də böyük ölçülü raster fayllarının artan istifadəsi ilə bu cür fayllarla işləmək çətin ola bilər. Dosyalar işləndikdə ümumiyyətlə kompüter yaddaşına yüklənir və bu, xüsusən də masa üstü mühitdə məhdudlaşdırıcı bir faktor ola bilər, buna görə də əməliyyatlar çox yavaş və ya hətta qeyri -mümkün ola bilər. Raster paketi, bütün faylı yaddaşa yükləməyə ehtiyac olmadan çox böyük rasterlərə daxil olmaq və işləmək mümkün olacaq şəkildə hazırlanmış və yazılmışdır. Diskdə saxlanılan və yalnız məlumatların quruluşu haqqında məlumatı yaddaşa yükləyən raster məlumat dəstləri ilə birbaşa işləyə bilər. Bu məlumatlar daha sonra məlumatları hissə -hissə işləmək üçün hesablama əməliyyatları zamanı istifadə olunur.

Raster paketi, çox bantlı peyk görüntüləri və ya müəyyən bir coğrafi ərazi üçün bir sıra temperatur dəyərləri kimi həm tək, həm də çox qatlı raster faylları ilə işləyə bilər. Daha yüksək ölçülü məlumat dəstləri üçün, məsələn, çox bantlı peyk görüntülərinin zaman seriyası üçün, daha ümumi raster (və vektor) məlumat kublarını hədəf alan və sf paketi ilə güclü inteqrasiya etməyə çalışan yeni buraxılan ulduzlar paketi mövcuddur.

3.3 Məkan məlumatlarının oxunması və yazılması

Bir çox açıq mənbə GIS alətləri kimi, R də məkan məlumatlarını oxumaq və yazmaq üçün Coğrafi Məxsallıq Kitabxanasına (GDAL) əsaslanır. Bu o deməkdir ki, GeoJSON, KML, ESRI Shapefiles, GeoTiffs və daha çoxu daxil olmaqla çoxlu məkan formatları R -də oxunur və oxşar şəkildə diskə yazılır. sf birbaşa GDAL ilə əlaqələndirir, sp ayrı bir paket tələb edir. GDAL üçün bağlama təmin edən rgdal paketi ən çox istifadə olunur. PostGIS kimi məkan məlumat bazalarından birbaşa oxumaq və yazmaq da mümkündür və məsələn, sf paketi bunun üçün funksionallıq təmin edir.

Bir sıra R paketləri, məkan məlumatları üçün xarici anbarlara bağlanır və oradan məlumatları birbaşa R obyektlərinə yükləməyə imkan verir. Nümunələr, Natural Earth ictimai mülkiyyət xəritəsi məlumat bazası üçün rnaturalearth, Landsat 8 tərəfindən istehsal olunan peyk görüntülərinin toplanması üçün getlandsat və ya OpenStreetMap məlumatlarını yükləmək və idxal etmək üçün osmdata.

Məlumatları R -yə oxumaq əvəzinə, məkan məlumatları olan R paketləri də var. Bu paketlər, istifadə hallarını tez -tez nümayiş etdirdikləri üçün yeni başlayanlar üçün faydalı bir başlanğıc ola bilər. SpData paketi, məsələn, bir sıra fayl formatlarında saxlanılan müxtəlif məlumatları ehtiva edir.

Sp obyektlərinin geoprosessiyası, həndəsə üzrə topologiya əməliyyatları üçün açıq mənbə C ++ kitabxanası olan GEOS kitabxanasından istifadə edərək sp obyektləri üçün topologiya funksiyalarına interfeys kimi xidmət edən (ayrı) rgeos paketinə əsaslanır. Sf paketi, çoxlu geoprosessing funksiyalarını ehtiva edir, çünki birbaşa GEOS -a bağlanır. Bu əməliyyatlar arasında məkan xüsusiyyətlərinin manipulyasiyası, məsələn. topoloji əlaqələr, məkan birləşmələri, yer, məsafə ölçmələri və tamponlar və ya sentroidlər kimi həndəsi əməliyyatlar əsasında toplama və ya çıxarma.

Artıq qeyd olunan rastr paketi yerli, zonal, fokus və qlobal statistika üçün raster əməliyyatlarını ehtiva edir. CBS -də rast gəlinən raster məlumat manipulyasiyalarını yerinə yetirmək üçün funksiyaları həyata keçirir. Bura yalnız xəritə cəbrini deyil, həm də yenidən redaktə, qətnamənin dəyişməsi, əkin, yenidən yazma, yenidən təsnifat və s.

Statistik analiz üçün müxtəlif R paketləri mövcuddur. Yalnız bir neçəsini sadalamaq üçün, spdep məkan asılılığını analiz etmək üçün funksiyalar təmin edir, məsələn, qalıq məkan avtokorrelyasiyası üçün Moran I testi varioqram modelləşdirmə, kriging və daha çox daxil olmaqla dəyişməz və çox dəyişkən geostatistiki analiz üçün əsas funksionallıq təmin edir (Pebesma, 2004) spatstat məkan nöqtəsi nümunələrini təhlil etmək üçün olduqca əhatəli bir paket (Baddeley et al 2015). Kəşfiyyat məlumatlarının təhlili, modelin uyğunlaşdırılması, simulyasiya, məkan nümunələrinin götürülməsi, model diaqnostikası, formal nəticə çıxarmaq və qurmaq üçün minlərlə funksiyadan ibarətdir.

R Xəritəçəkmə mövzusunda getdikcə çox yönlü hala gəldi. Statik, nəşr keyfiyyəti ilə çap edilmiş xəritələrdən yüksək interaktiv veb xəritələrinə qədər müxtəlif coğrafi xəritələr təqdim etmək mümkündür. Artıq qeyd olunan paketlərin bir çoxu, sp, sf, spatstat və ya raster kimi, paketin istifadə etdiyi müvafiq məkan obyektlərinə uyğunlaşdırılmış xüsusi qurma funksiyasını ehtiva edir. Vektor xəritələri hazırlamaq üçün ən erkən ayrılmış xəritələşdirmə paketləri arasında, yeni başlayanlar üçün əlverişli bir yol olan quraşdırılmış xəritə məlumatlarını da daxil edən xəritələr paketi var.

Geniş istifadə olunan bir alternativ g.glotlot2, R. üçün güclü bir komplo paketidir. Xüsusilə xəritələşdirməyə yönəlməmişdir, lakin geniş istifadəçi cəmiyyətinə malikdir və yüksək keyfiyyətli xəritələr hazırlamaq üçün tez -tez istifadə olunur. ggplot, bir -bir əlavə edilə bilən "təbəqələr" anlayışı ilə işləyir ki, bu da istifadəçilərə bir verilənlər bazasının fərqli vizualizasiyalarını (məsələn, səpələnmə xətti və quraşdırılmış xətt) və ya fərqli məlumat dəstlərini (eyni coğrafi bölgənin fərqli təbəqələri kimi) üst -üstə qoymağa imkan verir. . Populyarlığına görə ggplot -un bir sıra əlavə paketləri var. Ggplot ilə birlikdə istifadə ediləcək bir eşleme paketi, ggplotun qat sintaksisini izləyən və Google Maps və Openstreet Maps kimi fərqli xidmətlərdən kirəmitli baza xəritələrinin yüklənməsini asanlaşdıran ggmapdır. Bir sıra çatışmazlıqlar da var. Sp g obyektlərini ggplot ilə qurmaq üçün onları əvvəlki bir addımda çevirmək lazımdır, lakin ggplot (ggplot2 versiyası 3.0.0 və yuxarı) birbaşa sf formatını oxuya və qura bilər. ggplot da raster obyektlərini yerli olaraq dəstəkləmir, buna görə də onların da göstərilməsi lazımdır. Məsələn rasterVis, ggplot2 ilə raster obyektləri qurmaq üçün bir sarma funksiyası təmin edir.

Veb xəritələri yaratmaq üçün ən çox istifadə edilən açıq mənbə kitabxanalarından biri də JavaScript dilində yazılmış Leafletdir. Tipik olaraq, veb xəritələr əlavə vektor tipli bindirmələri və/və ya yer işarələri olan kirəmitli əsas xəritələrdən ibarətdir və sürüşmə və böyütmə kimi interaktiv imkanlara malikdir. Buklet R paketi JavaScript kitabxanasını bağlayır və bu veb xəritələri R -də yaratmağı və göstərməyi asanlaşdırır.

Vərəqə paketi çox çevikdir və xəritənin bir çox elementinin dəqiq tənzimlənməsinə və tənzimlənməsinə imkan verir. Vərəqə paketinin üstündə bir neçə R paketi qurulmuşdur, məsələn, bu parametrlərin bəzilərinə diqqət yetirərək, məsələn, əfsanə üçün standart bir düzeni qəbul edərək, interaktiv imkanlara malik bir xəritə hazırlamaq üçün daha az kodlaşdırma lazımdır. Nümunələr, mapview və tmap paketləri, yeni başlayanlar üçün yaxşı giriş nöqtələridir. Cizgi xəritələri yaratmaq da mümkündür (məsələn, məkan -zaman ardıcıllığının asan görüntülənməsi üçün).

Nəhayət, R -nin parlaq çərçivəsi, həqiqətən interaktiv olan xəritələr yaratmaq üçün böyük bir rahatlıq təmin edir, çünki istifadəçi məlumatlarını birdən çox formada (sürgülər, onay qutuları, açılan seçimlər və daha çox) hesablaya bilər (məsələn, bir reqressiya modelini yenidən hesablayın) dəyişdirilmiş giriş dəyərləri) və vizualizasiya və xəritələr daxil olmaqla müxtəlif formatlarda çıxışı geri qaytarın.

Statistik proqramlaşdırma dili olaraq ilk tətbiqindən R uzun bir yol keçdi və məkan analizini dəstəkləməkdə çox yönlü oldu. Yeni və təkmilləşdirilmiş GIS paketləri davamlı olaraq inkişaf etdirilir və nəticədə bəzi paketlər digərlərindən daha yetkin olur. Hər hansı bir açıq proqram istifadəçisi kimi, R istifadəçiləri də kodunu yeni buraxılışlar və yeni və yenilənmiş paketlərlə yeniləmək problemi ilə üzləşirlər, halbuki bunu azaltmaq üçün strategiyalar olsa da, məsələn, Microsoft-un nəzarət nöqtəsi paketi. Kompüter yaddaşı da bir məhdudiyyət yarada bilər, ancaq performansı artırmaq üçün davamlı səylər var və xarici məlumat bazalarına qoşulma imkanı bunun bir hissəsini yüngülləşdirə bilər. R, PostGIS, SAGA, QGIS və GRASS kimi digər açıq mənbə GIS vasitələri ilə yaxşı birləşir.

R icma üzvləri tərəfindən yaradılan və davam etdirilən "vəzifə baxışları", müəyyən bir mövzu üçün uyğun olan R paketlərinə ümumi bir baxış təqdim edir. "Məkan Məlumatlarının Təhlili" mövzusunda tapşırıq görünüşü, mövcud olan məkan R paketlərinin çeşidinə ümumi bir baxış üçün çox faydalı bir başlanğıc yeridir. Bir çox paketə "vinyetlər" deyilir. Bunlar, seçilmiş problemlər ətrafında proqramın praktik istifadəsini nümayiş etdirən və izah edən çox faydalı mini dərslərdir. Məkan analizi və xəritələşdirmə layihələri həyata keçirərkən tez -tez istifadə olunan paketlər, əvvəllər istinad edilənlərdir.

Cədvəl 1. Məkan analizi və amp Xəritəçəkmə ilə əlaqəli R Paketlərinin qismən siyahısı. Bütün paketlər Kompleks R Arxiv Şəbəkəsindən (CRAN) yüklənə bilər.
Paket Təsvir
sp məkan məlumatları üçün siniflər və metodlar
sf R üçün sadə xüsusiyyətlər
raster Coğrafi məlumatların analizi və modelləşdirilməsi
ulduzlar ölçeklenebilir, məkan -zamanın səliqəli massivləri
rgdal "coğrafi" məlumat abstraksiya kitabxanası üçün bağlamalar
rgeos Geometry Engine Açıq Mənbə (GEOS) interfeysi
spData məkan təhlili üçün məlumat toplusu
osmata OSM məlumatlarını sadə xüsusiyyətlər və ya məkan obyektləri kimi idxal edin
getLandsat Amazon ictimai məlumat dəstlərindən Landset 8 məlumatlarını əldə edin
təbiət dünyası Təbii Yerdən dünya xəritəsi məlumatları
spatstat məkan nöqtəsi modelinin təhlili, modelə uyğunlaşdırma, simulyasiya testləri
gstat məkan və məkan -zaman geostatistiki modelləşdirmə, proqnozlaşdırma və simulyasiya
spdep məkan asılılığı: çəki sxemləri, statistika və modellər
xəritələr coğrafi xəritələr çəkmək
ggplot2 qrafika qrammatikasından istifadə edərək məlumatların vizuallaşdırılması
ggmap ggplot2 ilə məkan görüntüsü
rasterVis raster məlumatların vizual üsulları
vərəqə JavaScript "Leaflet" kitabxanası ilə interaktiv veb xəritələr yaradın
xəritəyə baxış R -də məkan məlumatlarının interaktiv görüntülənməsi
tmap tematik xəritələr
parlaq R üçün veb tətbiq çərçivəsi
keçid məntəqəsi təkrar oluna bilmək üçün yoxlama nöqtəsi serverində anlardan alınan paketləri quraşdırın

Xüsusilə skript və proqramlaşdırma ilə yeni məşğul olanlar üçün bir öyrənmə əyrisi var, ancaq tapşırıqları avtomatlaşdıra bilmək və təkrarlanan kodlar yaratmaq bəhrəsini verir.

Baddeley, A., Rubak, E. və amp Turner, R. (2016). Məkan nöqtələri nümunələri: R ilə metodologiya və tətbiqlər. Boca Raton London New York: CRC Press, Taylor & Francis Group.

Bivand, R., Pebesma, E. J. və amp Gómez-Rubio, V. (2013). R ilə tətbiq olunan məkan məlumatlarının təhlili (İkinci nəşr). New York: Springer. DOI: 10.1007/978-1-4614-7618-4


Metodlar və xüsusiyyətlər

NetLogoR, raster əsaslı və fərdi modelləri kodlaşdırmaq üçün istifadə edilə bilər. Model agentlərini və SE-ABM-lərini qurmaq və idarə etmək üçün funksiyaları təmsil etmək üçün yeni R sinifləri təqdim edir. Paketdə iki vinyet (proqramlaşdırma bələdçisi və lüğət) və üç model nümunəsi də var. NetLogoR 0.3.5, GNU General Public License (ver. 3, 2007) altında CRAN -da mövcuddur.

NetLogoR tərəfindən təmin edilən 3 yeni R sinfi var: worldMatrix və worldArray, mənzərələri bir şəbəkə hüceyrəsi olaraq təmsil etmək üçün, agentMatrix isə hərəkətli fərdləri təmsil etmək üçün. NetLogo istifadəçiləri üçün qeyd: worldMatrix və worldArray, "yamaqlardan" (hüceyrələrdən) ibarət iki növ "dünya" dır və agentMatrix "tısbağaları" təmsil edir. R, Raster* (Hijmans 2018) və matris siniflərində (R Core Team) mənzərələri təmsil etmək çox təsirli və rahat ola bilər. Bununla birlikdə, bu obyektlər NetLogo -nun istifadə etdiyi koordinat sisteminə uyğun gəlmir, bu da NetLogo -da yaradılan mənzərələri əks etdirmək üçün worldMatrix və worldArray siniflərinin yaradılmasını tələb edir. WorldMatrix, kvadrat hüceyrələrdən (yəni matris hüceyrələrindən) ibarət bir ızgaralı mənzərə kimi baxıla bilən bir matrisin uzantısıdır. Bir dünya matrisindəki hüceyrələr və ya 'yamalar', mərkəzlərinin yerini təmsil edən iki məkan koordinatına malikdir. Bu koordinatlar həmişə tam ədəddir və yuxarı və ya sağa hərəkət edərkən 1 -ə artır. [0, 0] hüceyrənin solunda və ya altında yerləşən hüceyrələr varsa koordinatlar mənfi ola bilər. Bu dünya sinifləri coğrafi koordinat sistemlərindən istifadə etmir. NetLogoR funksiyası createWorld (), mənzərənin miqyasını göstərərək bir worldMatrix yaradır. WorldArray, istifadəçi RasterStack sinifinə (Hijmans 2018) bənzər bir hüceyrədə birdən çox dəyər saxlamaq istədikdə mənzərəni təmsil etmək üçün istifadə olunur. NetLogoR funksiyası stackWorlds () bir neçə worldMatrix kolleksiyasını götürür və bir worldArray yaratmaq üçün onları bir yerə yığır. NetLogoR, Raster* dən dünya* obyektləri yaratmaq üçün tərcüməçi funksiyaları da təmin edir. WorldMatrix və worldArray, model agentlərin (hüceyrələr və ya hərəkət edən şəxslər) mövcud olacağı mənzərələrdir.

AgentMatrix sinfi, hərəkət edən şəxslərin yerini və rəqəmsal (məsələn, yaş) və ya xarakter (məsələn, ad) ola biləcək digər məlumatları saxlayır. Xarakter məlumatları faktorlardan istifadə edərək daxildə saxlanılır. AgentMatrix sinfi, eyni zamanda NetLogo koordinat sisteminə uyğun gələn SpatialPointsDataFrame sinifinə (Pebesma və Bivand 2005, Bivand və digərləri 2013) daha sürətli, daha sadə bir alternativ olaraq yaradılmışdır. Dünyaya bənzər*agentMatrix obyektlərində coğrafi koordinat sistemləri yoxdur. NetLogoR funksiyası createTurtles (), yaradılacaq fərdlərin sayını və yerlərini (dəqiq koordinatları və ya inkişaf edəcəkləri dünya) göstərərək agentMatrix yaradır. Qeyd: hərəkət edən şəxslərə NetLogo və digər proqramlaşdırma dilində (məsələn Logo, Python) "tısbağalar" deyilir, bu səbəbdən bəzi NetLogoR funksiyalarının adıdır (yəni *tısbağalar () və ya tısbağalar *()). Əlavə olaraq, istifadəçi yaradarkən fərdlərin başlığını (yəni istiqamətini), cins adını və rəngini təyin edə bilər. NetLogoR funksiyası turtlesOwn (), agentMatrix obyektindəki şəxslər haqqında əlavə məlumatları saxlamaq üçün daha sonra yeni dəyişənlər yaratmağa imkan verir.

Bu yeni R sinifləri boyunca NetLogoR, SE-ABM-lərini yaratmaq və idarə etmək üçün yüzə yaxın funksiyanı təmin edir. Funksiyalar dünya* və agentMatrix siniflərindən istifadə edir və onları dəyişdirmək və ya istifadə edərək statistikanı yerinə yetirmək üçün landşaft hüceyrələri (‘yamalar’) və hərəkət edən fərdlər (‘tısbağalar’) üzərində hərəkət edir. Model agentləri yaratmaq və ya silmək funksiyaları var (məsələn, createTurtles (), die ()), xüsusən bəzi agentləri seçmək üçün (məsələn, inRadius (), patchAhead ()), fərdləri mənzərədə hərəkət etdirmək (məsələn, fd (), yoxuşa ()), agent məlumatlarını əldə etmək və ya dəyişdirmək (məsələn, setXY (), of ()), agent haqqında statistika aparmaq (məsələn, subHeadings (), NLdist ()) və ya sinifləri çevirmək (məsələn, raster2world (), turtles2spdf () ). NetLogoR -un əsas funksiyaları Cədvəl 1 -də verilmişdir. Biz həmçinin NetLogoR siniflərinin mötərizələrdən istifadə edərək dəyərləri əldə edə və dəyişdirə bilməsi üçün metodlar hazırladıq, R -də obyektləri indeksləşdirməyin ənənəvi yolu və bu yeni siniflərin qurulması üsulları.

NetLogoR funksiyası Təsvir NetLogo ekvivalentləri
bk Şəxsləri istiqamət istiqamətlərindən geri çəkin geri atlama
hərəkət edə bilər Bir fərdin dünya həddini tərk etmədən müəyyən bir məsafəni qət edə biləcəyini göstərin hərəkət edə bilərmi?
cellFromPxcorPycor Verilmiş yamaq koordinatları üçün Raster* obyekti üçün təyin olunduğu kimi hüceyrə nömrələrini bildirin NA
clearPatches Bütün yamaqların dəyərini sıfırlayın aydın ləkələr
yaratmaq Fərdlər yaradın və başlıqları bərabər paylanaraq onları dünyanın mərkəzinə yerləşdirin yaratmaq-sifariş-tısbağalar yaratmaq-sifariş & ltbreeds & gt
yaratmaq Turtles Müəyyən edilmiş dəyişənlər dəsti olan fərdlər yaradın yaratmaq-tısbağalar yaratmaq- & ltbreeds & gt
createWorld Yamalar dünyası yaradın NA
ölmək Seçilmiş şəxsləri öldürün ölmək
yayılmış Hər yamanın dəyərinin bir hissəsini qonşu yamalarına bərabər pay verdiyi yamalar arasında yayılmış dəyərlər yayılmış diffuz 4
aşağı Şəxsləri ən aşağı dəyəri olan qonşu yamalarına köçürün aşağı eniş4
dx Şəxsin x koordinatını, indiki başlığı ilə verilən məsafəni irəlilədikdə dəyişdirəcəyi məbləği bildirin dx
dy Şəxsin y koordinatını, indiki başlığı ilə verilən məsafəni irəlilədikdə dəyişəcəyi məbləği bildirin dy
üz Şəxslərin verilmiş agentlərə istiqamətini təyin edin üz facexy
fd Şəxsləri istiqamət olaraq istiqamətləri ilə irəli aparın irəli atlama
lyuk Valideynlərdən yeni fərdlər yaradın Hatch lyuk-& ltbreeds & gt
ev Şəxsləri evlərinə köçürün ev
inCone Hər bir şəxsin qarşısında 'görmə konusundakı' agentləri bildirin konusda
radiusda Agentləri digər agentlərdən verilən məsafələrdə bildirin radiusda
yoxlamaq Seçilmiş şəxslər üçün bütün dəyişən dəyərləri göstərin yoxlamaq
isNLclass Agentin sınanmış sinifdən olub olmadığını göstərin agentdir? agentidir? yamaqdır? yamaq qoyulub? tısbağa? tısbağa dəstidir?
sol Şəxslərin başını sola çevirin sol
maxNof Göstərilən dəyişən üçün ən yüksək dəyərlərə malik olan n agenti bildirin max-n-of
maxOneOf Göstərilən dəyişən üçün ən yüksək dəyəri olan agenti bildirin max-one-of
maxPxcor Dünyadakı maksimum x koordinatını bildirin max-pxcor
maxPycor Dünyadakı maksimum y koordinatını bildirin max-pycor
min Xeyr Göstərilən dəyişən üçün ən aşağı dəyərlərə malik olan n agenti bildirin min-n-of
minOneOf Göstərilən dəyişən üçün ən aşağı dəyəri olan agenti bildirin min-bir
minPxcor Dünyadakı minimum x koordinatını bildirin min-pxcor
minPycor Dünyadakı minimum y koordinatını bildirin min-pikor
köçmək Şəxsləri agentlərin yerləşdiyi yerə köçürün köçmək
qonşular Agentlərin ətrafındakı yamaqların koordinatlarını bildirin qonşular qonşular 4
NLall Bütün agentlərin dəyişənlərinin verilən dəyərə bərabər olub olmadığını göstərin hamısı?
NLany Bir agentin boş olub olmadığını göstərin hər hansı?
NLcount Agentlərin sayını bildirin saymaq
NLdist Report the distances between agents distance distancexy
NLset Assign values to agents’ variables qurmaq
NLwith Report the agents which have their variable equal to a given value ilə
NLworldIndex Convert Raster* cell numbers in patch coordinates NA
nOf Report n agents randomly selected n-of
noPatches Report an empty patch object no-patches
noTurtles Report an empty individual object no-turtles
-dən Report the agents values for the indicated variable -dən
oneOf Report one agent randomly selected one-of
digər Report agents except some specific ones digər
yamaq Identify the patches at given locations yamaq
patchAhead Identify the patches at given distances of individuals in their headings directions patch-ahead
patchAt Identify the patches at given x- and y-distances of individuals patch-at at-points
patchDistDir Identify the patches at given distances and directions of individuals patch-at-heading-and-distance
yamalar Report the coordinates of all the patches in the world yamalar
patchHere Identify the patches under the individuals locations patch-here
patchLeft Identify the patches at given distances of individuals and left rotation angles from their headings patch-left-and-ahead
patchRight Identify the patches at given distances of individuals and right rotation angles from their headings patch-right-and-ahead
patchSet Report the unique coordinates of all the patches provided patch-set
pExist Indicate if the patch exist within the world's extent üzv
PxcorPyxcorFromCell Report the patches coordinates given the Raster* cell numbers NA
randomPxcor Report n random x patch coordinates within the world's extent random-pxcor
randomPyCor Report n random y patch coordinates within the world's extent random-pycor
randomXcor Report n random x-coordinates within the world's extent random-xcor
randomXYcor Report n random x- and y-coordinates within the world's extent NA
randomYcor Report n random y-coordinates within the world's extent random-pycor
raster2world Convert a Raster* object into a world object of NetLogoR (worldMatrix or worldArray) NA
sağ Rotate the individuals’ heading to the right sağ
setXY Set the individuals’ coordinates setxy
sortOn Return the agents sorted according to their value sort-on
spdf2turtles Convert a SpatialPointsDataFrame into an object of NetLogoR storing individuals (agentMatrix) NA
sprout Create new individuals on specific patches sprout
stackWorlds Stack multiple worldMatrix to create a worldArray NA
subHeadings Compute the difference between headings subtract-headings
tExist Indicate if an individual üzv
towards Report the directions of agents towards other agents towards towardsxy
tısbağa Identify an individual tısbağa
turtle2spdf Convert an object of NetLogoR storing individuals (agentMatrix) into a SpatialPointsDataFrame NA
turtlesAt Identify the individuals that are located on patches at x- and y-distances of agents turtles-at <breeds>-at at-points
turtleSet Report the unique individuals of all the individuals provided turtle-set
turtlesOn Identify the individuals that are located on the same patches as other agents turtles-on <breeds>-onturtles-here <breeds>-here
turtlesOwn Create a new variable for the individuals turtles-own <breeds>-own
yuxarı Move the individuals to their neighboring patch with the highest value uphill uphill4
withMax Report the agents which have their variable equal to the maximum value with-max
withMin Report the agents which have their variable equal to the minimum value with-min
world2raster Convert a world object of NetLogoR (worldMatrix or worldArray) into a Raster* object NA
worldHeight Report the height of the world in patch number world-height
worldWidth Report the width of the world in patch number world-width

Note for experienced NetLogo users: Most of the NetLogoR functions are a direct translation of the NetLogo's primitives. SeeCədvəl 1 for the NetLogo equivalent functions to the main NetLogoR functions presented. NetLogoR also contains functions that did not exist in Netogo but which were essential to build models in R (e.g. createWorld()). On the other hand, there are also NetLogo primitives that we did not translate into NetLogoR functions. For some of these, functions from the R software or from other packages already existed to perform similar actions so we did not create duplicates (e.g. the R functions such as sample() and runif() can be used to replace the NetLogo primitives random and random-float). For some others, we felt that the NetLogo primitives were too specific to the software and their absence would not prevent users to build models. These primitives are mostly the ones controlling the NetLogo visual interface (e.g. pen-down) and those related to the agent category ‘link’ that we did not implement. Links are connections between agents to represent relationships. We think these can be handled inside the agentMatrix. Future updates of the NetLogoR package may implement links as a new type of agent if it appears to be necessary.


Global Patterns of Carbon Dioxide Emissions from Soils on a 0.5 Degree Grid Cell Basis (DB-1015)

The Carbon Dioxide Information Analysis Center is a part of the Environmental Sciences Division of the OAK RIDGE NATIONAL LABORATORY (ORNL) and is located in Oak Ridge, Tennessee 37831-6290. The ORNL is managed by University of Tennessee-Battelle, LLC for the U.S. DEPARTMENT OF ENERGY under contract DE-AC05-00OR22725

CO2 = Carbon Dioxide CDIAC = Carbon Dioxide Information Analysis Center
FTP = file transfer protocol
QA = quality assurance
GIS = geographic information system
ARC/INFO is a registered trademark of the Environmental Systems Research Institute, Inc., Redlands, CA 92372.

Raich, J. W. and C. S. Potter. 1995. Global Patterns of Carbon Dioxide Emissions from Soils. Global Biogeochemical Cycles 9(1)23-36. doi: 10.3334/CDIAC/lue.db1015

We use semi-mechanistic, empirically based statistical models to predict the spatial and temporal patterns of global carbon dioxide emissions from terrestrial soils. Emissions include the respiration of both soil organisms and plant roots. At the global scale, rates of soil CO2 efflux correlate significantly with temperature and precipitation they do not correlate well with soil carbon pools, soil nitrogen pools, or soil C:N. Wetlands cover about 3% of the land area but diminish predicted CO2 emissions by only about 1%. The estimated annual flux of CO2 from soils to the atmosphere is estimated to be 76.5 Pg C yr-1, 1-9 Pg greater than previous global estimates, and 30-60% greater than terrestrial net primary productivity. Historic land cover changes are estimated to have reduced current annual soil CO2 emissions by 0.2-2.0 Pg C yr-1 in comparison with an undisturbed vegetation cover. Soil CO2 fluxes have a pronounced seasonal pattern in most locations, with maximum emissions coinciding with periods of active plant growth. Our models suggest that soils produce CO2 throughout the year and thereby contribute to the observed wintertime increases in atmospheric CO2 concentrations. Our derivation of statistically based estimates of soil CO2 emissions at a 0.5-degree latitude-by- longitude spatial and monthly temporal resolution represents the best-resolved estimate to date of global CO2 fluxes from soils and should facilitate investigations of net carbon exchanges between the atmosphere and terrestrial biosphere.

(Reproduced with permission of the American Geophysical Union.)

Keywords: Carbon release, climate change, soils, carbon dioxide emissions, global patterns.

  • descriptive text file (db1015.txt)
  • ASCII format of ANNUAL grid (rp-modelb_ann.dat)
  • ASCII format of JANUARY grid(rp-modelb_jan.dat)
  • ASCII format of FEBRUARY grid (rp-modelb_feb.dat)
  • ASCII format of MARCH grid (rp-modelb_mar.dat)
  • ASCII format of APRIL grid (rp-modelb_apr.dat)
  • ASCII format of MAY grid (rp-modelb_may.dat)
  • ASCII format of JUNE grid (rp-modelb_jun.dat)
  • ASCII format of JULY grid (rp-modelb_jul.dat)
  • ASCII format of AUGUST grid (rp-modelb_aug.dat)
  • ASCII format of SEPTEMBER grid (rp-modelb_sep.dat)
  • ASCII format of OCTOBER grid (rp-modelb_oct.dat)
  • ASCII format of NOVEMBER grid (rp-modelb_nov.dat)
  • ASCII format of DECEMBER grid (rp-modelb_dec.dat)
  • Graphic Map, "Global Patterns of Carbon Dioxide Emissions from Soils - Annual" (annual.gif)
  • Graphic Map, "Global Patterns of Carbon Dioxide Emissions from Soils - January" (jan.gif)
  • Graphic Map, "Global Patterns of Carbon Dioxide Emissions from Soils - February" (feb.gif)
  • Graphic Map, "Global Patterns of Carbon Dioxide Emissions from Soils - March" (mar.gif)
  • Graphic Map, "Global Patterns of Carbon Dioxide Emissions from Soils - April" (apr.gif)
  • Graphic Map, "Global Patterns of Carbon Dioxide Emissions from Soils - May" (may.gif)
  • Graphic Map, "Global Patterns of Carbon Dioxide Emissions from Soils - June" (jun.gif)
  • Graphic Map, "Global Patterns of Carbon Dioxide Emissions from Soils - July" (jul.gif)
  • Graphic Map, "Global Patterns of Carbon Dioxide Emissions from Soils - August" (aug.gif)
  • Graphic Map, "Global Patterns of Carbon Dioxide Emissions from Soils - September" (sep.gif)
  • Graphic Map, "Global Patterns of Carbon Dioxide Emissions from Soils - October" (oct.gif)
  • Graphic Map, "Global Patterns of Carbon Dioxide Emissions from Soils - November" (nov.gif)
  • Graphic Map, "Global Patterns of Carbon Dioxide Emissions from Soils - December" (dec.gif)

This database contains global, spatially explicit (0.5-degree grid cells) and temporally explicit (monthly and annual) model output of soil CO2 emissiyalar. The calculated emissions include the respiration of both soil organisms and plant roots. Maps representing the soil emissions data are available for download and viewing as *.gif files.

The model (model B) used for these calculations is described in Raich and Potter (1995). The model is based on a stepwise linear multiple regression of 977 individual aggregated records of geographically referenced data on daily and/or monthly rates of CO2 flux rates from intact soils, temperature, precipitation, potential evapotranspiration, vegetation type, soil moisture status, and organic carbon and nitrogen contents of soil. These data points represent grid cells from every continent except Antarctica. Temperature and soil moisture status, as predicted by precipitation, were the only variables significantly correlated with soil CO2 efflux. Temperature and precipitation were, therefore, used as driving variables. The remaining model parameters for the mechanistic aspect of the model are (1) the soil CO2 efflux rate when temperature is zero and moisture not limiting, (2) the temperature coefficient and (3) the half-saturation coefficient of the precipitation function. These were obtained by Raich and Potter (1995) using least squares estimates with both Quasi-Newton and Simplex methods as described in Wilkinson (1990).

  1. Soil CO2 fluxes were presumed to be zero at average monthly air temperatures less than -13.3 degrees Celsius
  2. For all temperatures greater than 33.5 degrees Celsius, soil CO2 fluxes were set equal to the rate predicted at 33.5 degrees Celsius.

Raich and Potter (1995) evaluated their model predictions against previously published annual soil respiration rates from specific locations and with published predictions by an annual model (Raich and Schlesinger, 1992) through linear regressions of predicted versus observed (or previously published predicted) soil emissions. Correlation coefficients were close to 0.5, intercepts not significantly different from zero and slopes not significantly different from one, indicating that the reliability of the predictions was not diminished by the monthly timescale and that the model provides quantitatively meaningful estimates of annual soil emissions.

One of the roles of the Carbon Dioxide Information Analysis Center (CDIAC) is quality assurance (QA) of data. The QA process is an important component of the value-added concept of assuring accurate, usable information for researchers, because data received by CDIAC are rarely in condition for immediate distribution, regardless of source. The following summarizes the QA checks performed on the Model B output presented in the data files:

  1. To get correct latitude/longitude locations for soil emissions, we plotted the predicted emissions over maps of vegetation types at the one degree grid cell level by Matthews (1985), and on the half degree grid cell level by Post et. al. (1996), and Olsen et al. (CDIAC, 1985). For the soil emission plots the 0.5 degree latitude band containing the Greenwich meridian and the 0.5 degree longitude band around the equator had to be skipped to achieve proper coastline alignment.
  2. When Model B output per grid cell (g C/m 2 /yr or /month) was multiplied by grid cell area (m 2 ) (calculated according to the program from the Goddard Institute for Space Studies (see IV)), and these products summed, total global soil emission was found to be 80.4 Pg C/yr, while the published Model B value was 77.1 Pg C/yr (Table 1 & p 27 in Raich and Potter, 1995). Using the landmask information, provided by the authors, reduced the total global soil emission to 77.8 Pg C/yr.
  3. The contributors of the model output (authors of the paper) are in agreement with CDIAC analysts about the necessity of reporting the above mentioned two points.

Matthews, E. 1985. Atlas of Archived Vegetation, Land-Use and Seasonal Albedo Data Sets. Goddard Space Flight Center Institute for Space Studies. N.Y, N.Y.

Olson, J. S., J. A. Watts and L. J. Allison. 1985. Major World Ecosystem Complexes Ranked by Carbon in Live Vegetation: A Database. NDP017. Carbon Dioxide Information Analysis Center, Oak Ridge National Laboratory. Oak Ridge, Tennessee.

Post, W. M., A. W. King and S. D. Wullschleger, 1996. Soil Organic Matter Models and Global Estimates of Soil Organic Carbon. Nato ASI Series Vol 138: 201-222.

Raich, J. W. and C. S. Potter. 1995. Global Patterns of Carbon Dioxide Emissions from Soils. Global Biogeochemical Cycles 9(1)23-36.
Raich, J. W. and W. H. Schlesinger. 1992. The Global Carbon Dioxide Flux in Soil Respiration and its Relationship to Vegetation and Climate. Tellus. Ser. B 44:81-99.

Wilkinson, L. 1990. SYSTAT: The System for Statistics. version 5.0, SYSTAT: Evanston, Ill.

  1. FTP to cdiac.ornl.gov (128.219.24.36).
  2. Enter "ftp" as the user id.
  3. Enter your electronic mail address as the password (e.g., [email protected]).
  4. Change to the directory "pub/db1015" (i.e., use the command "cd pub/db1015").
  5. Set ftp to get ASCII files by using the ftp "ascii" command.
  6. Retrieve the ASCII database documentation file by using the ftp "get db1015.txt" command.
  7. Retrieve the ASCII data files by using the ftp "mget *.dat" command.
  8. Set ftp to get grpahics files by using the ftp "binary" command.
  9. Retrieve the graphics files (maps) files by using the ftp "mget *.gif" command.
  10. Exit the system by using the ftp "quit" command.

Carbon Dioxide Information Analysis Center
Oak Ridge Milli Laboratoriyası
P.O. Box 2008
Oak Ridge, Tennessee 37831-6290, U.S.A.

Telephone: 1-865-574-3645
Telefax: 1-865-574-2232
E-mail: [email protected]

  1. rp-modelb_ann.dat
  2. rp-modelb_jan.dat
  3. rp-modelb_feb.dat
  4. rp-modelb_mar.dat
  5. rp-modelb_apr.dat
  6. rp-modelb_may.dat
  7. rp-modelb_jun.dat
  8. rp-modelb_jul.dat
  9. rp-modelb_aug.dat
  10. rp-modelb_sep.dat
  11. rp-modelb_oct.dat
  12. rp-modelb_nov.dat
  13. rp-modelb_dec.dat
  14. landmask.dat
  1. db1015.txt
  1. ann.gif
  2. jan.gif
  3. feb.gif
  4. mar.gif
  5. apr.gif
  6. may.gif
  7. jun.gif
  8. jul.gif
  9. aug.gif
  10. sep.gif
  11. oct.gif
  12. nov.gif
  13. dec.gif

The db1015.txt (File 1) file is an ASCII text equivalent of this document.

Fourteen flat ASCII data files are provided with this data package.

The 'rp-modelb.*' files (13 files):

Thirteen global 0.5 degree lat/lon output files were produced by Model B as described in Raich and Potter (1995):

  • Twelve files representing the monthly CO2 flux from soil.
  • One file representing the annual CO2 flux from soil.

Predicted CO2 flux from soil is expressed in units (integer format) of grams carbon (*100) per square meter of soil area.

Note: (*100) conserves two decimal places for unit grams.

A 0.5 degree lat/lon file with grid cell area information on land/water designations. This file was used by the authors in the global summation of soil emissions.

The data files are in ASCII GRID (text) format for ARC/INFO. Each file contains a single ASCII array with integer values. Coordinates listed below are in decimal degrees.

The ASCII file consists of header information containing a set of keywords, followed by cell values in row-major order. The file format is:

where xxx is a number, and the keyword NODATA_VALUE is optional and defaults to -9999. Row 1 of the data is at the top of the grid, row 2 is just under row 1 and so on. The end of each row of data from the grid is terminated with a carriage return in the file.


To import this file into ArcInfo use the following command at an ARC prompt:
ASCIIGRID
Arqumentlər
- the ASCII file to be converted.
- the name of the grid to be created.
- the data type of the output grid.
INT - an integer grid will be created.
FLOAT - a floating-point grid will be created.

A FORTRAN program designed to read and print the contents of these ASCII data is also included below.


The R paket landscapemetrics

The core of landscapemetrics comprises functions to calculate landscape metrics and uses raster data as input. Therefore, the package is mainly based on the well-established raster package (Hijmans 2019 ), but the use of next-generation frameworks is also possible (ulduzlar package, Pebesma 2019 ).

At present, landscapemetrics primarily includes the so-called FRAGSTATS-style metrics (Kupfer 2012 , McGarigal et al. 2012 ), but other types of metrics are planned for future updates. The current software version includes metrics on all available levels, namely patch-, class- and landscape-level. Patch-level metrics describe every patch in a landscape (a patch being defined as contiguous cells belonging to the same land-cover class). Class-level metrics describe all patches belonging to a certain land-cover class. Lastly, landscape-level metrics describe the characteristics of the entire landscape (McGarigal et al. 2012 ). Additionally, landscape metrics can be classified according to the characteristics of the landscape they (conceptually) describe (McGarigal et al. 2012 , Šímová and Gdulová 2012 ). landscapemetrics includes area and edge metrics, shape metrics, core area metrics, aggregation metrics, diversity metrics, as well as complexity metrics. For a full list of all metrics, see the package documentation (<https://r-spatialecology.github.io/landscapemetrics>).

Improvements over existing software tools

Though popular, FRAGSTATS has certain drawbacks (Table 1). As a stand-alone software, it requires data import to the software for integration into large workflows. If the resulting metrics are the basis for further analysis, they must then be exported to yet another program. Additionally, the analysis of several input layers or the use on high-performance clusters is rather laborious. Həmçinin, FRAGSTATS is not open-source software and only available for Windows operating systems. This can complicate transparency and reproducibility of the analysis workflow, and collaboration among researchers using different computing platforms.

Xüsusiyyətlər FRAGSTATS SDMTools landscapemetrics
open-source software no bəli bəli
cross-platform compatibility no bəli bəli
available metric levels p, c, l p, c p, c, l
parametrization of metrics bəli no bəli
tidy data format no no bəli
easy integration into workflows no no bəli
utility functions sampling no various
restrictions due to numeric precision yes 1 no no

Əksinə, R is open-source and available for most common operating systems (including Windows, macOS and Linux). The existing R paket SDMTools calculates a limited number of landscape metrics, and thereby overcomes some of the above-mentioned limitations of FRAGSTATS. But, as this package was primarily developed for species distribution modelling rather than landscape analysis, it cannot fully replace FRAGSTATS (Cədvəl 1). The use of the package for landscape analysis is rather cumbersome. To calculate patch-level metrics, the data must first be converted to a matrix and a loop through all land-cover classes implemented (Example 1). Bundan əlavə, SDMTools does not permit a sub-selection of metrics and no further parameterization of metrics is possible. Additionally, the user must specify the cell resolution manually for all area- and distance-related calculations, introducing a possible error source. Also, the output format makes integration of the results into large workflows difficult. Lastly, to our knowledge, SDMTools is not actively developed anymore.

landscapemetrics provides an extensive collection of widely used landscape metrics for discrete land-cover maps, including most of the commonly used metrics used in landscape analysis (Cushman et al. 2008, Schindler et al. 2008, Lustig et al. 2015), as well as some recent ones (e.g. joint entropy, Nowosad and Stepinski 2019 ). Çünki landscapemetrics is written in the R programming language, it operates across operating platforms. Given the variety of R packages, this also enables the user to run the software easily in parallel or on high-performance clusters. To ensure integration into large workflows, landscapemetrics is based on a well-established spatial framework in R (mainly the raster package). This allows pre-processing of data, calculation of metrics, and further analysis of the results, all within the same software environment. This also facilitates its usage with other spatial objects in R (məs. sp spatial points, Pebesma and Bivand 2005 ). Additionally, the use of raster data has advantages in having all required spatial information included and eliminating possible error sources, such as a mis-specified cell size. To simplify integration further, the output of all metric functions is tidy (sensu Wickham 2014) and type stable, meaning the returning data frame is identically structured regardless of the level or metric (Table 2). This facilitates reproducible workflows (Sandve et al. 2013). The package is open-source, which allows users to comprehend and improve upon existing metrics, as well as to contribute new functions. All functions were designed to calculate landscape metrics in a straightforward way (Example 1). Lastly, the package provides several utility functions (Table 3) to facilitate visualization, extraction, sampling and development of metrics.

Layer <integer> Level <character> Class <integer> ID <integer> Metric <character> Value <double>
ID of landscape Level of metric ID of class NA for landscape level ID of patch NA for class and landscape level Abbreviation of metric Value of metric
Area of application Function name Təsvir
Visualization show_patches() Plot patches in the landscape
Visualization show_cores() Plot core areas in the landscape
Visualization show_lsm() Plot landscape filling cells with patch level metric value
Visualization show_correlation() Show correlation between metrics
Nümunə götürmə sample_lsm() Sample metrics in a buffer around sample points
Nümunə götürmə extract_lsm() Extract landscape metric of patches enclosing sample points
Nümunə götürmə window_lsm() Moving window analysis
Building block get_adjacencies() Get class cell adjacencies
Building block get_boundaries() Get boundary cells of patches
Building block get_circumscribingcircle() Get diameter of the smallest circumscribing circle around patches
Building block get_nearestneighbour() Get minimum Euclidean distance between classes
Building block get_patches() Patch delineation
Müxtəlif check_landscape() Check if input fulfils package requirements
Müxtəlif list_lsm() List all available metrics
Müxtəlif spatialize_lsm() Assign patch metric to each cell

Calculation of landscape metrics

The first step of every analysis should be a check if the input raster is suitable for landscapemetrics using check_landscape(). The function checks if the coordinate reference system is projected, if the cell units are in meters, if the classes are decoded as integer values, and if the number of different values is reasonable (in other words if discrete land-cover classes are present). In case the input is not or only partially suitable, a corresponding warning is produced. This means that a calculation of metrics is still possible, but some results must be interpreted with caution (e.g. area- and distance-related metrics).

To get an overview of all available metrics, landscapemetrics provides the function list_lsm(). It is possible to specify metrics by name, level, and/or type. Of course, all specifications can be combined. Also, rather than a data frame, it is possible to return a vector with function names. For example, the vector format makes it straightforward to get only the function names of all patch- and class-level aggregation metrics for later use by list_lsm(level = c("patch", "class"), type = "aggregation metric", simplify = TRUE).

All functions to calculate landscape metrics are consistently named in landscapemetrics. Functions to calculate a given metric have the prefix ‘lsm_’ followed by an abbreviation for the level (‘p’, ‘c’ or ‘l’ for patch-, class- and landscape-level, respectively) and lastly for the metric itself. For example, the class area for each land-cover class is calculated simply by lsm_c_ca(). All functions can handle several landscapes as input (either a list of RasterLayers or a RasterStack/RasterBrick).

Several metrics, regardless of the level, can easily be combined into one data frame because the resulting output is always an identically structured data frame (Table 2). Therefore, the results of the desired metrics can be combined using, for example, rbind(lsm_p_area(x), lsm_l_ai(x)). Because all output is tidy following widely accepted data science standards, further analysis of the resulting data frame is possible without laborious data import/export or formatting (see Use case).

Many functions provide additional parametrization, such as the edge depth or the cell neighbourhood rule for patch delineation. For example, to change the patch delineation rule for the patch area, only the argument directions must be changed from its default using the ‘queen's case’ (eight neighbouring cells) to the ‘rook's case’ (four neighbouring cells), i.e. lsm_p_area(x, directions = 4). Of course, all arguments are consistently named across metrics.

The calculate_lsm() wrapper can be used to calculate several metrics simultaneously. Similar to list_lsm(), this wrapper allows specifying a subset of metrics using the name, level, and/or type, such as calculate_lsm(x, level = “landscape”, type = “diversity metric”). Alternatively, a vector (e.g. previously created using list_lsm()) with function names can be provided as what-argument. The returning data frame is identical to the output of all single metric functions.

result_patch <- list() # preallocate list

classes <- unique(landscape) # all present classes

landscape_matrix <- as.matrix(landscape) # convert to matrix

landscape_matrix[landscape_matrix != i] <- 0 # binarize landscape

landscape_matrix[landscape_matrix == i] <- 1 # binarize landscape

ccl <- ConnCompLabel(landscape_matrix) # get patches

result_patch[[i]] <- PatchStat(ccl, cellsize = 1) # patch metrics

.id = “classID”) # combine to one df

patchID != 0) # only present classes

area_SDM <- result_patch[, c(1, 2, 7)] # select only area

perim_SDM <- result_patch[, c(1, 2, 9)] # select only perimeter

area_lsm <- lsm_p_area(landscape) # calculate patch area

perim_lsm <- lsm_p_perim(landscape) # calculate patch perimeter

Example 1. Comparison of SDMToolslandscapemetrics workflows to calculate patch area and patch perimeter. SDMTools requires a loop through all present land-cover classes and a binarization of the input to 1 for the current class and 0 for all other classes. Also, the desired metrics must be filtered from the resulting data frame

Utility functions

An additional advantage of landscapemetrics over existing software tools for landscape analysis lies in its utility functions (Table 3). These functions are designed to facilitate the application, visualization, extraction, sampling and development of landscape metrics.

Visualization functions, which help to understand and communicate metrics, start with the prefix ‘show_’ followed by the subject to visualize. It is possible to include either all classes in one plot (class = “global”), all classes but each plotted separately (class = “all”) or just selected classes (class = c(1, 3)). Patches in a landscape can be visualized by show_patches() (Fig. 1B), or to visualize only the core area, there is show_cores() (Fig. 1C). Additionally, patches can be filled with the value of any patch level metric, such as the patch area using show_lsm(x, what = “lsm_p_area”). It is also possible the get the result as a RasterLayer, using spatialize_lsm(). In the returning RasterLayer, each cell has the value of the corresponding patch for any chosen metric. Correlations between metrics can be problematic (Cushman et al. 2008, Schindler et al. 2008, Nowosad and Stepinski 2018 b) and the selection of mainly uncorrelated metrics can be a challenge. Providing a data frame with metric results, show_correlations() returns a correlation matrix plot.

Visualization of an example landscape (a) using the utility functions show_patches() (b) and show_cores() (c) for a selected class.

There are several functions to sample landscape metrics. Sample locations can be provided either as a matrix including x- and y-coordinates or as sp-objects and for all sampling functions, the metrics can be specified similar to list_lsm(). The function extract_lsm() returns the patch-level metric values of each patch in which sample points are located. To calculate metrics in a buffer around sample points, sample_lsm() can be used, allowing to specify the shape (circle, square or rectangle) and the area of buffers around sample points, and then calculates the specified metrics. Landscape metrics are known to be scale dependent (Lausch and Herzog 2002 , Wu 2004 , Lustig et al. 2015) and using a moving window can be an approach to deal with this (Su et al. 2011 ). The moving window assigns to each focal cell in the landscape the metric value of its local neighbourhood specified by a neighbourhood matrix (McGarigal et al. 2012 ). The resulting raster describes the landscape in regard to the local variability of the chosen metric (Hagen-Zanker 2016 ). Within landscapemetrics, a moving window approach can be applied by using window_lsm(). The local neighborhood can be specified using, for example, window <- matrix(1, nrow = 5,ncol = 5), followed by window_lsm(x, window = window, what = c("lsm_l_pr", "lsm_l_joinent")).

Lastly, landscapemetrics provides several building-blocks to develop and contribute new metrics. These functions all start with the prefix ‘get_’ and are mainly computationally fast C/C++ implementations of common raster procedures. Of these, get_patches() is the most fundamental, as it returns all connected cells as patches and is used in most metrics. Another useful function is get_adjacencies(), which returns the adjacency matrix of all cells, and is easier to use, faster and more memory efficient than its equivalent in the raster package (Example 2). Finally, get_nearestneigbhour() returns the minimum Euclidean distance between patches of the same class, and get_circumscribingcircle() returns the diameter of the smallest circumscribing circle around each patch.


Videoya baxın: تحويل مسار Fill الى Stroke فى اليستريتور