Anda di halaman 1dari 18

Bab 2 Data geografis di R

Prasyarat

Ini adalah bab praktis pertama dari buku ini, dan karena itu disertai dengan beberapa persyaratan
perangkat lunak. Kami berasumsi bahwa Anda memiliki versi R terbaru yang diinstal dan Anda merasa
nyaman menggunakan perangkat lunak dengan antarmuka baris perintah seperti lingkungan
pengembangan terintegrasi (IDE) RStudio.

Jika Anda baru mengenal R, kami merekomendasikan membaca Bab 2 dari buku online Pemrograman R
Efisien oleh Gillespie dan Lovelace (2016) dan mempelajari dasar-dasar bahasa dengan referensi ke
sumber daya seperti Grolemund dan Wickham (2016) atau DataCamp sebelum melanjutkan. Atur
pekerjaan Anda (misalnya, dengan proyek RStudio) dan berikan skrip nama yang masuk akal seperti
chapter-02.R untuk mendokumentasikan kode yang Anda tulis saat Anda belajar.

Paket yang digunakan dalam bab ini dapat diinstal dengan perintah berikut: 5

Jika Anda menjalankan Mac atau Linux, perintah sebelumnya untuk menginstal sf mungkin tidak
berfungsi pertama kali. Sistem operasi (OS) ini memiliki 'persyaratan sistem' yang dijelaskan dalam paket
README. Berbagai instruksi khusus OS dapat ditemukan online, seperti artikel Instalasi R 3.5 di Ubuntu
18.04 di blog rtask.thinkr.fr.

Semua paket yang diperlukan untuk mereproduksi konten buku dapat diinstal dengan perintah berikut:
remote :: install_github ("geocompr / geocompkg"). Paket yang diperlukan bisa 'dimuat' (secara teknis
mereka dilampirkan) dengan fungsi library () sebagai berikut:

Keluaran dari pustaka (sf) melaporkan versi pustaka geografis utama seperti GEOS yang digunakan
paket, seperti yang diuraikan di Bagian 2.2.1. Paket lain yang diinstal berisi data yang akan digunakan
dalam buku:

2.1 Pendahuluan

Bab ini akan memberikan penjelasan singkat tentang model data geografis dasar: vektor dan raster.
Kami akan memperkenalkan teori di balik setiap model data dan disiplin ilmu di mana mereka
mendominasi, sebelum mendemonstrasikan penerapannya di R.

Model data vektor merepresentasikan dunia menggunakan titik, garis, dan poligon. Ini memiliki batas
yang terpisah dan terdefinisi dengan baik, yang berarti bahwa kumpulan data vektor biasanya memiliki
tingkat presisi yang tinggi (tetapi tidak harus keakuratan seperti yang akan kita lihat di Bagian 2.5).
Model data raster membagi permukaan menjadi sel dengan ukuran konstan. Dataset raster adalah dasar
dari gambar latar belakang yang digunakan dalam pemetaan web dan telah menjadi sumber data
geografis yang penting sejak asal mula fotografi udara dan perangkat penginderaan jauh berbasis satelit.
Raster menggabungkan fitur spesifik spasial ke resolusi tertentu, yang berarti fitur tersebut konsisten di
seluruh ruang dan dapat diskalakan (banyak set data raster di seluruh dunia tersedia).
Yang akan digunakan? Jawabannya mungkin tergantung pada domain aplikasi Anda:

Data vektor cenderung mendominasi ilmu-ilmu sosial karena permukiman manusia cenderung memiliki
batas yang tidak jelas

Raster mendominasi banyak ilmu lingkungan karena ketergantungan pada data penginderaan jauh

Ada banyak tumpang tindih di beberapa bidang dan kumpulan data raster dan vektor dapat digunakan
bersama: ahli ekologi dan demograf, misalnya, umumnya menggunakan data vektor dan raster.
Selanjutnya, dimungkinkan untuk mengkonversi antara dua bentuk (lihat Bagian 5.4). Apakah pekerjaan
Anda melibatkan lebih banyak penggunaan vektor atau kumpulan data raster, ada baiknya memahami
model data yang mendasarinya sebelum menggunakannya, seperti yang dibahas di bab-bab selanjutnya.
Buku ini menggunakan paket sf dan raster untuk bekerja dengan data vektor dan set data raster.

2.2 Data vektor

Berhati-hatilah saat menggunakan kata 'vektor' karena dapat memiliki dua arti dalam buku ini: data
vektor geografis dan kelas vektor (perhatikan font monospace) di R. Yang pertama adalah model data,
yang terakhir adalah kelas R seperti data.frame dan matriks. Namun, ada hubungan antara keduanya:
koordinat spasial yang merupakan jantung dari model data vektor geografis dapat direpresentasikan
dalam R menggunakan objek vektor.

2.2 Data vektor

Berhati-hatilah saat menggunakan kata 'vektor' karena dapat memiliki dua arti dalam buku ini: data
vektor geografis dan kelas vektor (perhatikan font monospace) di R. Yang pertama adalah model data,
yang terakhir adalah kelas R seperti data.frame dan matriks. Namun, ada hubungan antara keduanya:
koordinat spasial yang merupakan jantung dari model data vektor geografis dapat direpresentasikan
dalam R menggunakan objek vektor.

Model data vektor geografis didasarkan pada titik-titik yang terletak di dalam sistem referensi koordinat
(CRS). Titik dapat mewakili fitur yang berdiri sendiri (misalnya, lokasi halte bus) atau dapat dihubungkan
bersama untuk membentuk geometri yang lebih kompleks seperti garis dan poligon. Sebagian besar
geometri titik hanya berisi dua dimensi (CRS 3 dimensi berisi nilai z tambahan, biasanya mewakili
ketinggian di atas permukaan laut).

GAMBAR 2.1: Ilustrasi data vektor (titik) di mana lokasi London (X merah) diwakili dengan mengacu pada
suatu asal (lingkaran biru). Plot kiri mewakili CRS geografis dengan asal di 0 ° bujur dan lintang. Plot
kanan mewakili CRS yang diproyeksikan dengan asal yang terletak di laut barat Semenanjung Barat
Daya.

sf adalah paket yang menyediakan sistem kelas untuk data vektor geografis. Sf tidak hanya
menggantikan sp, tetapi juga menyediakan antarmuka baris perintah yang konsisten ke GEOS dan GDAL,
menggantikan rgeos dan rgdal (dijelaskan di Bagian 1.5). Bagian ini memperkenalkan kelas sf sebagai
persiapan untuk bab-bab berikutnya (Bab 5 dan 7 mencakup antarmuka GEOS dan GDAL, masing-
masing).
2.2.1 Pengenalan fitur sederhana

