Anda di halaman 1dari 9

Buku ini membahas tentang menggunakan kekuatan komputer untuk melakukan sesuatu dengan data

geografis. Ini mengajarkan berbagai keterampilan spasial, termasuk: membaca, menulis dan
memanipulasi data geografis; membuat peta statis dan interaktif; menerapkan geocomputation untuk
memecahkan masalah dunia nyata; dan pemodelan fenomena geografis. Dengan mendemonstrasikan
bagaimana berbagai operasi geografis dapat dihubungkan, dalam 'potongan kode' yang dapat
direproduksi yang menyelingi prosa, buku ini juga mengajarkan alur kerja yang transparan dan dengan
demikian ilmiah. Mempelajari cara menggunakan kekayaan alat geospasial yang tersedia dari baris
perintah R bisa menjadi hal yang menarik, tetapi membuat yang baru bisa sangat membebaskan.
Menggunakan pendekatan berbasis baris perintah yang diajarkan di seluruh bagian, dan teknik
pemrograman yang dibahas dalam Bab 10, dapat membantu menghilangkan kendala pada kreativitas
Anda yang disebabkan oleh perangkat lunak. Setelah membaca buku dan menyelesaikan latihan, Anda
akan merasa diberdayakan dengan pemahaman yang kuat tentang kemungkinan yang dibuka oleh
kemampuan geografis R yang mengesankan, keterampilan baru untuk memecahkan masalah dunia
nyata dengan data geografis, dan kemampuan untuk mengkomunikasikan pekerjaan Anda dengan peta
dan kode yang dapat direproduksi.

Selama beberapa dekade terakhir, perangkat lunak gratis dan sumber terbuka untuk geospasial
(FOSS4G) telah berkembang dengan sangat pesat. Berkat organisasi seperti OSGeo, analisis data
geografis tidak lagi disimpan oleh mereka yang memiliki perangkat keras dan lunak yang mahal: siapa
pun sekarang dapat mengunduh dan menjalankan perpustakaan spasial berkinerja tinggi. Sistem
Informasi Geografis (GIS) sumber terbuka, seperti QGIS, telah membuat analisis geografis dapat diakses
di seluruh dunia. Program GIS cenderung menekankan antarmuka pengguna grafis (GUI), dengan
konsekuensi yang tidak disengaja yaitu menghambat reproduktifitas (walaupun banyak yang dapat
digunakan dari baris perintah seperti yang akan kita lihat di Bab 9). R, sebaliknya, menekankan
antarmuka baris perintah (CLI). Perbandingan sederhana antara pendekatan yang berbeda diilustrasikan
pada Tabel 1.1.

Buku ini dilatarbelakangi oleh pentingnya reproduktifitas untuk penelitian ilmiah (lihat catatan di
bawah). Ini bertujuan untuk membuat alur kerja analisis data geografis yang dapat direproduksi lebih
mudah diakses, dan mendemonstrasikan kekuatan perangkat lunak geospasial terbuka yang tersedia
dari baris perintah. “Antarmuka ke perangkat lunak lain adalah bagian dari R” (Eddelbuettel dan
Balamuta 2018). Ini berarti bahwa selain kemampuan 'in-house' yang luar biasa, R memungkinkan akses
ke banyak perpustakaan perangkat lunak spasial lainnya, dijelaskan di Bagian 1.2 dan didemonstrasikan
di Bab 9. Namun, sebelum masuk ke detail perangkat lunak, ada baiknya mengambil langkah kembali
dan memikirkan tentang apa yang kami maksud dengan geocomputation.

Geocomputation adalah istilah muda, yang berasal dari konferensi pertama pada subjek pada tahun
1996.1 Apa yang membedakan geocomputation dari (pada saat itu) istilah yang umum digunakan
'geografi kuantitatif', yang diusulkan oleh pendukung awalnya, adalah penekanannya pada aplikasi
"kreatif dan eksperimental" (Longley et al. 1998) dan pengembangan alat dan metode baru (Openshaw
dan Abrahart 2000): “GeoComputation adalah tentang menggunakan berbagai jenis geodata dan
tentang mengembangkan alat-geo yang relevan dalam konteks keseluruhan dari pendekatan 'ilmiah' . ”
Buku ini bertujuan untuk melampaui metode pengajaran dan kode; pada akhirnya Anda harus dapat
menggunakan keterampilan geokomputasi Anda, untuk melakukan "kerja praktek yang bermanfaat atau
berguna" (Openshaw dan Abrahart 2000).

