Materi ini diproduksi oleh tim dari Algoritma untuk Memperkenalkan data geospasial untuk keperluan visualisasi tidak hanya 2D melainkan 3D. Materi berikut hanya ditujukan untuk kalangan terbatas, meliputi individu/personal yang menerima materi ini secara langsung dari lembaga pelatihan. Materi ini dilarang untuk direproduksi, didistribusikan, diterjemahkan, atau diadaptasikan dalam bentuk apapun di luar izin dari individu dan organisasi yang berkepentingan.
Algoritma adalah pusat pendidikan Data Science di Jakarta. Kami mengadakan workshop dan program pelatihan untuk membantu para profesional dan pelajar untuk mendapatkan keahlian dalam berbagai bidang dalam ruang lingkup Data Science: data visualization, machine learning, data modeling, statistical inference, dan lain-lainnya.
Sebelum masuk ke dalam materi dan menjalankan kode-kode di dalam materi ini, silakan anda melihat bagian Library and Setup untuk melihat dan memastikan semua persyaratan dasar untuk mengikuti materi ini sudah terpenuhi termasuk package-package yang diperlukan. Pada bagian Tujuan Pembelajaran anda dapat melihat secara umum apa saja yang akan dipelajari dalam modul materi ini. Kami harap materi ini akan bermanfaat bagi karir ataupun menambah keahlian peserta.
Preface
Pendahuluan
Dalam era digital dan informasi yang terus berkembang, data geospasial menjadi sangat penting dalam berbagai bidang seperti pemetaan, pemodelan lingkungan, analisis berbasis lokasi, pengambilan keputusan bisnis, dan pemantauan geografis. Penggunaan data geospasial yang efektif membutuhkan keterampilan analisis dan visualisasi yang kuat, serta pemahaman tentang bahasa pemrograman yang dapat memanipulasi dan memproses data geospasial dengan efisien. Pelatihan Geospasial Analisis dan Visualisasi menggunakan bahasa pemrograman R dirancang untuk memperkenalkan peserta dengan alat-alat dan teknik yang diperlukan untuk menganalisis dan memvisualisasikan data geospasial menggunakan bahasa pemrograman R. R merupakan bahasa pemrograman yang populer di kalangan ilmuwan data dan analis statistik, dan telah menjadi salah satu pilihan dalam analisis dan visualisasi data geospasial selain menggunakan tools khusus pengolahan data GIS.
Dalam pelatihan ini, peserta akan belajar tentang dasar-dasar pemrograman R, termasuk struktur data, fungsi, dan manipulasi data. Peserta akan diperkenalkan dengan library-library R yang berguna untuk memanipulasi dan memproses data geospasial, seperti sf, raster, terra, sp, leaflet, hingga library untuk visualisasi 3D yakni rayshader. Peserta akan mempelajari bagaimana mengimpor data geospasial dari berbagai format seperti shapefile, raster, dan data spasial lainnya, serta melakukan manipulasi dan transformasi data geospasial menggunakan R.
Selain itu, peserta akan dilibatkan dalam pembelajaran mengenai visualisasi data geospasial menggunakan grafik, peta, dan animasi dalam bahasa R.Peserta pelatihan akan mendapatkan pemahaman yang solid tentang analisis dan visualisasi data geospasial menggunakan bahasa pemrograman R. Mereka akan dapat mengaplikasikan keterampilan yang diperoleh dalam berbagai proyek yang melibatkan data geospasial, baik itu dalam akademik, penelitian, maupun lingkungan bisnis. Karena, untuk memahami apa yang akan divisualisasikan perlu adanya pemahaman dasar mengenai dasar-dasar geospasial agar tidak terjadi salah representasi.Sehigga, dengan menguasai keterampilan analisis dan visualisasi geospasial menggunakan bahasa pemrograman R, peserta pelatihan akan memiliki keunggulan kompetitif dalam memahami dan memanfaatkan data geospasial untuk pengambilan keputusan yang lebih baik, pemodelan yang lebih akurat, dan pemecahan masalah yang lebih efektif dalam konteks geografis.
Terdapat banyak alat yang tersedia untuk memvisualisasikan informasi geografis; mulai dari aplikasi GIS (Sistem Informasi Geografis) penuh seperti ArcGIS dan QGIS, hingga alat berbasis web seperti Google Maps hingga berbagai bahasa pemrograman. Dengan beragam paket yang tersedia, penggunaan R untuk analisis geospasial semakin populer. Mulai dari statistik geospasial, pemodelan, dan visualisasi, IDE RStudio juga membuat R menjadi alat yang ramah pengguna untuk pembuatan peta dan analisis.
Tujuan Pembelajaran
Tujuan utama dari workshop ini adalah untuk memberikan pengenalan yang komprehensif mengenai tools dan perangkat lunak yang digunakan untuk menganalisa dan melakukan visualisasi data geospatial dengan sebuah aplikasi open-source populer: R. Selain menggunakan tools khusus GIS yang mana perlu pemahaman dari segi aplikasi yang digunakan serta fungsi dari tools-tools yang digunakan. Adapun materi ini akan mencakup:
Introductory Module:
- Dasar Bahasa Pemrograman R
- Pengenalan bahasa pemrograman R
- Bekerja dengan RStudio
- Fungsi standar pada R
- Data manipulasi dan persiapan data menggunakan R
dplyr
- Data Wrangling dan visualisasi dengan R
- Bekerja dengan data tabular di R: Tips dan Teknik
- Data Wrangling dan Agregasi
- Pengenalan untuk visualisasi dengan
ggplot2
Main Module:
- Introduction to Geospatial Data
- Data Spasial:
- Data Vektor -> Introduction to Manipulation Data
- Data Raster -> Introduction to Manipulation Data
- Representasi sederhana
- Reading and Writing spatial data
- File Vektor
- File Raster
- Sistem Koordinat Referensi
- Coordinate Reference Systems (CRS)
- Angular coordinates
- Projections
- Notation
- Assigning a CRS
- Transforming vector data
- Transforming raster data
- Coordinate Reference Systems (CRS)
- Data Spasial:
- Membuat Peta Interaktif
- Pengenalan tentang Peta Interaktif
- Menggunakan Leaflet - API JavaScript untuk membuat peta interaktif.
- Membangun berbagai peta analisis geospasial dengan Leaflet: Choropleth, Heatmap, etc.
- Membuat Peta 3D dengan Rayshader
- Pengenalan tentang Pustaka Rayshader
- Memahami Konsep Pemetaan Topografis
- Membangun Peta 3D dari Data Topografis Spatial.
Library dan Setup
Untuk dapat mengikuti materi ini, peserta diharapkan sudah menginstall beberapa packages di bawah ini. Apabila package tersebut belum terinstall, silahkan jalankan chunk atau baris kode berikut. Apabila sudah ter-install, lewati chunk berikut dan muat package yang dibutuhkan dengan menjalankan chunk selanjutnya.
|
|
|
|
Geospatial in R
Materi utama yang akan kita kerjakan yakni mengenai Geospatial Data Visualization. Kita akan mengeksplor bagaimana caranya menggunakan data spatial di R untuk membuat sebuat output yang populer seperti peta baik itu statik maupun interaktif hingga pembuatan peta 3 Dimensi.
Sebelum berangkat lebih jauh dalam membuat peta interaktif menggunakan Leaflet, kita perlu memahami :
- Dasar-Dasar GIS (Sistem Informasi Geografis): data geospasial, koordinat, struktur data
- Leaflet: memahami apa itu leaflet, kegunaan, hingga cara implementasi
- Mempersiapkan data Geospatial sebelum digunakan: memahami format-format
Analisis Geospasial dan pemetaan adalah bidang yang berkembang pesat. Dalam tahap ini, kita akan mempelajari tentang Leaflet, sebuah pustaka JavaScript untuk membuat peta interaktif, dan bagaimana menggunakannya di R sebelum kita membuat peta yang lebih bagus menggunakan data asli spatial topografi.
Data Spatial
***
Data Geospasial
Data geospasial adalah bentuk data yang sangat penting dalam ilmu geografi, ilmu lingkungan, pemetaan, dan banyak bidang lainnya. Data geospasial memungkinkan kita untuk merepresentasikan dan menganalisis dunia nyata dengan cara yang lebih terstruktur. Dalam pemrosesan data geospasial, kita dapat memanfaatkan dua jenis utama data: data vektor dan data raster.
Data geospasial memberikan wawasan yang penting dalam pemahaman dunia kita, dan kemampuan untuk menggabungkan lokasi, atribut, dan informasi temporal membuatnya sangat berharga dalam pemodelan, analisis, dan pengambilan keputusan.
Library terra adalah alat yang kuat untuk bekerja dengan data geospasial, membantu kita menjelajahi dan memahami dunia dengan lebih baik. Library terra juga sangat berguna untuk mengolah data raster. Ini memungkinkan kita untuk memanipulasi data raster, menerapkan analisis spasial, dan membuat visualisasi berbasis raster.
Data Vektor
Data Vektor: Data vektor adalah jenis data geospasial yang merepresentasikan objek sebagai titik, garis, atau poligon. Data vektor terdiri dari tiga komponen utama:
- Lokasi (Geometri): Ini adalah informasi tentang di mana objek atau fitur tersebut berada di permukaan bumi, seperti koordinat geografis (lintang dan bujur).
- Atribut: Atribut adalah informasi tentang karakteristik objek tersebut, misalnya nama, jenis, ukuran, dan sebagainya.
- Temporal: Beberapa data vektor juga dapat mencakup informasi waktu, seperti kapan objek tersebut dibuat atau berubah.
Representasi titik
Geometri titik terdiri dari satu titik sudut (X, Y dan opsional Z).
|
|
#> lon lat
#> [1,] -116.8 41.3
#> [2,] -114.2 42.9
#> [3,] -112.9 42.4
#> [4,] -111.9 39.8
#> [5,] -114.2 37.6
#> [6,] -115.4 38.3
#> [7,] -117.7 37.6
Kesalahan umum: Jangan sampai salah penempatan antara
longitude(bujur) danlatitude(lintang). Karena, penempatan yang salah ini dapat mengakibatkan interpretasi yang salah terhadap data geografis Anda.
Pada umumnya, dalam representasi geografis, latitude (lintang) digunakan untuk mengukur posisi relatif utara-selatan di bola bumi, sementara longitude (bujur) digunakan untuk mengukur posisi relatif timur-barat. Dalam sebagian besar peta, sumbu vertikal atau garis meridian (garis vertikal yang menghubungkan Kutub Utara dan Kutub Selatan) biasanya digunakan untuk menggambarkan latitude, sementara sumbu horizontal atau garis ekuator (garis horizontal yang mengelilingi bola bumi secara horizontal) digunakan untuk menggambarkan longitude.
Kita bisa menggunakan fungsi plot() untuk menampilkan tampilan data vektor tersebut secara langsung.
|
|
|
|
|
|
\### Representasi Polyline/Garis
Untuk menampilkan garis, secara mudah kita hanya perlu titik-titik koordinat. Geometri poliline terdiri dari dua atau lebih simpul yang membentuk garis terhubung.
|
|
Representasi Poligon
Geometri poligon terdiri dari setidaknya empat simpul yang membentuk suatu area tertutup. Simpul pertama dan terakhir selalu berada pada tempat yang sama.
|
|
\### Tampilan Data Vektor (Gabungan)
|
|
\> urutan data yang ditampilkan pada plot menggunakan library terra diatas tidak seperti layering ggplot. Namun, data yang mau ditampilkan paling atas justru ditaruh pada kode paling akhir.
Dalam kode di atas, kita menggunakan fungsi text() sebagai tambahan untuk menambahkan label nama kota ke dalam plot. Fungsi text() memerlukan tiga argumen utama:
x: Objek vektor geospasial yang akan digunakan sebagai referensi untuk menempatkan teks (dalam hal ini,stasiun_crh).labels: Vektor yang berisi label atau nama yang ingin Anda tambahkan ke plot (dalam hal ini,A sampai G).pos: Posisi teks relatif terhadap titik referensi. Di sini,pos = 4berarti teks akan ditempatkan di atas titik referensi.
Dengan menggunakan fungsi text(), Anda dapat menambahkan label nama kota ke plot objek vektor geospasial kita.
|
|
#> [1] NA
Data Vector : Dilengkapi dengan representasi geometris titik, garis, poligon, dan multi-polihibrid. Berikut ini merupakan representasi sederhana dari data spasial berbentuk vektor.
Bagaimana cara merepresentasikan data diatas jika menambahkan atribut lain.
|
|
#> lon lat
#> [1,] -116.8 41.3
#> [2,] -114.2 42.9
#> [3,] -112.9 42.4
#> [4,] -111.9 39.8
#> [5,] -114.2 37.6
#> [6,] -115.4 38.3
#> [7,] -117.7 37.6
|
|
#> lon lat nama precip
#> [1,] "-116.8" "41.3" "A" "200"
#> [2,] "-114.2" "42.9" "B" "100"
#> [3,] "-112.9" "42.4" "C" "320"
#> [4,] "-111.9" "39.8" "D" "978"
#> [5,] "-114.2" "37.6" "E" "153"
#> [6,] "-115.4" "38.3" "F" "903"
#> [7,] "-117.7" "37.6" "G" "303"
Jadi, secara keseluruhan, kode tersebut menghasilkan vektor precip yang berisi data curah hujan simulasi dengan angka-angka acak yang telah diolah agar memiliki sifat yang mirip dengan data curah hujan (dummy data).
Peta lokasi titik-titik tidak berbeda jauh dari plot dasar pada umumnya (x,y). Namun, pada kasus ini titik-titik tersebut sebanding dengan nilai jumlah curah hujan yang dimiliki (pada data precip).
|
|
|
|
Note: Tidak ada kode khusus yang harus Anda gunakan untuk menentukan psize (ukuran titik) berdasarkan nilai precip (curah hujan).
Cara Anda menghitung psize dalam kode yang Anda bagikan, yaitu psize <- 1 + precip/200, adalah cara yang umum digunakan untuk menyesuaikan ukuran titik berdasarkan data numerik.
Di dalam rumus tersebut:
1adalah ukuran dasar titik.precipadalah nilai curah hujan.200adalah faktor yang mengontrol seberapa besar perbedaan ukuran titik berdasarkan nilai curah hujan. Semakin besar faktor ini, semakin besar perbedaan ukuran titik.
Kita dapat mengubah rumus ini sesuai dengan preferensi. Misalnya, jika ingin membuat perbedaan ukuran yang lebih besar, kita dapat meningkatkan faktor pembagi (misalnya, 1000), dan sebaliknya.
Contoh lain:
psize <- 1 + precip/1000akan menghasilkan titik yang lebih kecil untuk curah hujan yang lebih tinggi.psize <- 1 + sqrt(precip)/10akan menghasilkan titik yang lebih besar untuk curah hujan yang lebih tinggi dengan menggunakan akar kuadrat.
Anda dapat menyesuaikan rumus ini sesuai dengan preferensi untuk menentukan ukuran titik berdasarkan data curah hujan.
Data Raster
Data Raster: Data raster adalah sel berpiksel atau berkisi yang direpresentasikan sebagai baris dan kolom. Ini adalah data berpiksel (atau berkisi) yang setiap pikselnya dikaitkan dengan lokasi geografis tertentu. Raster geospasial hanya berbeda dengan foto digital karena disertai dengan informasi spasial yang menghubungkan data ke lokasi tertentu. Raster adalah foto udara digital, citra dari satelit, gambar digital.
Ini adalah situs web untuk memahami dengan contoh bagaimana data raster adalah data geospasial
Kumpulan data raster berpotensi sangat besar. Resolusi meningkat seiring dengan mengecilnya ukuran sel; namun, biasanya biaya juga meningkat baik pada ruang disk maupun kecepatan pemrosesan.
Data raster adalah salah satu jenis data geospasial yang sangat penting. Ini adalah representasi dari permukaan yang dibagi menjadi sel berpiksel atau berkisi, dengan setiap piksel memiliki nilai yang mewakili atribut atau fenomena di lokasi geografis tertentu. Berikut ini penjelasan tentang contoh kode dan materi yang Anda bagikan:
- Membuat Data Raster:
- Pada contoh kode berikut, kita menggunakan fungsi
rastdari libraryterrauntuk membuat objek data raster. ncoldannrowadalah argumen yang menentukan jumlah kolom dan baris pada data raster.xmin,xmax,ymin, danymaxdigunakan untuk menentukan batas-batas geografis data raster.
- Pada contoh kode berikut, kita menggunakan fungsi
|
|
#> class : SpatRaster
#> dimensions : 5, 5, 1 (nrow, ncol, nlyr)
#> resolution : 14, 8 (x, y)
#> extent : -150, -80, 20, 60 (xmin, xmax, ymin, ymax)
#> coord. ref. : lon/lat WGS 84
rast() -> untuk mengubah nilai-nilai piksel diatas menjadi sebuah nilai piksel untuk membentuk data raster
- Memberikan Nilai Piksel:
- Setelah membuat objek data raster, kita menggunakan fungsi
valuesuntuk memberikan nilai pada piksel-piksel di dalamnya. - Pada contoh pertama, kita mengisi nilai piksel dengan bilangan acak antara 0 dan 1 menggunakan
runif. - Pada contoh kedua, kita mengisi nilai piksel dengan urutan nilai dari 1 hingga jumlah sel (ncell) dalam data raster.
- Setelah membuat objek data raster, kita menggunakan fungsi
|
|
#> class : SpatRaster
#> dimensions : 5, 5, 1 (nrow, ncol, nlyr)
#> resolution : 14, 8 (x, y)
#> extent : -150, -80, 20, 60 (xmin, xmax, ymin, ymax)
#> coord. ref. : lon/lat WGS 84
#> source(s) : memory
#> name : lyr.1
#> min value : 0.08052415
#> max value : 0.99250878
|
|
#> class : SpatRaster
#> dimensions : 5, 5, 1 (nrow, ncol, nlyr)
#> resolution : 14, 8 (x, y)
#> extent : -150, -80, 20, 60 (xmin, xmax, ymin, ymax)
#> coord. ref. : lon/lat WGS 84
#> source(s) : memory
#> name : lyr.1
#> min value : 1
#> max value : 25
- Visualisasi Data Raster:
- Terakhir, gunakan fungsi
plotuntuk memvisualisasikan data raster. - Kita juga bisa menentukan palet warna yang sesuai dengan menggunakan argumen
col. Dalam contoh ini, kita akan menggunakan palet warnaterrain.colors(25).
- Terakhir, gunakan fungsi
|
|
Hasil dari kode ini adalah data raster yang berisi piksel-piksel dengan nilai-nilai yang telah kita tentukan, dan visualisasi yang menunjukkan representasi grafis dari data tersebut dengan palet warna yang sesuai.
Data raster sangat berguna dalam berbagai aplikasi, seperti pemetaan cuaca, penginderaan jauh, pemodelan lingkungan, dan banyak lagi. Mereka memungkinkan kita untuk menganalisis fenomena yang berubah-ubah di seluruh permukaan bumi dengan tingkat detail yang beragam, tergantung pada resolusi raster.
Coordinate Reference Systems (CRS)
Sistem Referensi Koordinat (CRS) yang mendefinisikan bagaimana elemen spasial data berhubungan dengan permukaan bumi (atau benda lain). Ini seperti kita memadatkan permukaan bumi yang bulat menjadi peta yang datar.
Pentingnya CRS dalam data geospasial adalah agar kita bisa:
- Mengukur dengan Tepat: Jika kita ingin mengukur jarak atau luas di peta, kita harus tahu bagaimana skala pengukuran ini diubah dari bentuk asli bumi yang bulat.
- Pemetaan: CRS membantu kita menggambarkan peta dengan benar, karena setiap peta mungkin memiliki caranya sendiri untuk merubah permukaan bumi.
- Integrasi Data: Ketika kita menggabungkan data dari berbagai sumber, semua data ini harus menggunakan CRS yang sama agar bisa digunakan bersama.
- Georeferensi: Ini berarti mengaitkan koordinat dunia nyata dengan lokasi di peta, yang hanya bisa dilakukan jika kita tahu CRS yang digunakan.
Komponen Penting: Sebuah CRS umumnya terdiri dari beberapa komponen penting:
- Metode Proyeksi: Ini menentukan metode matematika yang digunakan untuk mengubah permukaan Bumi menjadi datar. Proyeksi umum meliputi Mercator, Lambert Conformal Conic, dan Albers Equal Area.
- Datum: Sebuah datum menentukan titik referensi dan orientasi sistem koordinat. Datum yang berbeda digunakan untuk berbagai bagian dunia.
- Satuan: Ini menentukan satuan pengukuran yang digunakan untuk jarak, seperti meter, kaki, derajat, atau satuan lainnya.
- Titik Asal: Beberapa proyeksi memiliki titik tertentu di permukaan Bumi sebagai titik asal mereka.
- Garis Bujur Pusat: Ini sering digunakan dalam proyeksi untuk menentukan garis bujur pusat peta.
Semua komponen ini bekerja bersama-sama untuk menggambarkan lokasi dan bentuk objek di dunia nyata ke dalam sistem koordinat yang bisa digunakan dalam analisis dan pembuatan peta.
Jadi, kesimpulannya, CRS adalah cara kita membuat peta yang akurat dan melakukan berbagai analisis berdasarkan lokasi. Yang penting, kita harus memilih CRS yang sesuai untuk setiap proyek berdasarkan kebutuhan dan daerah yang akan dipetakan.
Sistem koordinat geografis
Sistem koordinat geografis mengidentifikasi lokasi mana pun di permukaan bumi menggunakan dua nilai — garis bujur dan garis lintang. Bujur adalah letaknya yang berarah Timur-Barat pada jarak sudut dari bidang Meridian Utama. Lintang adalah jarak sudut Utara atau Selatan bidang ekuator. Oleh karena itu, jarak dalam CRS geografis tidak diukur dalam meter. Permukaan bumi dalam sistem koordinat geografis diwakili oleh permukaan bola atau ellipsoidal. Ellipsoid adalah bagian dari komponen CRS yang lebih luas: datum . Ini berisi informasi tentang ellipsoid apa yang digunakan dan hubungan yang tepat antara koordinat Cartesian dan lokasi di permukaan bumi. Ada dua jenis datum — geosentris (misalnya WGS84) dan lokal (misalnya NAD83).
Figure 1: Source:[DataCarpentry](https://datacarpentry.org/)
Proyeksi sistem referensi koordinat
Sistem proyeksi adalah cara yang lebih praktis untuk melakukan perhitungan dan sangat penting untuk membuat peta. Sistem referensi ini disebut “proyeksi” karena mengubah koordinat sudut 3D menjadi sistem datar (planar). Beberapa contoh proyeksi yang umum digunakan adalah UTM, Mercator, dan lainnya.
Ada tiga kelompok utama jenis proyeksi - berbentuk kerucut, silindris, dan planar (azimut). Dalam proyeksi kerucut, permukaan bumi diproyeksikan ke dalam kerucut sepanjang satu garis singgung atau dua garis singgung.
Contoh Implementasi Definisi Koordinat
Data titik koordinat curah hujan x dan y diatas tadi masih belum memiliki koordinat referensi karena masih dalam format matrix, sehingga perlu kita define masih menggunakna library terra. Dalam kasus ini, Kita telah menggunakan proyeksi +proj=longlat +datum=WGS84 untuk mendefinisikan koordinat referensi sebagai koordinat geografis WGS84, yang sangat umum digunakan.
Ini adalah langkah-langkah yang diperlukan untuk memberikan koordinat referensi ke objek data vektor geospasial di paket terra. Dengan koordinat referensi yang sudah ditentukan, Kita dapat melakukan analisis geospasial yang lebih akurat dan visualisasi yang tepat pada peta.
|
|
#> [1] "GEOGCRS[\"unknown\",\n DATUM[\"World Geodetic System 1984\",\n ELLIPSOID[\"WGS 84\",6378137,298.257223563,\n LENGTHUNIT[\"metre\",1]],\n ID[\"EPSG\",6326]],\n PRIMEM[\"Greenwich\",0,\n ANGLEUNIT[\"degree\",0.0174532925199433],\n ID[\"EPSG\",8901]],\n CS[ellipsoidal,2],\n AXIS[\"longitude\",east,\n ORDER[1],\n ANGLEUNIT[\"degree\",0.0174532925199433,\n ID[\"EPSG\",9122]]],\n AXIS[\"latitude\",north,\n ORDER[2],\n ANGLEUNIT[\"degree\",0.0174532925199433,\n ID[\"EPSG\",9122]]]]"
|
|
#> [1] "SpatVector"
#> attr(,"package")
#> [1] "terra"
Berikut adalah penjelasan singkat tentang langkah-langkah diatas:
-
Mendefinisikan koordinat referensi dengan menggunakan string
"+proj=longlat +datum=WGS84", yang mendefinisikan proyeksi geografis dan datum sebagai WGS84. -
Membuat objek data vektor geospasial
titik_crhdari koordinatstasiundengan menentukancrs(koordinat referensi) yang telah Anda definisikan sebelumnya yakni coor_ref. -
Kemudian, memeriksa objek data vektor geospasial
titik_crhuntuk memastikan bahwa koordinat referensinya telah ditambahkan dengan benar.
Mambaca data spasial
Jenis-Jenis Data Geospasial
- Terdapat berbagai jenis data geospasial yang digunakan untuk merepresentasikan informasi geografis. Beberapa jenis data geospasial yang umum meliputi:
Shapefile: Format file vektor yang sangat umum digunakan dalam pemetaan dan sistem informasi geografis (SIG).GeoJSON: Format file vektor berbasis JSON yang populer untuk pertukaran data geospasial.Raster: Representasi data dalam bentuk kisi piksel, seperti citra satelit atau peta tematik.KML: Format file yang digunakan untuk pertukaran data geospasial dan digunakan dalam Google Earth.TopoJSON: Format file yang mengurangi ukuran data geospasial untuk pengiriman dan pengolahan yang lebih efisien.
Membaca shapefile
Ada banyak format data yang dapat digunakan untuk menyimpan data spasial. KML, GeoJSON, GeoTIFF, Tab File, adalah beberapa format umum yang mungkin pernah Anda temui. Namun, format yang paling umum digunakan dalam pemetaan sistem informasi geografis adalah Shapefile.
Shapefile adalah standar universal format geospasial yang dikembangkan dan diatur oleh Esri, penyedia perangkat lunak sistem informasi geografis internasional. Format ini kemudian diadopsi oleh banyak bahasa pemrograman, termasuk R.
Nama Shapefile mungkin sedikit menyesatkan karena file ini umumnya terdiri dari beberapa file terpisah:
.shp(wajib): berisi data geometri..shx(wajib): berisi data indeks yang digunakan untuk mengidentifikasi geometri yang berbeda..dbf(wajib): berisi informasi atribut (tabel dengan info lebih lanjut tentang setiap fitur)..prjberisi informasi tentang sistem koordinat referensi.
Selain file yang tercantum di atas, sebuah shapefile dapat mencakup komponen file lainnya. Daftar komponen shapefile yang komprehensif dapat diakses di sini.
Membaca shapefile (inageoportal)
Untuk kasus ini, saya telah menyediakan shapefile untuk mengakses dan mendownload data SHAPEFILE (shp) dari portal Tanah Air Indonesia. Langkah unduh bisa dilihat pada: PPT
Mari baca file menggunakan fungsi st_read() dari paket sf:
|
|
#> Reading layer `kec_bantul' from data source
#> `G:\My Drive\Algoritma-G\RnD\algotech\content\post\2024-06-20-geospatial-rayshader-part2\dataset\Kec_Bantul\kec_bantul.shp'
#> using driver `ESRI Shapefile'
#> Simple feature collection with 17 features and 5 fields
#> Geometry type: POLYGON
#> Dimension: XY
#> Bounding box: xmin: 110.2045 ymin: -8.028906 xmax: 110.5213 ymax: -7.76771
#> Geodetic CRS: WGS 84
|
|
#> Simple feature collection with 17 features and 5 fields
#> Geometry type: POLYGON
#> Dimension: XY
#> Bounding box: xmin: 110.2045 ymin: -8.028906 xmax: 110.5213 ymax: -7.76771
#> Geodetic CRS: WGS 84
#> First 10 features:
#> fid ogc_fid desa kecamatan kabupaten
#> 1 1 1 Tirtohargo Kretek Bantul
#> 2 2 2 Argodadi Sedayu Bantul
#> 3 3 3 Gadingharjo Sanden Bantul
#> 4 4 4 Sidomulyo Bambanglipuro Bantul
#> 5 5 5 Caturharjo Pandak Bantul
#> 6 6 6 Poncosari Srandakan Bantul
#> 7 7 7 Canden Jetis Bantul
#> 8 8 8 Timbulharjo Sewon Bantul
#> 9 9 9 Jambidan Banguntapan Bantul
#> 10 10 10 Seloharjo Pundong Bantul
#> geometry
#> 1 POLYGON ((110.3166 -7.98874...
#> 2 POLYGON ((110.2767 -7.83451...
#> 3 POLYGON ((110.2765 -7.95940...
#> 4 POLYGON ((110.2846 -7.93789...
#> 5 POLYGON ((110.2821 -7.94244...
#> 6 POLYGON ((110.2548 -7.95308...
#> 7 POLYGON ((110.3691 -7.91989...
#> 8 POLYGON ((110.3768 -7.86053...
#> 9 POLYGON ((110.4281 -7.84666...
#> 10 POLYGON ((110.3594 -7.95803...
Ada beberapa informasi yang disimpan dalam geometri sf:
- Geometry Type/Jenis Geometri: Ada tujuh jenis geometri paling umum dalam fitur sederhana:
POINT,LINESTRING,POLYGON,MULTIPOINT,MULTILINESTRING,MULTIPOLYGONdanGEOMETRYCOLLECTION. - Dimension/Dimensi: Mengacu pada ruang 2-(
XY), 3-(XYZ/XYM) atau 4 dimensi (XYZM). - Bbox (Bounding Box): area yang ditentukan oleh dua garis bujur dan dua garis lintang.
- CRS: Sistem Referensi Koordinat.
sf merupakan singkatan dari “Simple Features” yang merepresentasikan data sebagai catatan dalam sebuah data.frame atau tibble dengan sebuah kolom list geometri1. Simple Features adalah model data hierarkis yang mewakili berbagai jenis geometri. Dari 17 jenis geometri yang didukung oleh spesifikasi, hanya 7 yang digunakan dalam sebagian besar penelitian geografis 2:
Figure 2: Source:[Geocomputation with R](https://geocompr.robinlovelace.net/)
Jika Anda menggunakan fungsi class() untuk objek idn yang baru dibuat, Anda dapat melihat bagaimana kelas sf mengelola data spasial dengan cara yang mirip dengan struktur data tabel biasa; dengan menyimpannya sebagai data frame:
|
|
#> [1] "sf" "data.frame"
Perbedaan utama antara sebuah data frame biasa dan sebuah objek sf adalah bahwa objek sf memiliki kolom geometry yang menjelaskan di mana fitur tersebut terletak di Bumi, dan mereka memiliki atribut, yang menjelaskan properti lainnya:
|
|
#> Geometry set for 17 features
#> Geometry type: POLYGON
#> Dimension: XY
#> Bounding box: xmin: 110.2045 ymin: -8.028906 xmax: 110.5213 ymax: -7.76771
#> Geodetic CRS: WGS 84
#> First 5 geometries:
POLYGON:
- Ini adalah atribut yang berkaitan dengan data vektor berupa poligon (POLYGON).
- Geometri jenis POLYGON dengan dimensi XY (2D).
- Bounding box (kotak pembatas) menunjukkan kotak yang mencakup seluruh poligon dalam data tersebut dalam koordinat geografis.
- CRS adalah “WGS 84” yang juga mengindikasikan sistem referensi koordinat geografis WGS 84.
Untuk mendapatkan gambaran yang lebih baik tentang informasi geometry dalam objek sf, mari kita lanjutkan dan plot adm_bantul$geometry menggunakan fungsi plot():
|
|
Membaca shapefile (GADMTools)
Tip Ekstra:
Anda juga dapat mengakses basis data GADM langsung dari R dengan bantuan pustaka GADMTools:
|
|
|
|
Mari baca file menggunakan fungsi st_read() dari paket sf:
|
|
#> Reading layer `idn' from data source
#> `G:\My Drive\Algoritma-G\RnD\algotech\content\post\2024-06-20-geospatial-rayshader-part2\shp'
#> using driver `ESRI Shapefile'
#> Simple feature collection with 6694 features and 16 fields
#> Geometry type: MULTIPOLYGON
#> Dimension: XY
#> Bounding box: xmin: 95.0097 ymin: -11.00762 xmax: 141.0194 ymax: 6.076941
#> Geodetic CRS: WGS 84
Cek tipe data
|
|
#> [1] "sf" "data.frame"
Cek atribut:
|
|
#> Geometry set for 6694 features
#> Geometry type: MULTIPOLYGON
#> Dimension: XY
#> Bounding box: xmin: 95.0097 ymin: -11.00762 xmax: 141.0194 ymax: 6.076941
#> Geodetic CRS: WGS 84
#> First 5 geometries:
SpatRaster:
- Ini adalah atribut yang berkaitan dengan data raster (
SpatRaster). - Dimensinya 5x5 dengan resolusi 14x8, rentang dari -150 hingga -80 di bujur (longitude) dan dari 20 hingga 60 di lintang (latitude).
- Sumber datanya adalah “memory” yang mungkin berarti dibuat secara dinamis di dalam memori.
- Koordinat referensi (coord. ref.) adalah “lon/lat WGS 84” yang mengindikasikan bahwa data ini dalam sistem referensi koordinat geografis WGS 84 (longitude/latitude).
Note: Perbedaan dalam tipe data antara kedua dataset shp diatas (satu sebagai POLYGON dan satu sebagai SpatRaster) disebabkan oleh perbedaan dalam representasi dan struktur data dari sumber asalnya.
- Data Pertama (POLYGON):
- Data kedua, yang Anda dapatkan dari InaGeoPortal Kabupaten Bantul, mungkin awalnya adalah data vektor yang sudah dalam format POLYGON.
- Data ini mungkin telah disimpan dalam format yang berbeda (Shapefile) atau dalam struktur yang lebih sederhana daripada SpatRaster.
- Data Kedua (SpatRaster):
- Data pertama, yang Anda sebutkan didapatkan dari
GADMTools, mungkin awalnya merupakan data vektor yang mewakili batas administrasi dalam format seperti data POLYGON. - Namun, ketika data ini diolah atau dimuat dengan
GADMTools, mungkin telah diubah menjadi tipe data raster (SpatRaster). Ini bisa terjadi jika ada proses transformasi atau pengolahan data yang mengubah representasi geometri menjadi format raster, misalnya, ketika data diubah menjadi grid atau citra raster.
- Data pertama, yang Anda sebutkan didapatkan dari
Kedua dataset ini mungkin mewakili informasi geografis yang sama (misalnya, batas administrasi) tetapi dalam format yang berbeda. Perbedaan dalam representasi dan struktur data dapat muncul karena sumber data yang berbeda dan pemrosesan yang berbeda yang diterapkan pada data tersebut. Penting untuk memahami format dan struktur data saat bekerja dengan data geospasial untuk memastikan bahwa Anda menggunakan alat dan metode yang sesuai untuk jenis data yang Anda miliki.
Untuk mendapatkan pemahaman yang lebih baik tentang informasi geometri dalam objek sf, mari lanjutkan dan gambarkan idn$geometry menggunakan fungsi plot():
Studi Kasus 1: Peta Tematik Kepadatan Penduduk
Menggunakan data shp Kecamatan Bantul
|
|
|
|
|
|
|
|
#> # A tibble: 17 × 2
#> kecamatan kpdt_pddk
#> <chr> <dbl>
#> 1 Kretek 1155.
#> 2 Sedayu 1539.
#> 3 Sanden 1364.
#> 4 Bambanglipuro 1851.
#> 5 Pandak 2177.
#> 6 Srandakan 1715.
#> 7 Jetis 2475.
#> 8 Sewon 4113.
#> 9 Banguntapan 4460.
#> 10 Pundong 1526.
#> 11 Imogiri 1187.
#> 12 Kasihan 3622.
#> 13 Bantul 3015.
#> 14 Pleret 2256.
#> 15 Piyungan 1724.
#> 16 Dlingo 716.
#> 17 Pajangan 1199.
|
|
#> Rows: 17
#> Columns: 7
#> $ fid <int> 4, 9, 13, 16, 11, 7, 12, 1, 17, 5, 15, 14, 10, 3, 2, 8, 6
#> $ ogc_fid <dbl> 4, 9, 13, 16, 11, 7, 12, 1, 17, 5, 15, 14, 10, 3, 2, 8, 6
#> $ desa <chr> "Sidomulyo", "Jambidan", "Palbapang", "Dlingo", "Selopamioro…
#> $ kecamatan <chr> "Bambanglipuro", "Banguntapan", "Bantul", "Dlingo", "Imogiri…
#> $ kabupaten <chr> "Bantul", "Bantul", "Bantul", "Bantul", "Bantul", "Bantul", …
#> $ kpdt_pddk <dbl> 1850.75, 4460.29, 3015.13, 716.48, 1187.06, 2474.83, 3622.21…
#> $ geometry <POLYGON [°]> POLYGON ((110.2846 -7.93789..., POLYGON ((110.4281 -7.84666.…
|
|
Membuat Peta di R
Membuat Peta dengan Library ggplot2
|
|
🗺️ Pembuatan Peta Tematik
Secara umum, data spasial dapat direpresentasikan sebagai peta referensi atau peta tematik. Sementara peta referensi menekankan lokasi objek di dunia, peta tematik menunjukkan variabilitas spasial dari distribusi tertentu. Peta distribusi harga rumah yang telah kita buat sebelumnya adalah salah satu jenis peta tematik yang paling sering digunakan dalam data geospasial, yang disebut peta Choropleth.
Figure 3: Source: [Mapping Ideas from Cyberspace to Realspace](http://mappingideas.sdsu.edu/CaliforniaAtlas/atlas/pages/10_types_of_maps.pdf)
Membuat Peta dengan Library leaflet
|
|
|
|
Studi Kasus: Peta Tematik Lain [Optional]
Secara umum, data spasial dapat direpresentasikan baik sebagai peta referensi maupun peta tematik. Sementara peta referensi menekankan lokasi objek di dunia, peta tematik menunjukkan variasi spasial dari distribusi tertentu. Peta distribusi harga rumah yang telah kita buat sebelumnya adalah salah satu jenis peta tematik yang paling sering digunakan dalam data geospasial, yaitu peta korelasi.
Keuntungan besar penggunaan sf adalah bagaimana setiap fungsi dapat digabungkan menggunakan operator %>% dan berfungsi dengan baik dengan koleksi paket R dari tidyverse, yang memberikan kami kendali yang lebih baik atas informasi geometri dalam objek sf. Misalnya, untuk mengambil subset provinsi tertentu, Anda dapat menggunakan metode filter() seperti yang Anda lakukan dengan data frame biasa:
|
|
#> [1] "Aceh" "Bali" "Bangka Belitung"
#> [4] "Banten" "Bengkulu" "Gorontalo"
#> [7] "Jakarta Raya" "Jambi" "Jawa Barat"
#> [10] "Jawa Tengah" "Jawa Timur" "Kalimantan Barat"
#> [13] "Kalimantan Selatan" "Kalimantan Tengah" "Kalimantan Timur"
#> [16] "Kepulauan Riau" "Lampung" "Maluku"
#> [19] "Maluku Utara" "Nusa Tenggara Barat" "Nusa Tenggara Timur"
#> [22] "Papua" "Papua Barat" "Riau"
#> [25] "Sulawesi Barat" "Sulawesi Selatan" "Sulawesi Tengah"
#> [28] "Sulawesi Tenggara" "Sulawesi Utara" "Sumatera Barat"
#> [31] "Sumatera Selatan" "Sumatera Utara" "Yogyakarta"
Selain fitur sederhana sf, sebenarnya ada metodologi lain untuk menyimpan model fitur geografis ke dalam R. Jika Anda pernah melakukan penelitian geospasial di R, Anda mungkin juga familiar dengan penggunaan paket sp. Sebenarnya, sp adalah paket yang sangat baik dikembangkan sejak tahun 2005 yang praktis mendukung hampir setiap analisis GIS di R, bahkan sampai sekarang.
Masalah utama dari sp adalah kompatibilitasnya yang rendah dengan struktur data frame R. sf dibangun untuk mengisi kesenjangan tersebut. Dirilis pada tahun 2016, sf menggunakan standar OGC (Open Geospatial Consortium) & ISO dalam mencatat dan mengatur data spasial dengan fitur sederhana.
Kerugian dari sf adalah, karena relatif baru, beberapa paket spasial mungkin belum mendukung objek sf. Untungnya, kita masih dapat mengonversi objek sf ke kelas spasial yang digunakan dalam sp:
|
|
#> [1] "SpatialPolygonsDataFrame"
#> attr(,"package")
#> [1] "sp"
Objek spasial dapat dikonversi kembali ke objek sf dengan cara yang sama atau dengan menggunakan fungsi st_as_sf() dari sf:
|
|
#> [1] "sf" "data.frame"
Pada kasus ini kita menggunakan data yang diambil dari GADMTools idn dengan melakukan filter Jakarta Raya saja.
|
|
|
|
#> Geometry set for 43 features
#> Geometry type: MULTIPOLYGON
#> Dimension: XY
#> Bounding box: xmin: 106.6862 ymin: -6.370783 xmax: 106.9728 ymax: -6.089036
#> Geodetic CRS: WGS 84
#> First 5 geometries:
|
|
#> [1] "Jakarta Barat" "Jakarta Pusat" "Jakarta Selatan" "Jakarta Timur"
#> [5] "Jakarta Utara"
|
|
#> [1] "sf" "data.frame"
|
|
#> Geometry set for 43 features
#> Geometry type: MULTIPOLYGON
#> Dimension: XY
#> Bounding box: xmin: 106.6862 ymin: -6.370783 xmax: 106.9728 ymax: -6.089036
#> Geodetic CRS: WGS 84
#> First 5 geometries:
|
|
|
|
#> Simple feature collection with 6 features and 16 fields
#> Geometry type: MULTIPOLYGON
#> Dimension: XY
#> Bounding box: xmin: 106.6862 ymin: -6.225213 xmax: 106.8107 ymax: -6.095124
#> Geodetic CRS: WGS 84
#> GID_0 NAME_0 GID_1 NAME_1 NL_NAME_1 GID_2 NAME_2
#> 1 IDN Indonesia IDN.7_1 Jakarta Raya <NA> IDN.7.1_1 Jakarta Barat
#> 2 IDN Indonesia IDN.7_1 Jakarta Raya <NA> IDN.7.1_1 Jakarta Barat
#> 3 IDN Indonesia IDN.7_1 Jakarta Raya <NA> IDN.7.1_1 Jakarta Barat
#> 4 IDN Indonesia IDN.7_1 Jakarta Raya <NA> IDN.7.1_1 Jakarta Barat
#> 5 IDN Indonesia IDN.7_1 Jakarta Raya <NA> IDN.7.1_1 Jakarta Barat
#> 6 IDN Indonesia IDN.7_1 Jakarta Raya <NA> IDN.7.1_1 Jakarta Barat
#> NL_NAME_2 GID_3 NAME_3 VARNAME_3 NL_NAME_3 TYPE_3
#> 1 <NA> IDN.7.1.1_1 Cengkareng <NA> <NA> Kecamatan
#> 2 <NA> IDN.7.1.2_1 Grogolpetamburan <NA> <NA> Kecamatan
#> 3 <NA> IDN.7.1.3_1 Kalideres <NA> <NA> Kecamatan
#> 4 <NA> IDN.7.1.4_1 Kebonjeruk <NA> <NA> Kecamatan
#> 5 <NA> IDN.7.1.5_1 Kembangan <NA> <NA> Kecamatan
#> 6 <NA> IDN.7.1.6_1 Palmerah <NA> <NA> Kecamatan
#> ENGTYPE_3 CC_3 HASC_3 geometry
#> 1 Sub-district 3174070 <NA> MULTIPOLYGON (((106.7004 -6...
#> 2 Sub-district 3174040 <NA> MULTIPOLYGON (((106.7833 -6...
#> 3 Sub-district 3174080 <NA> MULTIPOLYGON (((106.7004 -6...
#> 4 Sub-district 3174020 <NA> MULTIPOLYGON (((106.7771 -6...
#> 5 Sub-district 3174010 <NA> MULTIPOLYGON (((106.7603 -6...
#> 6 Sub-district 3174030 <NA> MULTIPOLYGON (((106.7827 -6...
Membuat Peta di R
Membuat Peta dengan Library ggplot2
R dilengkapi dengan alat bawaan dan paket sumber terbuka untuk membantu kita mengubah objek sp dan sf menjadi visualisasi peta yang rapi. Pada sesi pertama workshop ini, Anda telah mempelajari tentang sebuah perpustakaan plot yang banyak digunakan dan kuat untuk R, yaitu ggplot2. Hal hebatnya adalah bahwa ggplot dapat langsung memplot objek sf dengan menggunakan geom_sf.
Ingat tentang sistem layering ggplot2 dan lihat kode di bawah ini:
|
|
\### Membuat Peta dengan Library `leaflet`
|
|
Sebagai contoh, mari kita lihat dataset lokasi Perumahan di daerah Jakarta:
|
|
#> perumahan kota latitude longitude
#> 1 Bintaro Jaya Sektor 2 Jakarta Selatan -6.278108 106.7522
#> 2 Buaran Regency Jakarta Timur -6.232117 106.9251
#> 3 Casa Permata Hijau Jakarta Selatan -6.221427 106.7832
#> 4 Cempaka Residence Jakarta Selatan -6.291828 106.7779
#> 5 Green Lake City Jakarta Barat -6.177477 106.7113
#> 6 Green Lontar Jakarta Selatan -6.364691 106.7983
Mari kita coba untuk membuat peta titik density menggunakan leaflet’s addCircles() function:
|
|
Cara umum lainnya untuk menggambarkan peta kerapatan geografis atau peta density adalah dengan menggunakan peta panas (heatmap). Untuk membuat peta panas di leaflet, kita dapat menggunakan paket leaflet.extras:
Kode diatas dibuat menggunakan library leaflet dalam R untuk membuat peta kerapatan perumahan dengan menggunakan heatmap. Di bawah ini adalah penjelasan dari setiap bagian kode:
-
leaflet(perum): Ini memulai pembuatan objek peta dengan menggunakan dataperumsebagai dasar peta.perumadalah objeksfyang berisi informasi tentang perumahan. -
addTiles(): Ini menambahkan lapisan dasar peta yang menggunakan tile dari penyedia peta yang telah ditentukan. Dalam hal ini, Anda menggunakan tile dasar. -
addCircles(): Ini menambahkan titik perumahan ke peta. Anda menggunakanlabeluntuk menampilkan label pada setiap titik, dan Anda mengatur warna titik menjadi merah dengancolor = "red". -
addHeatmap(): Ini menambahkan lapisan heatmap ke peta. Heatmap adalah cara visualisasi kerapatan titik pada peta. Anda dapat mengatur radius heatmap denganradius. Semakin besar nilai radius, semakin besar area yang dicakup oleh setiap titik pada heatmap.
Layering bersama batas admin perkecamatan di DKI Jakarta.
Insight: Warna merah digunakan untuk menunjukkan titik-titik perumahan. Semakin merah warnanya, semakin tinggi kerapatan perumahan di daerah tersebut. Dalam konteks peta kerapatan, biasanya warna-warna yang lebih gelap atau cerah (seperti merah tua) digunakan untuk menunjukkan kerapatan yang lebih tinggi, sedangkan warna-warna yang lebih terang (seperti merah muda) digunakan untuk menunjukkan kerapatan yang lebih rendah.
Jadi, jika ada area dengan banyak titik perumahan yang berwarna merah tua, itu menandakan kerapatan perumahan yang tinggi di daerah tersebut. Sebaliknya, jika ada area dengan titik-titik perumahan yang berwarna merah muda atau lebih terang, itu menandakan kerapatan perumahan yang lebih rendah. Warna merah adalah cara visual untuk memperlihatkan perbedaan dalam kerapatan perumahan di berbagai bagian wilayah pada peta.
Membaca data Raster format .Tiff
Mirip dengan paket sf , terra juga menyediakan plot() metode untuk kelasnya sendiri. Raster dapat dibuat dari awal menggunakan rast().
|
|
#> class : SpatRaster
#> dimensions : 3333, 3333, 1 (nrow, ncol, nlyr)
#> resolution : 0.0000750075, 0.0000750075 (x, y)
#> extent : 116.5, 116.75, -8.5, -8.25 (xmin, xmax, ymin, ymax)
#> coord. ref. : lon/lat WGS 84
#> source : DEMNAS_1807-61_v1.0_bali.tif
#> name : DEMNAS_1807-61_v1.0_bali
Bagaimana kita memberikan koordinat pada data yang belum terdefinisasi (seperti data raster)? R menggunakan PROJ.4 untuk melakukan transformasi CRS (Coordinate Reference System). Namun, dalam beberapa kasus, PROJ.4 mungkin tidak cukup, dan Anda perlu menggunakan kode EPSG. Kode EPSG ini digunakan untuk mendefinisikan proyeksi, datum, dan sejumlah parameter lain yang menggambarkan di mana pusat peta tersebut berada.
Contoh:
|
|
#> class : SpatRaster
#> dimensions : 3343, 3329, 1 (nrow, ncol, nlyr)
#> resolution : 8.275388, 8.275388 (x, y)
#> extent : 444933.8, 472482.6, 9060391, 9088055 (xmin, xmax, ymin, ymax)
#> coord. ref. : WGS 84 / UTM zone 50S (EPSG:32750)
#> source(s) : memory
#> name : DEMNAS_1807-61_v1.0_bali
#> min value : -4.98096
#> max value : 2308.05127
\[Optional\] Menghitung luasan area
|
|
#> 645545871 [m^2]
|
|
#> [1] 8.275388 8.275388
Namun, disini res() tersebut hanya mengembalikan vektor numerik tanpa satuan apa pun, memaksa kita mengetahui bahwa satuan proyeksi UTM adalah meter. Berbeda dengan st_area yang outputnya memang m2 karena berasal dari data vektor.
Mengapa penting melakukan define koordinat pada data spasial?
Pentingnya mendefinisikan koordinat pada data spasial adalah sebagai berikut:
-
Presisi Lokasi: Mendefinisikan koordinat membantu dalam menentukan lokasi yang tepat dari objek geografis. Ini memungkinkan kita untuk merujuk pada lokasi geografis secara akurat dan menjaga presisi data.
-
Analisis Spatial: Untuk melakukan analisis spasial, seperti perhitungan jarak, luas area, dan sebagainya, kita perlu menggunakan sistem koordinat yang konsisten. Tanpa sistem koordinat yang terdefinisi, analisis ini akan tidak mungkin dilakukan.
-
Pemetaan dan Visualisasi: Mendefinisikan koordinat memungkinkan kita untuk membuat peta yang akurat dan visualisasi data geografis dengan benar. Ini membantu dalam pemahaman yang lebih baik tentang pola geografis dan distribusi data.
-
Kompatibilitas Data: Dalam proyek yang melibatkan beberapa set data geografis yang berbeda, mendefinisikan koordinat adalah langkah penting untuk memastikan bahwa data-data tersebut dapat digabungkan dan diintegrasikan dengan benar.
-
Pemahaman Terhadap Referensi Geodetik: Mendefinisikan koordinat juga berarti memahami referensi geodetik yang digunakan dalam data tersebut. Ini penting ketika berhubungan dengan data-data geodetik yang diukur di berbagai lokasi di seluruh dunia.
-
Kepatuhan Standar: Banyak organisasi dan proyek yang memiliki standar spesifik terkait dengan sistem koordinat yang harus digunakan. Mendefinisikan koordinat adalah cara untuk memastikan kepatuhan terhadap standar-standar tersebut.
Dengan mendefinisikan koordinat, kita dapat menggambarkan lokasi objek secara konsisten, melakukan analisis spasial, dan mengintegrasikan data geografis dengan lebih baik, yang semuanya penting dalam berbagai bidang seperti geografi, geologi, ekologi, pemetaan, dan banyak lagi.
Untuk saat ini, cukup mengetahui:
-
Bahwa sistem koordinat merupakan komponen kunci dari objek geografis
-
Mengetahui di CRS mana data Anda berada, dan apakah data tersebut berada dalam geografis (lon/lat) atau proyeksi (biasanya meter), adalah hal yang penting dan memiliki konsekuensi terhadap cara R menangani operasi spasial dan geometri.
-
CRS
sfobjek dapat dikueri dengan fungsist_crs(), CRSterraobjek dapat dikueri dengan fungsicrs()
Figure 4: Source:[Koordinat Refernsi](https://r.geocompx.org/figures/02_vector_crs.png)