Fitur sederhana adalah standar terbuka yang dikembangkan dan didukung oleh Open Geospatial
Consortium (OGC), sebuah organisasi nirlaba yang aktivitasnya akan kita bahas kembali di bab
selanjutnya (di Bagian 7.5). Fitur Sederhana adalah model data hierarki yang mewakili berbagai jenis
geometri. Dari 17 jenis geometri yang didukung oleh spesifikasi, hanya 7 yang digunakan di sebagian
besar penelitian geografis (lihat Gambar 2.2); jenis geometri inti ini didukung penuh oleh paket R sf (E.
Pebesma 2018) .7

sf dapat mewakili semua jenis geometri vektor umum (kelas data raster tidak didukung oleh sf): titik,
garis, poligon dan masing-masing versi 'multi' (yang mengelompokkan fitur dari jenis yang sama ke
dalam fitur tunggal). sf juga mendukung koleksi geometri, yang dapat berisi beberapa tipe geometri
dalam satu objek. sf menyediakan fungsionalitas yang sama (dan lebih banyak lagi) yang sebelumnya
disediakan dalam tiga paket - sp untuk kelas data (E.Pebesma dan Bivand 2018), rgdal untuk membaca /
menulis data melalui antarmuka ke GDAL dan PROJ (Bivand, Keitt, dan Rowlingson 2018) dan rgeos
untuk operasi spasial melalui antarmuka ke GEOS (Bivand dan Rundel 2018). Untuk mengulangi pesan
dari Bab 1, paket R geografis memiliki sejarah panjang dalam berinteraksi dengan pustaka tingkat yang
lebih rendah, dan sf melanjutkan tradisi ini dengan antarmuka terpadu ke versi terbaru pustaka GEOS
untuk operasi geometri, pustaka GDAL untuk membaca dan menulis file data geografis, dan pustaka
PROJ untuk mewakili dan mengubah sistem referensi koordinat yang diproyeksikan. Ini adalah
pencapaian penting yang mengurangi ruang utama yang diperlukan untuk 'peralihan konteks di antara'
paket yang berbeda dan memungkinkan akses ke perpustakaan geografis berkinerja tinggi. Dokumentasi
tentang sf dapat ditemukan di situs webnya dan dalam 6 sketsa, yang dapat dimuat sebagai berikut:

Seperti dijelaskan pada sketsa pertama, objek fitur sederhana di R disimpan dalam bingkai data, dengan
data geografis menempati kolom khusus, biasanya dinamai 'geom' atau 'geometri'. Kami akan
menggunakan dataset dunia yang disediakan oleh spData, dimuat di awal bab ini (lihat
nowosad.github.io/spData untuk daftar dataset yang dimuat oleh paket). dunia adalah objek spasial
yang berisi kolom spasial dan atribut, yang namanya dikembalikan oleh nama fungsi () (kolom terakhir
berisi informasi geografis):

Isi kolom geom ini memberi objek sf kekuatan spasialnya: world $ geom adalah 'kolom daftar' yang
berisi semua koordinat poligon negara. Paket sf menyediakan metode plot () untuk memvisualisasikan
data geografis: perintah berikut membuat Gambar 2.3.

GAMBAR 2.3: Plot spasial dunia menggunakan paket sf, dengan faset untuk setiap atribut.
Perhatikan bahwa alih-alih membuat peta tunggal, seperti kebanyakan program GIS, perintah plot ()
telah membuat beberapa peta, satu untuk setiap variabel dalam dataset dunia. Perilaku ini dapat
berguna untuk mengeksplorasi distribusi spasial variabel yang berbeda dan dibahas lebih lanjut pada
Bagian 2.2.3 di bawah ini.

Mampu memperlakukan objek spasial sebagai bingkai data biasa dengan kekuatan spasial memiliki
banyak keuntungan, terutama jika Anda sudah terbiasa bekerja dengan bingkai data. Fungsi summary ()
yang umum digunakan, misalnya, memberikan gambaran umum yang berguna tentang variabel dalam
objek dunia.

Meskipun kita hanya memilih satu variabel untuk perintah ringkasan, itu juga mengeluarkan laporan
tentang geometri. Ini mendemonstrasikan perilaku 'lengket' dari kolom geometri objek sf, yang berarti
geometri disimpan kecuali pengguna dengan sengaja menghapusnya, seperti yang akan kita lihat di
Bagian 3.2. Hasilnya memberikan ringkasan cepat dari data non-spasial dan spasial yang terdapat di
dunia: rata-rata harapan hidup adalah 71 tahun (berkisar dari kurang dari 51 hingga lebih dari 83 tahun
dengan median 73 tahun) di semua negara.

Kata MULTIPOLYGON pada keluaran ringkasan di atas mengacu pada jenis geometri fitur (negara) di
objek dunia. Representasi ini diperlukan untuk negara yang memiliki pulau seperti Indonesia dan Yunani.
Jenis geometri lainnya dijelaskan pada Bagian 2.2.5.

Penting untuk melihat lebih dalam tentang perilaku dasar dan konten objek fitur sederhana ini, yang
dapat dianggap berguna sebagai 'bingkai data spasial'.

Objek sf mudah untuk di-subset. Kode di bawah ini menunjukkan dua baris dan tiga kolom pertamanya.
Keluarannya menunjukkan dua perbedaan utama dibandingkan dengan data.frame biasa:
dimasukkannya data geografis tambahan (jenis geometri, dimensi, bbox dan informasi CRS - epsg (SRID),
proj4string), dan keberadaan kolom geometri, di sini dinamai geom :

Semua ini mungkin tampak agak rumit, terutama untuk sistem kelas yang seharusnya sederhana.
Namun, ada alasan bagus untuk mengatur berbagai hal dengan cara ini dan menggunakan sf.

Sebelum menjelaskan setiap tipe geometri yang didukung oleh paket sf, ada baiknya mengambil langkah
mundur untuk memahami blok bangunan objek sf. Bagian 2.2.8 menunjukkan bagaimana objek fitur
sederhana adalah bingkai data, dengan kolom geometri khusus. Kolom spasial ini sering disebut geom
atau geometri: world $ geom mengacu pada elemen spasial dari objek dunia yang dijelaskan di atas.
Kolom geometri ini adalah 'kolom daftar' dari kelas sfc (lihat Bagian 2.2.7). Pada gilirannya, objek sfc
terdiri dari satu atau lebih objek kelas sfg: geometri fitur sederhana yang kami jelaskan di Bagian 2.2.6.
Untuk memahami bagaimana komponen spasial fitur sederhana bekerja, penting untuk memahami
geometri fitur sederhana. Untuk alasan ini kami membahas setiap fitur sederhana yang saat ini didukung
tipe geometri di Bagian 2.2.5 sebelum melanjutkan untuk menjelaskan bagaimana ini dapat
direpresentasikan dalam R menggunakan objek sfg, yang membentuk dasar dari sfc dan akhirnya objek
sf penuh.

Potongan kode sebelumnya menggunakan = untuk membuat objek baru bernama world_mini di
perintah world_mini = dunia [1: 2, 1: 3]. Ini disebut penugasan. Perintah yang setara untuk mencapai
hasil yang sama adalah world_mini <- world [1: 2, 1: 3]. Meskipun 'panah penugasan' lebih umum
digunakan, kami menggunakan 'sama dengan tugas' karena sedikit lebih cepat untuk mengetik dan lebih
mudah untuk diajarkan karena kompatibilitas dengan bahasa yang umum digunakan seperti Python dan
JavaScript. Yang akan digunakan sebagian besar adalah masalah preferensi selama Anda konsisten
(paket seperti styler dapat digunakan untuk mengubah gaya).

2.2.2 Mengapa fitur sederhana?

Fitur sederhana adalah model data yang didukung secara luas yang mendasari struktur data di banyak
aplikasi GIS termasuk QGIS dan PostGIS. Keuntungan utama dari hal ini adalah menggunakan model data
memastikan pekerjaan Anda dapat dialihkan silang ke pengaturan lain, misalnya mengimpor dari dan
mengekspor ke database spasial.

Pertanyaan yang lebih spesifik dari perspektif R adalah “mengapa menggunakan paket sf ketika sp sudah
dicoba dan diuji”? Ada banyak alasan (terkait dengan keunggulan model fitur sederhana):

Membaca dan menulis data dengan cepat

Peningkatan kinerja plotting

Objek sf dapat diperlakukan sebagai bingkai data di sebagian besar operasi

Fungsi sf dapat digabungkan menggunakan operator%>% dan bekerja dengan baik dengan koleksi paket
R yang rapi.

Nama fungsi sf relatif konsisten dan intuitif (semua dimulai dengan st_)

Karena kelebihan tersebut, beberapa paket spasial (termasuk tmap, mapview dan tidycensus) telah
menambahkan dukungan untuk sf. Namun, akan memakan waktu bertahun-tahun untuk sebagian besar
paket untuk transisi dan beberapa tidak akan pernah berpindah. Untungnya, ini masih dapat digunakan
dalam alur kerja berdasarkan objek sf, dengan mengubahnya menjadi kelas Spasial yang digunakan di
sp:

Objek spasial dapat diubah kembali ke sf dengan cara yang sama atau dengan st_as_sf ():
2.2.3 Pembuatan peta dasar

Peta dasar dibuat dalam sf dengan plot (). Secara default, ini membuat plot multi-panel (seperti spplot
()), satu sub-plot untuk setiap variabel objek, seperti yang diilustrasikan di panel sebelah kiri pada
Gambar 2.4. Legenda atau 'kunci' dengan warna kontinu dihasilkan jika objek yang akan diplot memiliki
variabel tunggal (lihat panel sebelah kanan). Warna juga dapat diatur dengan col =, meskipun ini tidak
akan membuat palet kontinu atau legenda.

Plot ditambahkan sebagai lapisan ke gambar yang ada dengan menyetel add = TRUE.8 Untuk
mendemonstrasikan hal ini, dan untuk memberikan pencicip konten yang tercakup dalam Bab 3 dan 4
tentang atribut dan operasi data spasial, potongan kode berikutnya menggabungkan negara-negara di
Asia:

Sekarang kita dapat memplot benua Asia di atas peta dunia. Perhatikan bahwa plot pertama hanya
boleh memiliki satu faset agar add = TRUE berfungsi. Jika plot pertama memiliki kunci, reset = FALSE
harus digunakan (hasil tidak ditampilkan):

Menambahkan lapisan dengan cara ini dapat digunakan untuk memverifikasi korespondensi geografis
antar lapisan: fungsi plot () cepat untuk dijalankan dan memerlukan beberapa baris kode, tetapi tidak
membuat peta interaktif dengan berbagai pilihan. Untuk pembuatan peta lebih lanjut kami
merekomendasikan menggunakan paket visualisasi khusus seperti tmap (lihat Bab 8).

2.2.4 Argumen plot dasar

Ada berbagai cara untuk memodifikasi peta dengan metode plot () sf. Karena sf memperluas metode
plotting basis R argumen plot () seperti main = (yang menentukan judul peta) bekerja dengan objek sf
(lihat? Graphics :: plot dan? Par) .9

Gambar 2.5 mengilustrasikan fleksibilitas ini dengan melapisi lingkaran, yang diameternya (ditetapkan
dengan cex =) mewakili populasi negara, pada peta dunia. Versi yang tidak diproyeksikan dari gambar ini
dapat dibuat dengan perintah berikut (lihat latihan di akhir bab ini dan skrip 02-contplot.R untuk
mereproduksi Gambar 2.5):

GAMBAR 2.5: Benua negara (diwakili oleh warna isian) dan populasi 2015 (diwakili oleh lingkaran,
dengan area sebanding dengan populasi).

Kode di atas menggunakan fungsi st_centroid () untuk mengubah satu jenis geometri (poligon) ke yang
lain (titik) (lihat Bab 5), estetika divariasikan dengan argumen cex.

Metode plot sf juga memiliki argumen khusus untuk data geografis. expandBB, misalnya, dapat
digunakan untuk memplot objek sf dalam konteks: dibutuhkan vektor numerik dengan panjang empat
yang memperluas kotak pembatas plot relatif ke nol dalam urutan berikut: bawah, kiri, atas, kanan. Ini
digunakan untuk memplot India dalam konteks tetangga raksasa Asia, dengan penekanan pada Cina di
timur, dalam potongan kode berikut, yang menghasilkan Gambar 2.6 (lihat latihan di bawah tentang
menambahkan teks ke plot):

GAMBAR 2.6: India dalam konteks, mendemonstrasikan argumen expandBB.

Perhatikan penggunaan [0] untuk menyimpan hanya kolom geometri dan lwd untuk menekankan India.
Lihat Bagian 8.6 untuk teknik visualisasi lainnya untuk merepresentasikan berbagai jenis geometri,
subjek bagian selanjutnya.

2.2.5 Jenis geometri

Geometri adalah blok bangunan dasar dari fitur sederhana. Fitur sederhana di R dapat mengambil salah
satu dari 17 jenis geometri yang didukung oleh paket sf. Dalam bab ini kita akan fokus pada tujuh jenis
yang paling umum digunakan: POINT, LINESTRING, POLYGON, MULTIPOINT, MULTILINESTRING,
MULTIPOLYGON dan GEOMETRYCOLLECTION. Temukan seluruh daftar jenis fitur yang mungkin dalam
manual PostGIS.

Umumnya, biner terkenal (WKB) atau teks terkenal (WKT) adalah pengkodean standar untuk geometri
fitur sederhana. Representasi WKB biasanya berupa string heksadesimal yang mudah dibaca oleh
komputer. Inilah sebabnya mengapa GIS dan basis data spasial menggunakan WKB untuk mentransfer
dan menyimpan objek geometri. WKT, di sisi lain, adalah deskripsi markup teks yang dapat dibaca
manusia tentang fitur-fitur sederhana. Kedua format tersebut dapat dipertukarkan, dan jika kami
menyajikannya, kami secara alami akan memilih representasi WKT.

Basis untuk setiap jenis geometri adalah titik. Sebuah titik hanyalah sebuah koordinat dalam ruang 2D,
3D atau 4D (lihat sketsa ("sf1") untuk informasi lebih lanjut) seperti (lihat panel kiri pada Gambar 2.7):

TITIK (5 2)

Garis garis adalah urutan titik-titik dengan garis lurus yang menghubungkan titik-titik tersebut, misalnya
(lihat panel tengah pada Gambar 2.7):

LINESTRING (1 5, 4 4, 4 1, 2 2, 3 2)
Poligon adalah urutan titik yang membentuk cincin tertutup dan tidak berpotongan. Tertutup berarti
titik pertama dan terakhir poligon memiliki koordinat yang sama (lihat panel kanan pada Gambar 2.7) .
10

Poligon tanpa lubang: POLYGON ((1 5, 2 2, 4 1, 4 4, 1 5))

GAMBAR 2.7: Ilustrasi geometri titik, garis garis dan poligon.

Sejauh ini kami telah membuat geometri dengan hanya satu entitas geometris per fitur. Namun, sf juga
memungkinkan beberapa geometri ada dalam satu fitur (karena itu istilah 'kumpulan geometri')
menggunakan versi "multi" dari setiap jenis geometri:

Multipoint: MULTIPOINT (5 2, 1 3, 3 4, 3 2)

Multilinestring: MULTILINESTRING ((1 5, 4 4, 4 1, 2 2, 3 2), (1 2, 2 4))

Multipolygon: MULTIPOLYGON (((1 5, 2 2, 4 1, 4 4, 1 5), (0 2, 1 2, 1 3, 0 3, 0 2)))

GAMBAR 2.8: Ilustrasi multi * geometri.

Akhirnya, kumpulan geometri dapat berisi kombinasi geometri apa pun termasuk (banyak) titik dan
pegas garis (lihat Gambar 2.9):

Koleksi geometri: GEOMETRYCOLLECTION (MULTIPOINT (5 2, 1 3, 3 4, 3 2), LINESTRING (1 5, 4 4, 4 1, 2 2,


3 2))

2.2.6 Geometri fitur sederhana (sfg)

Kelas sfg mewakili jenis geometri fitur sederhana yang berbeda di R: titik, garis garis, poligon (dan 'multi'
yang setara, seperti banyak titik) atau koleksi geometri.

Biasanya Anda terhindar dari tugas membosankan membuat geometri sendiri karena Anda cukup
mengimpor file spasial yang sudah ada. Namun, terdapat sekumpulan fungsi untuk membuat objek
geometri fitur sederhana (sfg) dari awal jika diperlukan. Nama fungsi ini sederhana dan konsisten,
karena semuanya dimulai dengan awalan st_ dan diakhiri dengan nama jenis geometri dalam huruf
kecil:

Titik: st_point ()

Sebuah linestring: st_linestring ()


Poligon: st_polygon ()

Multipoint: st_multipoint ()

Sebuah multilinestring: st_multilinestring ()

Multipolygon: st_multipolygon ()

Koleksi geometri: st_geometrycollection ()

Objek sfg dapat dibuat dari tiga tipe data dasar R:

Vektor numerik: satu titik

Matriks: sekumpulan titik, di mana setiap baris mewakili satu titik, banyak titik atau garis garis

Daftar: kumpulan objek seperti matriks, pegas-banyak atau koleksi geometri

Fungsi st_point () membuat titik tunggal dari vektor numerik:

Hasilnya menunjukkan bahwa jenis titik XY (koordinat 2D), XYZ (koordinat 3D) dan XYZM (3D dengan
variabel tambahan, biasanya akurasi pengukuran) dibuat dari vektor masing-masing dengan panjang 2,
3, dan 4. Jenis XYM harus ditentukan menggunakan argumen redup (yang merupakan kependekan dari
dimensi).

Sebaliknya, gunakan matriks dalam kasus objek multipoint (st_multipoint ()) dan linestring (st_linestring
()):

Terakhir, gunakan daftar untuk pembuatan multilinestrings, (multi-) poligon dan koleksi geometri:

2.2.7 Kolom fitur sederhana (sfc)

Satu objek sfg hanya berisi satu geometri fitur sederhana. Kolom geometri fitur sederhana (sfc) adalah
daftar objek sfg, yang juga dapat berisi informasi tentang sistem referensi koordinat yang digunakan.
Misalnya untuk menggabungkan dua fitur sederhana menjadi satu objek dengan dua fitur, kita dapat
menggunakan fungsi st_sfc (). Ini penting karena sfc mewakili kolom geometri dalam bingkai data sf:

Dalam kebanyakan kasus, objek sfc berisi objek dengan tipe geometri yang sama. Oleh karena itu, saat
kita mengonversi objek sfg berjenis poligon menjadi kolom geometri fitur sederhana, kita juga akan
mendapatkan objek sfc berjenis poligon, yang dapat diverifikasi dengan st_geometry_type (). Demikian
pula, kolom geometri pegas-banyak akan menghasilkan objek sfc berjenis multilinestring:

Dimungkinkan juga untuk membuat objek sfc dari objek sfg dengan tipe geometri yang berbeda:

Seperti disebutkan sebelumnya, objek sfc dapat menyimpan informasi tambahan pada sistem referensi
koordinat (CRS). Untuk menentukan CRS tertentu, kita dapat menggunakan atribut epsg (SRID) atau
proj4string dari objek sfc. Nilai default epsg (SRID) dan proj4string adalah NA (Tidak Tersedia), seperti
yang dapat diverifikasi dengan st_crs ():
Semua geometri dalam objek sfc harus memiliki CRS yang sama. Kita bisa menambahkan sistem
referensi koordinat sebagai argumen crs dari st_sfc (). Argumen ini menerima integer dengan kode epsg
seperti 4326, yang secara otomatis menambahkan 'proj4string' (lihat Bagian 2.4):

Ini juga menerima proj4string mentah (hasil tidak ditampilkan):

Kadang-kadang st_crs () akan mengembalikan proj4string tetapi bukan kode epsg. Ini karena tidak ada
metode umum untuk mengubah dari proj4string ke epsg (lihat Bab 6).

2.2.8 Kelas sf

Bagian 2.2.5 hingga 2.2.7 masing-masing menangani objek geometris murni, objek 'geometri sf' dan
'kolom sf'. Ini adalah blok bangunan geografis dari data vektor geografis yang direpresentasikan sebagai
fitur sederhana. Blok penyusun terakhir adalah atribut non-geografis, yang mewakili nama fitur atau
atribut lain seperti nilai terukur, grup, dan hal lain.

Untuk mengilustrasikan atribut, kami akan merepresentasikan suhu 25 ° C di London pada 21 Juni 2017.
Contoh ini berisi geometri (koordinat), dan tiga atribut dengan tiga kelas berbeda (nama tempat, suhu,
dan tanggal) .11 Objek dari class sf merepresentasikan data tersebut dengan menggabungkan atribut
(data.frame) dengan kolom geometri fitur sederhana (sfc). Mereka dibuat dengan st_sf () seperti yang
diilustrasikan di bawah, yang menciptakan contoh London yang dijelaskan di atas:

Apa yang baru saja terjadi? Pertama, koordinat digunakan untuk membuat geometri fitur sederhana
(sfg). Kedua, geometri diubah menjadi kolom geometri fitur sederhana (sfc), dengan CRS. Ketiga, atribut
disimpan dalam data.frame, yang digabungkan dengan objek sfc dengan st_sf (). Ini menghasilkan objek
sf, seperti yang ditunjukkan di bawah ini (beberapa output dihilangkan):

Hasilnya menunjukkan bahwa objek sf sebenarnya memiliki dua kelas, sf dan data.frame. Fitur
sederhana hanyalah bingkai data (tabel persegi), tetapi dengan atribut spasial yang disimpan dalam
kolom daftar, biasanya disebut geometri, seperti yang dijelaskan di Bagian 2.2.1. Dualitas ini merupakan
inti dari konsep fitur sederhana: seringkali sf dapat diperlakukan sebagai dan berperilaku seperti
data.frame. Fitur sederhana, pada dasarnya, bingkai data dengan ekstensi spasial.

2.3 Data raster

Model data raster geografis biasanya terdiri dari tajuk raster dan matriks (dengan baris dan kolom) yang
merepresentasikan sel dengan jarak yang sama (sering juga disebut piksel; Gambar 2.10: A) .12 Tajuk
raster mendefinisikan sistem referensi koordinat, jangkauan dan luasnya asal. Titik awal (atau titik awal)
sering kali merupakan koordinat dari sudut kiri bawah matriks (paket raster, bagaimanapun,
menggunakan sudut kiri atas, secara default (Gambar 2.10: B)). Header mendefinisikan jangkauan
melalui jumlah kolom, jumlah baris dan resolusi ukuran sel. Karenanya, mulai dari awal, kita dapat
dengan mudah mengakses dan memodifikasi setiap sel dengan menggunakan ID sel (Gambar 2.10: B)
atau dengan secara eksplisit menentukan baris dan kolom. Representasi matriks ini menghindari
penyimpanan secara eksplisit koordinat untuk empat titik sudut (sebenarnya hanya menyimpan satu
koordinat, yaitu asal) dari setiap sudut sel seperti yang akan terjadi pada poligon vektor persegi panjang.
Ini dan aljabar peta membuat pemrosesan raster jauh lebih efisien dan lebih cepat daripada pemrosesan
data vektor. Namun, berbeda dengan data vektor, sel dari satu lapisan raster hanya dapat menampung
satu nilai. Nilainya mungkin numerik atau kategorikal (Gambar 2.10: C).

GAMBAR 2.10: Tipe data raster: (A) ID sel, (B) nilai sel, (C) peta raster berwarna.

Peta raster biasanya merepresentasikan fenomena kontinu seperti elevasi, suhu, kepadatan populasi
atau data spektral (Gambar 2.11). Tentu saja, kami dapat merepresentasikan fitur-fitur diskrit seperti
kelas tanah atau tutupan lahan juga dengan bantuan model data raster (Gambar 2.11). Akibatnya, batas
diskrit dari fitur-fitur ini menjadi buram, dan tergantung pada tugas spasial, representasi vektor mungkin
lebih cocok.

2.3.1 Pengenalan raster