Pendekatan kami berbeda dari pengguna awal seperti Stan Openshaw, bagaimanapun, dalam
penekanannya pada reproduktifitas dan kolaborasi. Pada pergantian abad ke-21, tidak realistis
mengharapkan pembaca dapat mereproduksi contoh kode, karena hambatan yang mencegah akses ke
perangkat keras, perangkat lunak, dan data yang diperlukan. Maju cepat dua dekade dan banyak hal
telah berkembang pesat. Siapa pun yang memiliki akses ke laptop dengan RAM ~ 4GB dapat secara
realistis berharap dapat menginstal dan menjalankan perangkat lunak untuk komputasi geo pada
kumpulan data yang dapat diakses publik, yang lebih banyak tersedia daripada sebelumnya (seperti yang
akan kita lihat di Bab 7) .2 Tidak seperti karya awal di lapangan, semua karya yang disajikan dalam buku
ini dapat direproduksi menggunakan kode dan contoh data yang disediakan di samping buku, dalam
paket R seperti spData, yang pemasangannya dibahas pada Bab 2.

Geocomputation sangat erat kaitannya dengan istilah lain antara lain: Ilmu Informasi Geografis
(GIScience); Geomatika; Geoinformatika; Ilmu Informasi Spasial; Rekayasa Geoinformasi (Longley 2015);
dan Ilmu Data Geografis (GDS). Setiap istilah berbagi penekanan pada pendekatan 'ilmiah' (menyiratkan
direproduksi dan dapat dipalsukan) yang dipengaruhi oleh GIS, meskipun asal dan bidang aplikasi utama
berbeda. GDS, misalnya, menekankan keterampilan 'ilmu data' dan kumpulan data yang besar,
sedangkan Geoinformatika cenderung berfokus pada struktur data. Tetapi tumpang tindih antara istilah-
istilah tersebut lebih besar daripada perbedaan di antara mereka dan kami menggunakan
geocomputation sebagai sinonim kasar yang merangkum semuanya: semuanya berusaha menggunakan
data geografis untuk karya ilmiah terapan. Tidak seperti pengguna awal istilah ini, bagaimanapun, kami
tidak berusaha untuk menyiratkan bahwa ada bidang akademis yang kohesif yang disebut
'Geocomputation' (atau 'GeoComputation' seperti yang disebut Stan Openshaw). Alih-alih, kami
mendefinisikan istilah sebagai berikut: bekerja dengan data geografis dengan cara komputasi, berfokus
pada kode, reproduktifitas, dan modularitas.

Geocomputation adalah istilah baru tetapi dipengaruhi oleh ide-ide lama. Ini dapat dilihat sebagai
bagian dari Geografi, yang memiliki sejarah 2000+ tahun (Talbert 2014); dan perpanjangan Sistem
Informasi Geografis (GIS) (Neteler dan Mitasova 2008), yang muncul pada 1960-an (Coppock dan Rhind
1991).

Namun, geografi telah memainkan peran penting dalam menjelaskan dan memengaruhi hubungan
manusia dengan alam jauh sebelum komputer ditemukan. Perjalanan Alexander von Humboldt ke
Amerika Selatan di awal 1800-an menggambarkan peran ini: tidak hanya pengamatan yang dihasilkan
meletakkan dasar bagi tradisi geografi fisik dan tumbuhan, tetapi juga membuka jalan menuju kebijakan
untuk melindungi alam (Wulf 2015). Buku ini bertujuan untuk berkontribusi pada 'Tradisi Geografis'
(Livingstone 1992) dengan memanfaatkan kekuatan komputer modern dan perangkat lunak sumber
terbuka.
Tautan buku ke disiplin ilmu yang lebih lama tercermin dalam judul yang disarankan untuk buku:
Geografi dengan R dan R untuk GIS. Masing-masing memiliki kelebihan. Yang pertama menyampaikan
pesan bahwa ia terdiri lebih dari sekadar data spasial: data atribut non-spasial pasti terjalin dengan data
geometri, dan Geografi lebih dari sekadar di mana ada sesuatu di peta. Yang terakhir
mengkomunikasikan bahwa ini adalah buku tentang penggunaan R sebagai GIS, untuk melakukan
operasi spasial pada data geografis (Bivand, Pebesma, dan Gómez-Rubio 2013). Namun, istilah GIS
menyampaikan beberapa konotasi (lihat Tabel 1.1) yang gagal mengkomunikasikan salah satu kekuatan
terbesar R: kemampuannya yang berbasis konsol untuk secara mulus beralih antara tugas pemrosesan
data geografis dan non-geografis, pemodelan dan visualisasi. Sebaliknya, istilah komputasi geografis
menyiratkan pemrograman yang dapat direproduksi dan kreatif. Tentu saja, algoritma
(geocomputational) adalah alat yang ampuh yang bisa menjadi sangat kompleks. Namun, semua
algoritme terdiri dari bagian-bagian yang lebih kecil. Dengan mengajari Anda dasar dan struktur
dasarnya, kami bertujuan untuk memberdayakan Anda untuk menciptakan solusi inovatif Anda sendiri
untuk masalah data geografis.

1.2 Mengapa menggunakan R untuk geocomputation?

Ahli geografi awal menggunakan berbagai alat termasuk barometer, kompas, dan sekstan untuk
memajukan pengetahuan tentang dunia (Wulf 2015). Hanya dengan penemuan kronometer laut pada
tahun 1761, penghitungan garis bujur di laut memungkinkan kapal untuk mengambil rute yang lebih
langsung.

Saat ini kekurangan data geografis sulit dibayangkan. Setiap ponsel memiliki penerima pemosisian global
(GPS) dan banyak sensor pada perangkat mulai dari satelit dan kendaraan semi-otonom hingga ilmuwan
warga yang tak henti-hentinya mengukur setiap bagian dunia. Laju data yang dihasilkan sangat banyak.
Kendaraan otonom, misalnya, dapat menghasilkan 100 GB data per hari (The Economist 2016). Data
penginderaan jauh dari satelit telah menjadi terlalu besar untuk menganalisis data yang sesuai dengan
satu komputer, yang mengarah pada inisiatif seperti OpenEO.

'Revolusi geodata' ini mendorong permintaan akan perangkat keras komputer berkinerja tinggi dan
perangkat lunak yang efisien dan dapat diskalakan untuk menangani dan mengekstrak sinyal dari
kebisingan, untuk memahami dan mungkin mengubah dunia. Basis data spasial memungkinkan
penyimpanan dan pembuatan subset yang dapat dikelola dari penyimpanan data geografis yang luas,
membuat antarmuka untuk memperoleh pengetahuan darinya menjadi alat penting untuk masa depan.
R adalah salah satu alat tersebut, dengan kemampuan analisis, pemodelan dan visualisasi tingkat lanjut.
Dalam konteks ini fokus buku tersebut bukan pada bahasanya sendiri (lihat Wickham 2014a). Sebaliknya,
kami menggunakan R sebagai 'alat untuk perdagangan' untuk memahami dunia, mirip dengan
penggunaan alat Humboldt untuk mendapatkan pemahaman yang mendalam tentang alam dalam
semua kompleksitas dan interkoneksinya (lihat Wulf 2015). Meskipun pemrograman dapat tampak
seperti aktivitas reduksionis, tujuannya adalah untuk mengajarkan komputasi geografis dengan R tidak
hanya untuk bersenang-senang, tetapi untuk memahami dunia.
R adalah multi-platform, bahasa dan lingkungan open source untuk komputasi statistik dan grafik (r-
project.org/). Dengan berbagai macam paket, R juga mendukung statistik geospasial lanjutan,
pemodelan dan visualisasi. Lingkungan pengembangan terintegrasi (IDE) baru seperti RStudio telah
membuat R lebih ramah pengguna bagi banyak orang, memudahkan pembuatan peta dengan panel
yang didedikasikan untuk visualisasi interaktif.

Pada intinya, R adalah bahasa pemrograman fungsional berorientasi objek (Wickham 2014a), dan
dirancang khusus sebagai antarmuka interaktif ke perangkat lunak lain (Chambers 2016). Yang terakhir
ini juga mencakup banyak 'jembatan' ke harta karun perangkat lunak GIS, 'perpustakaan geografis' dan
fungsi (lihat Bab 9). Sehingga ideal untuk membuat 'geo-tools' dengan cepat, tanpa perlu menguasai
bahasa tingkat yang lebih rendah (dibandingkan dengan R) seperti C, FORTRAN atau Java (lihat Bagian
1.3). Ini bisa terasa seperti terbebas dari 'langit-langit kaca' metafora yang diberlakukan oleh sistem
informasi geografis berbasis GUI atau kepemilikan (lihat Tabel 1.1 untuk definisi GUI). Lebih lanjut, R
memfasilitasi akses ke bahasa lain: paket Rcpp dan reticulate mengaktifkan akses ke kode C ++ dan
Python, misalnya. Ini berarti R dapat digunakan sebagai 'jembatan' ke berbagai program geospasial (lihat
Bagian 1.3).

Contoh lain yang menunjukkan fleksibilitas R dan kemampuan geografis yang berkembang adalah
pembuatan peta interaktif. Seperti yang akan kita lihat di Bab 8, pernyataan bahwa R memiliki "fasilitas
interaktif [plot] yang terbatas" (Bivand, Pebesma, dan Gómez-Rubio 2013) tidak lagi benar. Hal ini
ditunjukkan oleh potongan kode berikut, yang menciptakan Gambar 1.1 (fungsi yang menghasilkan plot
dibahas dalam Bagian 8.4).

perpustakaan (leaflet)

popup = c ("Robin", "Jakub", "Jannes")

selebaran ()%>%

addProviderTiles ("NASAGIBS.ViirsEarthAtNight2012")%>%

addMarkers (lng = c (-3, 23, 11),

lat = c (52, 53, 49),

popup = popup)

Akan sulit untuk menghasilkan Gambar 1.1 menggunakan R beberapa tahun yang lalu, apalagi sebagai
peta interaktif. Ini menggambarkan fleksibilitas R dan bagaimana, berkat perkembangan seperti knitr
dan leaflet, dapat digunakan sebagai antarmuka ke perangkat lunak lain, tema yang akan muncul di
seluruh buku ini. Penggunaan kode R, oleh karena itu, memungkinkan pengajaran geokomputasi dengan
mengacu pada contoh yang dapat direproduksi seperti yang diberikan dalam Gambar 1.1 daripada
konsep abstrak.
1.3 Perangkat lunak untuk geokomputasi

R adalah bahasa yang ampuh untuk geokomputasi tetapi ada banyak opsi lain untuk analisis data
geografis yang menyediakan ribuan fungsi geografis. Kesadaran bahasa lain untuk geocomputation akan
membantu memutuskan kapan alat yang berbeda mungkin lebih sesuai untuk tugas tertentu, dan
menempatkan R dalam ekosistem geospasial yang lebih luas. Bagian ini secara singkat memperkenalkan
bahasa C ++, Java dan Python untuk geokomputasi, sebagai persiapan untuk Bab 9.

Fitur penting dari R (dan Python) adalah bahasa yang ditafsirkan. Ini menguntungkan karena
memungkinkan pemrograman interaktif dalam Read – Eval – Print Loop (REPL): kode yang dimasukkan
ke konsol segera dieksekusi dan hasilnya dicetak, daripada menunggu kompilasi tahap perantara. Di sisi
lain, bahasa yang dikompilasi seperti C ++ dan Java cenderung berjalan lebih cepat (setelah dikompilasi).

C ++ menyediakan dasar untuk banyak paket GIS seperti QGIS, GRASS dan SAGA sehingga ini adalah titik
awal yang masuk akal. C ++ yang ditulis dengan baik sangat cepat, menjadikannya pilihan yang baik
untuk aplikasi yang sangat penting bagi kinerja seperti memproses kumpulan data geografis yang besar,
tetapi lebih sulit dipelajari daripada Python atau R. C ++ menjadi lebih dapat diakses dengan paket Rcpp,
yang menyediakan 'kebaikan' cara masuk 'ke pemrograman C untuk pengguna R. Kemahiran dengan
bahasa tingkat rendah seperti itu membuka kemungkinan untuk membuat 'geoalgoritma' baru yang
berkinerja tinggi dan pemahaman yang lebih baik tentang cara kerja perangkat lunak GIS (lihat Bab 10).

Java adalah bahasa penting dan serbaguna lainnya untuk geokomputasi. Paket GIS gvSig, OpenJump dan
uDig semuanya ditulis dalam Java. Ada banyak pustaka GIS yang ditulis di Java, termasuk GeoTools dan
JTS, Java Topology Suite (GEOS adalah port C ++ JTS). Selain itu, banyak aplikasi server peta
menggunakan Java termasuk Geoserver / Geonode, deegree dan 52 ° North WPS.

Sintaks berorientasi objek Java mirip dengan C ++. Keuntungan utama Java adalah ia tidak bergantung
pada platform (yang tidak biasa untuk bahasa yang dikompilasi) dan sangat dapat diskalakan,
menjadikannya bahasa yang cocok untuk IDE seperti RStudio, yang digunakan untuk menulis buku ini.
Java memiliki alat yang lebih sedikit untuk pemodelan dan visualisasi statistik daripada Python atau R,
meskipun dapat digunakan untuk ilmu data (Brzustowicz 2017).

Python adalah bahasa penting untuk geocomputation terutama karena banyak Desktop GIS seperti
GRASS, SAGA dan QGIS menyediakan Python API (lihat Bab 9). Seperti R, ini adalah alat yang populer
untuk ilmu data. Kedua bahasa berorientasi objek, dan memiliki banyak area yang tumpang tindih, yang
mengarah ke inisiatif seperti paket reticulate yang memfasilitasi akses ke Python dari R dan inisiatif Ursa
Labs untuk mendukung perpustakaan portabel untuk kepentingan seluruh ekosistem sains data open
source.
Dalam praktiknya, baik R dan Python memiliki kekuatannya masing-masing dan sampai batas tertentu
yang Anda gunakan kurang penting daripada domain aplikasi dan komunikasi hasil. Pembelajaran yang
baik akan memberikan awal dalam mempelajari yang lain. Namun, ada keuntungan besar dari R
dibandingkan Python untuk geokomputasi. Ini termasuk dukungan yang jauh lebih baik dari vektor
model data geografis dan raster dalam bahasa itu sendiri (lihat Bab 2) dan kemungkinan visualisasi yang
sesuai (lihat Bab 2 dan 8). Sama pentingnya, R memiliki dukungan tak tertandingi untuk statistik,
termasuk statistik spasial, dengan ratusan paket (tidak tertandingi oleh Python) yang mendukung ribuan
metode statistik.

Keuntungan utama Python adalah ia merupakan bahasa pemrograman untuk tujuan umum. Ini
digunakan di banyak domain, termasuk perangkat lunak desktop, game komputer, situs web, dan ilmu
data. Python sering kali merupakan satu-satunya bahasa yang digunakan bersama antara komunitas
(komputasi geografis) yang berbeda dan dapat dilihat sebagai 'perekat' yang menyatukan banyak
program GIS. Banyak geoalgoritma, termasuk yang ada di QGIS dan ArcMap, dapat diakses dari baris
perintah Python, membuatnya cocok sebagai bahasa awal untuk baris perintah GIS.

Untuk statistik spasial dan pemodelan prediktif, bagaimanapun, R tidak ada duanya. Ini tidak berarti
Anda harus memilih R atau Python: Python mendukung teknik statistik yang paling umum (meskipun R
cenderung mendukung perkembangan baru dalam statistik spasial sebelumnya) dan banyak konsep
yang dipelajari dari Python dapat diterapkan ke dunia R. Seperti R, Python juga mendukung analisis dan
manipulasi data geografis dengan paket seperti osgeo, Shapely, NumPy dan PyGeoProcessing (Garrard
2016).

1.4 Ekosistem spasial

Ada banyak cara untuk menangani data geografis di R, dengan lusinan paket di area tersebut.4 Dalam
buku ini kami berusaha untuk mengajarkan yang mutakhir di lapangan sambil memastikan bahwa
metode tersebut tahan masa depan. Seperti banyak area pengembangan perangkat lunak, ekosistem
spasial R berkembang pesat (Gambar 1.2). Karena R adalah open source, perkembangan ini dapat
dengan mudah dibangun di atas pekerjaan sebelumnya, dengan 'berdiri di atas bahu raksasa', seperti
yang dikatakan Isaac Newton pada tahun 1675. Pendekatan ini menguntungkan karena mendorong
kolaborasi dan menghindari 'menciptakan kembali roda'. Paket sf (dibahas dalam Bab 2), misalnya,
dibangun di atas pendahulunya sp.

