Hilangkan ZM, Terbukti Shapefile Jadi Tinggal 50% Nya !

Siapa pengguna SIG yang tidak menggunakan shapefile atau shp saat ini? Sebagian besar praktisi SIG pasti pengguna shp. Namun apakah mereka memperhatikan tipe detail dari shp nya? Jawabannya belum tentu. Apa itu tipe detail shp?

Pengguna shapefile pasti tahu bahwa tipe fitur sebuah shp yang umum cuma ada tiga, yaitu titik (point), garis (polyline), dan luasan / poligon (polygon). Pengguna ArcGIS juga akan menemukan tipe lain selain ketiga yang tadi yaitu Multipoint dan Multipatch. Shapefile bisa dikreasi sendiri dengan mendijitasi secara manual pada software SIG / Inderaja atau merupakan hasil ekspor dari suatu analisis tertentu, misal hasil klasifikasi citra dari raster menjadi vektor, hasil download, dan lain-lain.

Di luar tipe-tipe itu sebetulnya masih ada hal yang lain. Mungkin di antara teman-teman ada yang sudah tahu, bahwa sebuah shp terkadang mempunyai nilai Z dan M. Itulah yang dimaksud tipe detail shp dalam postingan ini. Keberadaan Z dan M dalam sebuah shapefile bisa berpengaruh terhadap ukuran file nya lho, apa betul? Baca terus postingan ini.

 

Multipoint dan Multipatch

Multipoint dan Multipatch selama ini kurang menjadi perhatian dan kurang diminati untuk digunakan pengguna SIGNamun entah kenapa di berbagai software khususnya ArcGIS (Desktop atau Pro) maupun QGIS selalu ada piihan tipe itu juga dalam membuat sebuah shapefile / feature class. Pastinya mungkin ada beberapa pengguna di luar sana yang menggunakannya.

Multipoint sebetulnya tidak ada bedanya dengan fitur point biasa dalam kondisi multipart, maksudnya fitur (khusus point) terdiri dari beberapa titik tapi isi atributnya lebih sedikit dari jumlah titik tersebut, dikarenakan adanya keseragaman identitas. Seperti contoh di gambar bawah, titik kota yang jumlah totalnya ada 10 hanya dibedakan menjadi 2 data atribut saja yaitu kota dan kota kabupaten.

Contoh Multipoint
Contoh Multipoint

Kalau Multipatch terus terang Lintasbumi akan rumit untuk menjelaskannya, karena memang belum pernah membuatnya. Patch dalam bahasa Indonesia diartikan sebagai tambalan, jika dikutip dari situs ESRI, Multipatch adalah obyek SIG yang menyimpan koleksi tambalan untuk mewakili batas obyek 3 dimensi sebagai kolom tunggal dalam database. Bayangkan saja data TIN lah. Nah si Multipatch ini menyimpan tekstur, warna, transparansi, dan informasi geometris lainnya yang mewakili bagian dari fitur. Informasi geometris itu sendiri bisa berupa bentuk segitiga, cincin, dan lainnya. Sepertinya dalam konteks umum data ini jarang digunakan, ini sekedar untuk pengetahuan kita saja.

Contoh bentuk multipatch
Contoh bentuk multipatch (seperti di screenshoot dari Help ArcGIS 10.8.1)

 

X, Y, Z, dan M Value

Selain Multipoint dan Multipatch, ada juga hal lain yang mungkin kurang mendapat perhatian alias dicuekin dalam menggunakan shapefile. Selama ini teman-teman pastinya tahu bahwa sebuah fitur garis dan poligon terdiri dari vertex dan node, yang tidak lain keduanya adalah sekumpulan titik. Karena shapefile adalah data bereferensi geografis (berkoordinat), masing-masing vertex dan node tersebut tenty mempunyai koordinat pula yang nilainya adalah x dan y. Jika vertex dan node dari shapefile hanya mempunyai nilai koordinat x dan y saja, maka shapefile tersebut bersifat 2 dimensi.