Paket raster mendukung objek raster dalam R. Paket ini menyediakan serangkaian fungsi yang luas
untuk membuat, membaca, mengekspor, memanipulasi, dan memproses set data raster. Selain
manipulasi data raster umum, raster menyediakan banyak fungsi tingkat rendah yang dapat menjadi
dasar untuk mengembangkan fungsionalitas raster yang lebih canggih. raster juga memungkinkan Anda
bekerja pada kumpulan data raster besar yang terlalu besar untuk muat ke dalam memori utama. Dalam
kasus ini, raster memberikan kemungkinan untuk membagi raster menjadi potongan-potongan yang
lebih kecil (baris atau blok), dan memprosesnya secara iteratif alih-alih memuat seluruh file raster ke
dalam RAM (untuk informasi lebih lanjut, silakan merujuk ke sketsa ("fungsi", paket = "raster").

Untuk ilustrasi konsep raster, kita akan menggunakan dataset dari spDataLarge (perhatikan bahwa
paket-paket ini dimuat di awal bab). Ini terdiri dari beberapa objek raster dan satu objek vektor yang
meliputi area Taman Nasional Zion (Utah, USA). Misalnya, srtm.tif adalah model elevasi digital dari area
ini (untuk lebih jelasnya, lihat dokumentasinya? Srtm). Pertama, mari buat objek RasterLayer bernama
new_raster:

Mengetik nama raster ke dalam konsol, akan mencetak header raster (tingkat, dimensi, resolusi, CRS)
dan beberapa informasi tambahan (kelas, nama sumber data, ringkasan nilai raster):

Fungsi khusus melaporkan setiap komponen: dim (new_raster) mengembalikan jumlah baris, kolom dan
lapisan; fungsi ncell () jumlah sel (piksel); res () resolusi spasial raster; tingkat () luas spasialnya; dan crs ()
sistem referensi koordinatnya (proyeksi ulang raster dibahas dalam Bagian 6.6). inMemory ()
melaporkan apakah data raster disimpan dalam memori (default) atau pada disk.

help ("raster-package") mengembalikan daftar lengkap dari semua fungsi raster yang tersedia.

2.3.2 Pembuatan peta dasar

Mirip dengan paket sf, raster juga menyediakan metode plot () untuk kelasnya sendiri.
GAMBAR 2.12: Plot raster dasar.

Ada beberapa pendekatan lain untuk memplot data raster di R yang berada di luar cakupan bagian ini,
termasuk:

fungsi seperti spplot () dan levelplot () (masing-masing dari paket sp dan rasterVis) untuk membuat
faset, teknik umum untuk memvisualisasikan perubahan dari waktu ke waktu; dan

paket seperti tmap, mapview, dan leaflet untuk membuat peta interaktif objek raster dan vektor (lihat
Bab 8).

2.3.3 Kelas raster

Kelas RasterLayer mewakili bentuk objek raster yang paling sederhana, dan hanya terdiri dari satu
lapisan. Cara termudah untuk membuat objek raster di R adalah dengan membaca file raster dari disk
atau dari server.

Paket raster mendukung banyak driver dengan bantuan rgdal. Untuk mengetahui driver mana yang
tersedia di sistem Anda, jalankan raster :: writeFormats () dan rgdal :: gdalDrivers ().

Raster juga bisa dibuat dari awal menggunakan fungsi raster (). Ini diilustrasikan dalam potongan kode
berikutnya, yang menghasilkan objek RasterLayer baru. Raster yang dihasilkan terdiri dari 36 sel (6
kolom dan 6 baris yang ditentukan oleh nrows dan ncols) yang berpusat di sekitar Meridian Utama dan
Khatulistiwa (lihat parameter xmn, xmx, ymn dan ymx). CRS adalah default objek raster: WGS84. Ini
berarti satuan resolusi dalam derajat yang kita setel ke 0,5 (res). Nilai (vals) ditetapkan ke setiap sel: 1 ke
sel 1, 2 ke sel 2, dan seterusnya. Ingat: raster () mengisi sel secara baris (tidak seperti matriks ()) mulai
dari sudut kiri atas, yang berarti baris atas berisi nilai 1 hingga 6, 7 hingga 12 kedua, dll.

Untuk cara lain dalam membuat objek raster, lihat? Raster.

Selain RasterLayer, ada dua kelas tambahan: RasterBrick dan RasterStack. Keduanya dapat menangani
banyak lapisan, tetapi berbeda terkait jumlah format file yang didukung, jenis representasi internal, dan
kecepatan pemrosesan.

RasterBrick terdiri dari beberapa lapisan, yang biasanya sesuai dengan file satelit multispektral tunggal
atau objek multilayer tunggal dalam memori. Fungsi brick () membuat objek RasterBrick. Biasanya, Anda
menyediakannya dengan nama file untuk file raster multilayer tetapi mungkin juga menggunakan objek
raster lain dan objek spasial lainnya (lihat? Brick untuk semua format yang didukung).

nlayers () mengambil jumlah lapisan yang disimpan dalam objek Raster *:

RasterStack mirip dengan RasterBrick dalam arti terdiri dari beberapa lapisan. Namun, berbeda dengan
RasterBrick, RasterStack memungkinkan Anda menghubungkan beberapa objek raster yang disimpan
dalam file berbeda atau beberapa objek di memori. Lebih khusus lagi, RasterStack adalah daftar objek
RasterLayer dengan tingkat dan resolusi yang sama. Oleh karena itu salah satu cara untuk membuatnya
adalah dengan bantuan objek spasial yang sudah ada di lingkungan global R. Dan lagi, seseorang dapat
dengan mudah menentukan jalur ke file yang disimpan di disk.

Perbedaan lainnya adalah waktu pemrosesan untuk objek RasterBrick biasanya lebih singkat daripada
untuk objek RasterStack.

Keputusan tentang kelas Raster * mana yang harus digunakan sangat bergantung pada karakter data
masukan. Pemrosesan file atau objek mulitilayer tunggal adalah yang paling efektif dengan RasterBrick,
sementara RasterStack memungkinkan penghitungan berdasarkan banyak file, banyak objek Raster *,
atau keduanya.

Operasi pada objek RasterBrick dan RasterStack biasanya akan mengembalikan RasterBrick.

2.4 Sistem Referensi Koordinat

Jenis data spasial vektor dan raster berbagi konsep yang intrinsik dengan data spasial. Mungkin yang
paling mendasar adalah Sistem Referensi Koordinat (CRS), yang mendefinisikan bagaimana elemen
spasial dari data berhubungan dengan permukaan bumi (atau benda lain). CRS dapat bersifat geografis
atau diproyeksikan, seperti yang diperkenalkan di awal bab ini (lihat Gambar 2.1). Bagian ini akan
menjelaskan setiap jenis, meletakkan dasar untuk Bagian 6 tentang transformasi CRS.

2.4.1 Sistem koordinat geografis

Sistem koordinat geografis mengidentifikasi lokasi mana pun di permukaan bumi menggunakan dua nilai
- bujur dan lintang. Bujur adalah lokasi dalam arah Timur-Barat dalam jarak bersudut dari bidang
Meridian Utama. Lintang adalah jarak sudut Utara atau Selatan bidang ekuator. Oleh karena itu, jarak
dalam CRS geografis tidak diukur dalam meter. Ini memiliki konsekuensi penting, seperti yang
ditunjukkan di Bagian 6.

Permukaan bumi dalam sistem koordinat geografis diwakili oleh permukaan bola atau elipsoidal. Model
bola mengasumsikan bahwa Bumi adalah bola sempurna dengan radius tertentu. Model bola memiliki
keuntungan dari kesederhanaan tetapi jarang digunakan karena tidak akurat: Bumi bukan bola! Model
elipsoidal ditentukan oleh dua parameter: radius ekuator dan radius kutub. Ini cocok karena Bumi
dikompresi: radius ekuator sekitar 11,5 km lebih panjang dari radius kutub (Maling 1992) .13

Ellipsoid adalah bagian dari komponen CRS yang lebih luas: datum. Ini berisi informasi tentang ellipsoid
apa yang akan digunakan (dengan parameter elps di pustaka PROJ CRS) dan hubungan yang tepat antara
koordinat Kartesius dan lokasi di permukaan bumi. Detail tambahan ini disimpan dalam argumen
towgs84 dari notasi proj4string (lihat proj.org/usage/projections.html untuk detailnya). Hal ini
memungkinkan variasi lokal di permukaan bumi, misalnya karena pegunungan yang luas, untuk dihitung
dalam CRS lokal. Ada dua jenis datum - lokal dan geosentris. Dalam datum lokal seperti NAD83
permukaan ellipsoidal bergeser agar sejajar dengan permukaan di lokasi tertentu. Dalam datum
geosentris seperti WGS84, pusatnya adalah pusat gravitasi bumi dan akurasi proyeksi tidak dioptimalkan
untuk lokasi tertentu.

2.4.2 Sistem referensi koordinat yang diproyeksikan

CRS yang diproyeksikan didasarkan pada koordinat Cartesian pada permukaan datar yang implisit.
Mereka memiliki sumbu asal, sumbu x dan y, dan unit pengukuran linier seperti meter. Semua CRS yang
diproyeksikan didasarkan pada CRS geografis, yang dijelaskan di bagian sebelumnya, dan mengandalkan
proyeksi peta untuk mengubah permukaan tiga dimensi Bumi menjadi nilai Easting dan Northing (x dan
y) dalam CRS yang diproyeksikan.

Transisi ini tidak dapat dilakukan tanpa menambahkan beberapa distorsi. Oleh karena itu, beberapa sifat
permukaan bumi terdistorsi dalam proses ini, seperti luas, arah, jarak, dan bentuk. Sistem koordinat
yang diproyeksikan hanya dapat mempertahankan satu atau dua properti tersebut. Proyeksi sering kali
dinamai berdasarkan properti yang mereka pertahankan: kawasan lindung dengan luas yang sama, arah
perlindungan azimut, jarak perlindungan yang sama, dan bentuk lokal yang dilindungi konformal.

Ada tiga kelompok utama jenis proyeksi - kerucut, silinder, dan planar. Dalam proyeksi berbentuk
kerucut, permukaan bumi diproyeksikan ke dalam kerucut sepanjang satu garis singgung atau dua garis
singgung. Distorsi diminimalkan sepanjang garis singgung dan naik dengan jarak dari garis tersebut
dalam proyeksi ini. Oleh karena itu, ini paling cocok untuk peta daerah garis lintang tengah. Proyeksi
silinder memetakan permukaan ke silinder. Proyeksi ini juga dapat dibuat dengan menyentuh
permukaan bumi di sepanjang satu garis singgung atau dua garis singgung. Proyeksi silinder paling sering
digunakan saat memetakan seluruh dunia. Proyeksi planar memproyeksikan data ke permukaan datar
yang menyentuh globe pada suatu titik atau di sepanjang garis singgung. Ini biasanya digunakan dalam
memetakan wilayah kutub. st_proj_info (type = "proj") memberikan daftar proyeksi yang tersedia yang
didukung oleh pustaka PROJ.

2.4.3 CRS di R

Dua cara utama untuk menjelaskan CRS di R adalah kode epsg atau definisi proj4string. Kedua
pendekatan ini memiliki kelebihan dan kekurangan. Kode epsg biasanya lebih pendek, dan karenanya
lebih mudah diingat. Kode tersebut juga mengacu pada satu sistem referensi koordinat yang terdefinisi
dengan baik. Di sisi lain, definisi proj4string memungkinkan Anda lebih fleksibel dalam menentukan
parameter yang berbeda seperti jenis proyeksi, datum, dan ellipsoid.14 Dengan cara ini Anda dapat
menentukan banyak proyeksi berbeda, dan memodifikasi yang sudah ada. Ini juga membuat pendekatan
proj4string lebih rumit. epsg menunjukkan tepat satu CRS tertentu.
Paket Spasial R mendukung berbagai CRS dan mereka menggunakan pustaka PROJ yang telah lama ada.
Selain mencari kode EPSG secara online, cara cepat lain untuk mengetahui tentang CRS yang tersedia
adalah melalui fungsi rgdal :: make_EPSG (), yang mengeluarkan bingkai data proyeksi yang tersedia.
Sebelum membahas lebih detail, ada baiknya mempelajari cara melihat dan memfilternya di dalam R,
karena ini dapat menghemat waktu untuk menjelajahi internet. Kode berikut akan menunjukkan CRS
yang tersedia secara interaktif, memungkinkan Anda untuk memfilter salah satu yang menarik (coba
filter untuk CRS OSGB misalnya):

Dalam sf CRS suatu objek dapat diambil menggunakan st_crs (). Untuk ini, kita perlu membaca dalam
kumpulan data vektor:

Objek baru kami, new_vector, adalah poligon yang mewakili perbatasan Taman Nasional Zion (? Zion).

Jika sistem referensi koordinat (CRS) tidak ada atau CRS yang salah disetel, fungsi st_set_crs () dapat
digunakan:

Pesan peringatan memberitahu kita bahwa fungsi st_set_crs () tidak mengubah data dari satu CRS ke
CRS lainnya.

GAMBAR 2.13: Contoh sistem koordinat geografis (WGS 84; kiri) dan proyeksi (NAD83 / UTM zona 12N;
kanan) untuk tipe data vektor.

Fungsi projection () dapat digunakan untuk mengakses informasi CRS dari objek Raster *:

Fungsi yang sama, projection (), digunakan untuk menyetel CRS untuk objek raster. Perbedaan utama,
dibandingkan dengan data vektor, adalah bahwa objek raster hanya menerima definisi proj4:

GAMBAR 2.14: Contoh sistem koordinat geografis (WGS 84; kiri) dan proyeksi (NAD83 / UTM zona 12N;
kanan) untuk data raster.

Kami akan membahas CRS dan cara memproyeksikan dari satu CRS ke CRS lainnya secara lebih rinci di
Bab 6.

2.5 Unit

Fitur penting CRS adalah bahwa CRS berisi informasi tentang unit spasial. Jelas, penting untuk
mengetahui apakah ukuran rumah dalam kaki atau meter, dan hal yang sama berlaku untuk peta.
Merupakan praktik kartografi yang baik untuk menambahkan bilah skala ke peta untuk menunjukkan
hubungan antara jarak pada halaman atau layar dan jarak di tanah. Demikian pula, penting untuk secara
formal menentukan unit di mana data geometri atau piksel diukur untuk memberikan konteks, dan
memastikan bahwa penghitungan selanjutnya dilakukan dalam konteks.
Fitur baru dari data geometri dalam objek sf adalah bahwa mereka memiliki dukungan asli untuk satuan.
Ini berarti jarak, luas, dan kalkulasi geometris lainnya dalam nilai kembali sf yang datang dengan atribut
unit, yang ditentukan oleh paket unit (Pebesma, Mailund, dan Hiebert 2016). Ini menguntungkan,
mencegah kebingungan yang disebabkan oleh unit yang berbeda (kebanyakan CRS menggunakan
meteran, beberapa menggunakan kaki) dan memberikan informasi tentang dimensi. Ini ditunjukkan
dalam potongan kode di bawah ini, yang menghitung luas Luksemburg:

Keluarannya dalam satuan meter persegi (m2), menunjukkan bahwa hasilnya mewakili ruang dua
dimensi. Informasi ini, disimpan sebagai atribut (yang dapat ditemukan oleh pembaca yang tertarik
dengan atribut (st_area (luxembourg))), dapat dimasukkan ke dalam kalkulasi berikutnya yang
menggunakan satuan, seperti kepadatan populasi (yang diukur dalam orang per satuan luas, biasanya
per km2) . Unit pelaporan mencegah kebingungan. Untuk mengambil contoh Luksemburg, jika unit tetap
tidak ditentukan, orang dapat salah berasumsi bahwa unit dalam hektar. Untuk menerjemahkan angka
besar menjadi ukuran yang lebih mudah dicerna, sangat menggoda untuk membagi hasilnya dengan
satu juta (jumlah meter persegi dalam satu kilometer persegi):

Namun, hasilnya salah diberikan lagi sebagai meter persegi. Solusinya adalah mengatur unit yang benar
dengan paket unit:

Satuan sama pentingnya dalam kasus data raster. Namun, sejauh ini sf adalah satu-satunya paket spasial
yang mendukung unit, artinya orang yang mengerjakan data raster harus mendekati perubahan dalam
unit analisis (misalnya, mengubah lebar piksel dari imperial ke unit desimal) dengan hati-hati. Objek
new_raster (lihat di atas) menggunakan proyeksi WGS84 dengan derajat desimal sebagai unit.
Akibatnya, resolusinya juga diberikan dalam derajat desimal tetapi Anda harus mengetahuinya, karena
fungsi res () hanya mengembalikan vektor numerik.

Jika kita menggunakan proyeksi UTM, satuannya akan berubah.

Sekali lagi, perintah res () mengembalikan vektor numerik tanpa satuan apa pun, memaksa kita untuk
mengetahui bahwa satuan proyeksi UTM adalah meter.

spDataLarge tidak ada di CRAN, artinya harus diinstal melalui remote atau dengan perintah berikut:
install.packages ("spDataLarge", repos = "https://nowosad.github.io/drat/", type = "source") . ↩︎

Asal yang kita maksud, digambarkan dengan warna biru pada Gambar 2.1, sebenarnya adalah asal
'palsu'. Asal 'sebenarnya', lokasi di mana distorsi minimal, terletak pada 2 ° W dan 49 ° N. Ini dipilih oleh
Ordnance Survey menjadi kira-kira di tengah daratan Inggris secara longitudinal. ↩︎

Standar OGC lengkap mencakup jenis geometri yang agak eksotis termasuk jenis geometri 'permukaan'
dan 'kurva', yang saat ini memiliki aplikasi terbatas dalam aplikasi dunia nyata. Semua 17 jenis dapat
diwakili dengan paket sf, meskipun (pada musim panas 2018) plot hanya berfungsi untuk 'inti 7'.↩︎
plot () ing objek sf menggunakan sf ::: plot.sf () di belakang layar. plot () adalah metode umum yang
berperilaku berbeda bergantung pada kelas objek yang sedang diplot.↩︎

Catatan: banyak argumen plot diabaikan dalam peta faset, jika lebih dari satu kolom sf diplot.↩︎

Menurut definisi, poligon memiliki satu batas luar (cincin luar) dan dapat memiliki nol atau lebih batas
dalam (cincin dalam), juga dikenal sebagai lubang. Poligon berlubang akan menjadi, misalnya, POLYGON
((1 5, 2 2, 4 1, 4 4, 1 5), (2 4, 3 4, 3 3, 2 3, 2 4)) ↩︎

Atribut lain mungkin termasuk kategori urbanitas (kota atau desa), atau keterangan jika pengukuran
dilakukan menggunakan stasiun otomatis.↩︎

Bergantung pada format file, header adalah bagian dari file data gambar yang sebenarnya, misalnya,
GeoTIFF, atau disimpan dalam header tambahan atau file dunia, misalnya, format kisi ASCII. Ada juga
format raster biner tanpa header (datar) yang akan memfasilitasi pengimporan ke berbagai program
perangkat lunak. ↩︎

Derajat kompresi sering disebut sebagai perataan, didefinisikan dalam istilah jari-jari ekuator (

Sebuah

) dan radius kutub (

) sebagai berikut:

Sebuah

/
Sebuah

. Istilah eliptisitas dan kompresi juga dapat digunakan. Karena

adalah nilai yang agak kecil, model ellipsoid digital menggunakan 'perataan terbalik' (

) untuk menentukan kompresi Earth. Nilai

Sebuah

dan

dalam berbagai model ellipsoidal dapat dilihat dengan menjalankan sf_proj_info (type = "ellps"). ↩︎

Daftar lengkap parameter proj4string dapat ditemukan di https: //proj.org.↩︎

Anda mungkin juga menyukai