Lonjakan waktu pengembangan (dan minat) dalam 'R-spasial' telah mengikuti pemberian hibah oleh
Konsorsium R untuk pengembangan dukungan untuk Fitur Sederhana, standar dan model sumber
terbuka untuk menyimpan dan mengakses geometri vektor. Ini menghasilkan paket sf (dibahas di Bagian
2.2.1). Banyak tempat mencerminkan minat yang sangat besar pada sf. Hal ini terutama berlaku untuk R-
sig-Geo Archives, daftar email akses terbuka lama yang berisi banyak kebijaksanaan R-spasial yang
terakumulasi selama bertahun-tahun.
Perlu dicatat bahwa pergeseran komunitas R yang lebih luas, seperti yang dicontohkan oleh paket
pemrosesan data dplyr (dirilis pada 2014) memengaruhi pergeseran dalam ekosistem spasial R.
Bersamaan dengan paket lain yang memiliki gaya bersama dan penekanan pada 'data rapi' (termasuk,
misalnya, ggplot2), dplyr ditempatkan di 'metapackage' tidyverse di akhir 2016. Pendekatan tidyverse,
dengan fokus pada data bentuk panjang dan cepat fungsi bernama intuitif, telah menjadi sangat
populer. Hal ini menyebabkan permintaan untuk 'data geografis yang rapi' yang sebagian telah dipenuhi
oleh sf dan pendekatan lain seperti tabularaster. Fitur yang jelas dari tidyverse adalah kecenderungan
paket bekerja secara harmonis. Tidak ada geoverse yang setara, tetapi ada upaya untuk menyelaraskan
antara paket yang dihosting dalam organisasi spasial-r dan semakin banyak paket yang menggunakan sf
(Tabel 1.2).

TABEL 1.2: 5 paket teratas yang paling banyak diunduh yang bergantung pada sf, dalam hal jumlah rata-
rata unduhan per hari selama bulan sebelumnya. Pada 2019-03-08 ada 128 paket yang mengimpor sf

1.5 Sejarah R-spasial

Ada banyak manfaat menggunakan paket spasial terbaru seperti sf, tetapi juga penting untuk
mengetahui riwayat kapabilitas spasial R: banyak fungsi, kasus penggunaan, dan materi pengajaran yang
terkandung dalam paket yang lebih lama. Ini masih bisa berguna hari ini, asalkan Anda tahu di mana
mencarinya.

Kemampuan spasial R berasal dari paket spasial awal dalam bahasa S (Bivand dan Gebhardt 2000).
Tahun 1990-an melihat perkembangan banyak skrip S dan beberapa paket untuk statistik spasial. Paket
R muncul dari ini dan pada tahun 2000 ada paket R untuk berbagai metode spasial "analisis pola titik,
geostatistik, analisis data spasial eksplorasi dan ekonometrik spasial", menurut sebuah artikel yang
disajikan di GeoComputation 2000 (Bivand dan Neteler 2000). Beberapa di antaranya, terutama spasial,
sgeostat dan splanc masih tersedia di CRAN (Rowlingson dan Diggle 1993, 2017; Venables dan Ripley
2002; Majure dan Gebhardt 2016).

Artikel berikutnya di R News (pendahulu The R Journal) berisi gambaran umum perangkat lunak statistik
spasial di R pada saat itu, sebagian besar didasarkan pada kode sebelumnya yang ditulis untuk S / S-PLUS
(Ripley 2001). Tinjauan ini menjelaskan paket untuk penghalusan spasial dan interpolasi, termasuk
akima dan geoR (Akima dan Gebhardt 2016; Ribeiro Jr dan Diggle 2016), dan analisis pola titik, termasuk
splanc (Rowlingson dan Diggle 2017) dan spatstat (Baddeley, Rubak, dan Turner 2015 ).