Lain halnya jika vertex dan node juga mempunyai nilai tinggi (elevasi / altitude), nilai ketinggianya tersebut akan didefinisikan sebagai nilai Z. Nilai ketinggian bisa diperoleh baik dari hasil survey langsung yang dimasukan secara manual ketika pembuatan fitur, ataupun dengan cara tidak langsung misalnya menggunakan overlay dengan data 3D seperti DEM. Misalnya di ArcGIS menggunakan tool Add Surface Information di 3D Analyst, atapun cara lainnya. Jika mempunyai nilai Z, maka shapefile  menjadi bersifat 3D juga. Shapefile 3D ini jika ditampilkan di ArcScene akan bisa menjadi tampilan 3D tanpa perlu DEM.

Di mana kita bisa tahu tipe shapefile 2D atau 3D ? Silahkan cek di properties dari shapefile tersebut (pada ArcGIS atau QGIS) atau pada attribute table (khusus ArcGIS). Kalau shapefile tersebut 2D maka tertulis di kolom Shape adalah Point, Polyline, Polygon, dan seterunya. Kalau 3D akan ada embel-embel ZM di belakangnya menjadi PointZM, PolylineZM, PolygonZM.

Tipe fitur tertulis dalam attribute table
Tipe fitur tertulis dalam attribute table di ArcGIS

Pada ArcGIS jika pada attribute table tipe shapefile misal PolygonZM namun di Properties nya tetap tertulis sebagai polygon saja (Geometry Type = Polygon). Hal ini berbeda dengan di QGIS, walaupun tidak ada keterangan tipe shapefile di attribute table, namun di properties shapefile nya jelas (misal) tertulis MultipolygonZ (Geomety = Polygon (MultipolygonZ)). Dalam hal membaca formatpun ternyata kedua software berbeda. Walaupun misalnya pada shapefile hanya ada nilai Z dan tidak ada nilai M nya, tapi di ArcGIS tetap terbaca sebagai (misal) PolygonZM. Lihat gambar di bawah.

Properties shap di ArcGIS / QGIS
Properties shapefile di ArcGIS / QGIS

 

Apakah nilai M pada shapefile / feature class ?

Sayangnya tidak ada konsensus resmi yang mendefinisikan secara jelas apa nilai M pada shapefile atau feature class. Pada whitepaper tentang shapefile dari ESRI hanya disebutkan jika M = Measure (Lintasbumi artikan sebagai ukuran atau besaran). Ada beberapa situs (blog) yang juga mendefiniskan nilai M sebagai (nilai) jarak dari vertex awal ke vertex yang dimaksud, ada juga yang mendefinisikan nilai M sebagai jarak sepanjang rute, namun itu pun tidak eksak sebab ternyata bisa juga diisi dengan nilai lain semisal temperatur, jumlah penduduk, diameter lingkaran, dan apa saja yang penting mempunyai nilai numerik. Jadi kegunaan si nilai M ini akan bergantung pada kebutuhan dari pencipta dan pengguna shapefile sendiri.



Pada saat membuat shapefile atau feature class baru pada geodatabase, khususnya pada ArcGIS / ArcGIS Pro kita pun bisa secara manual menentukan apakah Point, Polyline, Polygon, dan seterusnya yang akan kita buat ingin memuat nilai Z, M, atapun keduanya.

Kemudian ketika kita mendijitasi fitur tersebut, munculkan skecth properties nya, di sana akan terlihat selain nilai X dan Y, juga akan muncul kolom Z dan M. Nilai yang ada di dalamnya silahkan bisa diganti secara manual selama proses dijitasi.

Dijitasi dengan nilai Z dan M pada ArcGIS
Dijitasi dengan nilai Z dan M pada ArcGIS

 

Apakah Bisa Mengekstrak Nilai Z Dan M ?