Terbitan R News berikut (Volume 1/3) kembali menyoroti paket spasial, dengan pengenalan yang lebih
rinci tentang splanc dan komentar tentang prospek masa depan terkait statistik spasial (Bivand 2001).
Selain itu, masalah ini memperkenalkan dua paket untuk menguji autokorelasi spasial yang akhirnya
menjadi bagian dari spdep (Bivand 2017). Khususnya, komentar tersebut menyebutkan perlunya
standarisasi antarmuka spasial, mekanisme yang efisien untuk bertukar data dengan GIS, dan
penanganan metadata spasial seperti sistem referensi koordinat (CRS).

maptools (ditulis oleh Nicholas Lewin-Koh; Bivand dan Lewin-Koh 2017) adalah paket penting lainnya
mulai saat ini. Awalnya maptools hanya berisi pembungkus di sekitar shapelib dan mengizinkan
pembacaan ESRI Shapefile ke dalam daftar bertingkat geometri. Kelas S3 yang sesuai dan sekarang
sudah usang yang disebut "Peta" menyimpan daftar ini bersama bingkai data atribut. Pekerjaan pada
representasi kelas "Peta" tetap penting karena langsung dimasukkan ke dalam sp sebelum
dipublikasikan di CRAN.

Pada tahun 2003 Roger Bivand menerbitkan tinjauan panjang paket spasial. Ini mengusulkan sistem
kelas untuk mendukung "objek data yang ditawarkan oleh GDAL", termasuk jenis titik, garis, poligon,
dan raster 'fundamental'. Selain itu, disarankan antarmuka ke perpustakaan eksternal harus membentuk
dasar dari paket R modular (Bivand 2003). Sebagian besar gagasan ini diwujudkan dalam paket rgdal dan
sp. Ini memberikan dasar untuk analisis data spasial dengan R, seperti yang dijelaskan dalam Analisis
Data Spasial Terapan dengan R (ASDAR) (Bivand, Pebesma, dan Gómez-Rubio 2013), pertama kali
diterbitkan pada tahun 2008. Sepuluh tahun kemudian, kemampuan spasial R telah berkembang secara
substansial tetapi mereka masih membangun gagasan yang ditetapkan oleh Bivand (2003): antarmuka
ke GDAL dan PROJ, misalnya, masih memberdayakan kemampuan transformasi I / O dan CRS data
geografis berkinerja tinggi (lihat Bab 6 dan 7, masing-masing).

rgdal, dirilis pada tahun 2003, menyediakan pengikatan GDAL untuk R yang sangat meningkatkan
kemampuannya untuk mengimpor data dari format data geografis yang sebelumnya tidak tersedia. Rilis
awal hanya mendukung driver raster tetapi peningkatan berikutnya memberikan dukungan untuk sistem
referensi koordinat (melalui pustaka PROJ), proyeksi ulang dan impor format file vektor (lihat Bab 7
untuk lebih lanjut tentang format file). Banyak dari kemampuan tambahan ini dikembangkan oleh Barry
Rowlingson dan dirilis dalam basis kode rgdal pada tahun 2006 (lihat Rowlingson et al. 2003 dan daftar
email R-help untuk mengetahui konteksnya).

sp, dirilis pada tahun 2005, mengatasi ketidakmampuan R untuk membedakan objek spasial dan non-
spasial (Pebesma dan Bivand 2005). sp tumbuh dari lokakarya di Wina pada tahun 2003 dan
diselenggarakan di sourceforge sebelum bermigrasi ke R-Forge. Sebelum tahun 2005, koordinat
geografis umumnya diperlakukan seperti angka lainnya. sp mengubah ini dengan kelas dan metode
umum yang mendukung titik, garis, poligon dan kisi, dan data atribut.

sp menyimpan informasi seperti kotak pembatas, sistem referensi koordinat dan atribut dalam slot di
objek Spasial menggunakan sistem kelas S4, memungkinkan operasi data untuk bekerja pada data
geografis (lihat Bagian 2.2.2). Selanjutnya, sp menyediakan metode umum seperti ringkasan () dan plot
() untuk data geografis. Pada dekade berikutnya, kelas sp dengan cepat menjadi populer untuk data
geografis di R dan jumlah paket yang bergantung padanya meningkat dari sekitar 20 pada tahun 2008
menjadi lebih dari 100 pada tahun 2013 (Bivand, Pebesma, dan Gómez-Rubio 2013). Pada 2018, hampir
500 paket bergantung pada sp, menjadikannya bagian penting dari ekosistem R. Paket R menonjol
menggunakan sp meliputi: gstat, untuk geostatistik spasial dan spasial-temporal; geosfer, untuk
trigonometri bola; dan adehabitat yang digunakan untuk analisis pemilihan habitat oleh hewan
(E.Pebesma dan Graeler 2018; Calenge 2006; Hijmans 2016).

Meskipun rgdal dan sp memecahkan banyak masalah spasial, R masih kekurangan kemampuan untuk
melakukan operasi geometrik (lihat Bab 5). Colin Rundel mengatasi masalah ini dengan
mengembangkan rgeos, antarmuka R ke perpustakaan geometri sumber terbuka (GEOS) selama proyek
Google Summer of Code pada tahun 2010 (Bivand dan Rundel 2018). rgeos mengaktifkan GEOS untuk
memanipulasi objek sp, dengan fungsi seperti gIntersection ().

Batasan lain dari sp - dukungannya yang terbatas untuk data raster - diatasi oleh raster, pertama kali
dirilis pada tahun 2010 (Hijmans 2017). Sistem kelas dan fungsinya mendukung berbagai operasi raster
seperti yang diuraikan dalam Bagian 2.3. Fitur utama raster adalah kemampuannya untuk bekerja
dengan kumpulan data yang terlalu besar untuk dimasukkan ke dalam RAM (antarmuka R ke PostGIS
mendukung operasi off-disc pada data geografis vektor). raster juga mendukung aljabar peta (lihat
Bagian 4.3.2)

Sejalan dengan perkembangan sistem dan metode kelas ini, muncul dukungan untuk R sebagai
antarmuka untuk perangkat lunak GIS khusus. GRASS (R. S. Bivand 2000) dan paket lanjutan spgrass6
dan rgrass7 (masing-masing untuk GRASS GIS 6 dan 7) adalah contoh yang menonjol dalam arah ini
(Bivand 2016a, 2016b). Contoh lain jembatan antara R dan GIS termasuk RSAGA (Brenning, Bangs, dan
Becker 2018, pertama kali diterbitkan pada tahun 2008), RPyGeo (A.Brenning 2012a, pertama kali
diterbitkan pada tahun 2008), dan RQGIS (Muenchow, Schratz, dan Brenning 2017, pertama diterbitkan
pada tahun 2016) (lihat Bab 9).

Visualisasi pada awalnya tidak menjadi fokus, dengan sebagian besar pengembangan R-spasial
difokuskan pada analisis dan operasi geografis. sp menyediakan metode untuk pembuatan peta
menggunakan sistem dasar dan kisi plot tetapi permintaan meningkat untuk kemampuan pembuatan
peta tingkat lanjut, terutama setelah rilis ggplot2 pada tahun 2007. ggmap memperluas kemampuan
spasial ggplot2 (Kahle dan Wickham 2013), dengan memfasilitasi akses ke ' ubin peta dasar dari layanan
online seperti Google Maps. Meskipun ggmap memfasilitasi pembuatan peta dengan ggplot2,
kegunaannya dibatasi oleh kebutuhan untuk memperkuat objek spasial, yang berarti mengubahnya
menjadi bingkai data yang panjang. Meskipun ini berfungsi dengan baik untuk titik, ini secara komputasi
tidak efisien untuk garis dan poligon, karena setiap koordinat (simpul) diubah menjadi baris, yang
mengarah ke bingkai data yang sangat besar untuk mewakili geometri kompleks. Meskipun visualisasi
geografis cenderung berfokus pada data vektor, visualisasi raster didukung dalam raster dan menerima
peningkatan dengan dirilisnya rasterVis, yang dijelaskan dalam buku tentang visualisasi data spasial dan
temporal (Lamigueiro 2018). Pada 2018 pembuatan peta di R adalah topik hangat dengan paket khusus
seperti tmap, leaflet dan mapview semua mendukung sistem kelas yang disediakan oleh sf, fokus bab
berikutnya (lihat Bab 8 untuk lebih lanjut tentang visualisasi).

Anda mungkin juga menyukai