Tentu saja bisa. Namun yang harus diketahui bahwa nilai Z dan M ini hanya bisa diekstrak jika dalam bentuk fitur point. Untuk itu jika ingin mengekstrak dari shapefile PolylineZM atau PolygonZM, maka rubah dulu menjadi titik. Caranya jika di ArcGIS gunakan tool Feature Vertex to Point. Setelah itu hasil ekspor nya yang berupa shapefile PointZM dimasukan ke perintah Add XY Coordinates. Setelah dieksekusi, maka secara otomatis di attribute table nya akan muncul kolom Point_X, Point_Y, Point_Z, dan Point_M. Secara umum kolom Point_Z, dan Point_M jarang yang terisi (nilai 0).

Contoh hasil ekstrak nilai X, Y, Z, dan M di ArcGIS
Contoh hasil ekstrak nilai X, Y, Z, dan M di ArcGIS

Bagaimana kalau di QGIS ? Gunakan perintah Extract M Values atau Extract Z Values. Kelebihannya bisa menggunakan shapefile PolylineZM atau PolygonZM sebagai input, namun yang dianalisis hanya vertex pertama saja. Jadi sebaiknya tetap dirubah menjadi PointZM dulu jika ingin lengkap, sebelum menggunakan salah satu perintah tersebut.

 

Menghilangkan properties Z dan M berarti menghemat ukuran shapefile

Kalau ternyata nilai Z dan M tidak diperlukan apa sebaiknya dihilangkan ? Jawabannya Iya. Kenapa ? Hasil tes kecil-kecilan Lintasbumi menunjukan ukuran shapefile tipe ZM sekalipun nilai Z dan M nya hanya 0 adalah dua kali lipat shapefile standar (tanpa Z dan M), dan lagi nilai Z dan M ini sesuau yang sifatnya tersembunyi juga. Artinya akan menghemat ukuran file menjadi 50% nya bahkan lebih.

Baca Juga : Memperkecil Ukuran SHP

Teman-teman silahkan bisa mencoba sendiri di komputernya, cari shapefile ZM (bisa PointZM, PolylineZM, PolygonZM). Jika di ArcGIS gunakan tool Feature Class to Feature Class untuk merubah menjadi shapefile atau feature class tanpa ZM. Syaratnya sebelum dieksekusi pada Environment Setting ada pilihan Z dan M value harus di disable kan (lihat gambar bawah).

Bagaimana kalau di QGIS ? Ada dua cara. Cara pertama buka shapefile / layer, klik kanan Export – Save Feature As. Lalu pada jendela yang muncul silahkan ketikan nama file shapefile baru dan seterusnya. Khusus pada Layer – SHPT, pilih tipe yang tidak ada embel-embel Z dan M nya sesuai shapefile yang akan diexport, baru eksekusi perintah tersebut. Cara kedua yaitu menggunakan perintah Drop M/Z Values. Dalam tool tersebut jangan lupa centang Drop M Values / Z Values, barulah dieksekusi. Lihat 2 gambar di bawah.

Cara 1
Cara 1
Cara 2
Cara 2

Percobaan yang Lintasbumi lakukan menunjukan dari ukuran file asli PolygonZM yang sekitar 22,7 MB, setelah dilakukan drop nilai ZM nya kini shapefile barunya menjadi berukuran hanya 11,3 MB saja atau berkurang menjadi 50% nya saja. Jika dari ZM hanya dihilangkan salah satunya saja, misal menjadi PolygonZ atau PolygonM maka ukuran shapefile berkurang menjadi sekitar 17 MB atau menjadi 75% nya.

Perbandingan ukuran shapefile sebelum dan sesudah dihilangkan ZM nya
Perbandingan ukuran shapefile sebelum dan sesudah dihilangkan ZM nya

Ini menunjukan bahwa keberadaan nilai ZM ‘membebani’ shapefile, padahal nilai tersebut jarang digunakan, kecuali mungkin pengguna-pengguna khusus ya. Jadi untuk menghemat hardisk teman-teman kenapa tidak mulai sekarang cek keberadaan ZM pada shapefile lalu hilangkan, setelah itu file aslinya dihapus saja. Silahkan untuk membuktikannya sendiri.



Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *