Latar Belakang Masalah
Dalam pembahasan kali ini
saya akan sedikit menjelaskan tentang shapefile esri atau data geospasial
vektor ESRI yaitu retrieve data geospasial. Juga saya akan sedikit memaparkan
penjelasan penjelasan beserta tutorial yang mungkin dapat membantu rekan rekan.
ESRI sendiri adalah seperti vendor perusahaan yang ada didalam sistem informasi
geografis.
Penjelasan dan Solusi Masalah
Writing Shapefile
PSL mencoba untuk menjadi sefleksibel mungkin saat menulis shapefile sambil mempertahankan beberapa derajat validasi otomatis untuk make yakin Anda tidak sengaja menulis file yang tidak valid.
PSL dapat menulis hanya salah satu komponen seperti file shp atau .dbf berkas tanpa menulis yang lain. Jadi selain menjadi perpustakaan shapefile lengkap, juga dapat digunakan sebagai dbf dasar (xBase) perpustakaan. DBF file database adalah format umum Seringkali yang berguna sebagai format database mandiri sederhana. Dan bahkan file shp occasionaly memiliki kegunaan sebagai format mandiri. Beberapa sistem GIS berbasis web menggunakan file shp-upload pengguna untuk menentukan daerah tujuan. Banyak pertanian presisi penyemprot bidang kimia juga menggunakan format file shp sebagai kontrol untuk sistem sprayer (biasanya dalam kombinasi dengan format file database kustom).
Untuk membuat shapefile Anda menambahkan geometri dan / atau atribut menggunakan metode di kelas Writer sampai Anda siap untuk menyimpan file.
Membuat sebuah instance dari kelas Penulis untuk mulai membuat sebuah
>>> w = shapefile.Writer()
Mengatur Jenis Shape
Jenis bentuk mendefinisikan jenis geometri yang terkandung dalam shapefile tersebut. Semua bentuk harus sesuai dengan pengaturan jenis bentuk.
jenis bentuk diwakili oleh angka antara 0 dan 31 seperti yang didefinisikan oleh spesifikasi shapefile. Penting untuk dicatat bahwa sistem penomoran memiliki beberapa nomor milik yang belum digunakan belum karena jumlah jenis bentuk yang ada tidak berurutan.
Ada tiga cara untuk mengatur jenis bentuk: - Set saat membuat instance kelas. - Set dengan menetapkan nilai ke sebuah contoh kelas yang ada. - Mengatur secara otomatis untuk jenis bentuk pertama dengan menyimpan shapefile tersebut.
Untuk secara manual mengatur jenis bentuk untuk Penulis objek saat
>>> w = shapefile.Writer(shapeType=1)
>>> w.shapeType
1
OR you can set it after the Writer is created:
>>> w.shapeType = 3
>>> w.shapeType
3
Geometry and Record Balancing
Karena setiap bentuk harus memiliki catatan yang sesuai sangat penting bahwa
jumlah record sama dengan jumlah bentuk untuk membuat shapefile valid. Untuk
membantu mencegah misalignment disengaja PSL memiliki "keseimbangan
otomatis" fitur untuk memastikan ketika Anda menambahkan salah satu bentuk
atau catatan kedua sisi persamaan line up. Fitur ini tidak diaktifkan secara
default. Untuk mengaktifkannya mengatur atribut
>>> w.autoBalance = 1
Anda juga memiliki pilihan untuk secara manual memanggil metode saldo () setiap kali Anda menambahkan bentuk atau catatan untuk memastikan sisi lain adalah up to date. Ketika balancing digunakan bentuk nol diciptakan di sisi geometri atau rekor dengan nilai "NULL" untuk masing-masing bidang dibuat di sisi atribut.
Opsi menyeimbangkan memberikan fleksibilitas dalam cara Anda membangun shapefile tersebut.
Tanpa auto balancing Anda dapat menambahkan geometri atau catatan kapan saja. Anda dapat membuat semua bentuk dan kemudian membuat semua catatan atau sebaliknya. Anda dapat menggunakan metode saldo setelah membuat bentuk atau merekam setiap waktu dan membuat update kemudian. Jika Anda tidak menggunakan metode saldo dan lupa untuk secara manual menyeimbangkan geometri dan atribut shapefile yang akan dilihat sebagai korup oleh sebagian besar software shapefile.
Dengan auto balanacing Anda dapat menambahkan baik bentuk atau geometri dan memperbarui entri yang kosong di kedua sisi yang diperlukan. Bahkan jika Anda lupa untuk memperbarui entri shapefile akan tetap berlaku dan ditangani dengan benar oleh sebagian besar software shapefile.
Menambahkan Geometri
Geometri ditambahkan menggunakan salah satu dari tiga metode: "nol", "titik", atau "poly". Metode "nol" digunakan untuk bentuk null, "titik" digunakan untuk titik bentuk, dan "poly" digunakan untuk segala sesuatu yang lain.
Menambahkan bentuk Null
Karena jenis bentuk Null (bentuk tipe 0) tidak memiliki geometri
"nol" metode
>>> w = shapefile.Writer()
>>> w.null()
Daftar bentuk penulis objek sekarang akan memiliki satu bentuk nol:
>>> assert w.shapes()[0].shapeType == shapefile.NULL
Menambahkan bentuk Titik
Titik bentuk ditambahkan dengan
menggunakan metode "titik". Sebuah titik ditentukan oleh x, y, dan z
opsional (elevasi) dan m (ukuran) nilai.
>>> w = shapefile.Writer()
>>> w.point(122, 37) # No elevation or measure values
>>> w.shapes()[0].points
[[122, 37, 0, 0]]
>>> w.point(118, 36, 4, 8)
>>> w.shapes()[1].points
[[118, 36, 4, 8]]
Adding a Poly shape
“Poly”
shapes can be either polygons or lines. Shapefile polygons must have at least 5
points and the last point must be the same as the first (i.e. you can’t have a
triangle accoring to the shapefile specification even though many popular GIS
programs support such shapefiles.) A line must have at least two points.
Because of the similarities between these two shape types they are created
using a single method called “poly”.
>>> w = shapefile.Writer()
>>> w.poly(shapeType=3, parts=[[[122,37,4,9], [117,36,3,4]], [[115,32,8,8],
... [118,20,6,4], [113,24]]])
Membuat Atribut
Membuat atribut melibatkan dua langkah.
Langkah 1 adalah untuk menciptakan bidang mengandung nilai atribut dan langkah
2 adalah untuk mengisi bidang dengan nilai-nilai untuk setiap record bentuk.
Upaya berikut untuk membuat shapefile
lengkap:
>>> w = shapefile.Writer(shapefile.POINT)
>>> w.point(1,1)
>>> w.point(3,1)
>>> w.point(4,3)
>>> w.point(2,2)
>>> w.field('FIRST_FLD')
>>> w.field('SECOND_FLD','C','40')
>>> w.record('First','Point')
>>> w.record('Second','Point')
>>> w.record('Third','Point')
>>> w.record('Fourth','Point')
>>> w.save('shapefiles/test/point')
>>> w = shapefile.Writer(shapefile.POLYGON)
>>> w.poly(parts=[[[1,5],[5,5],[5,1],[3,3],[1,1]]])
>>> w.field('FIRST_FLD','C','40')
>>> w.field('SECOND_FLD','C','40')
>>> w.record('First','Polygon')
>>> w.save('shapefiles/test/polygon')
>>> w = shapefile.Writer(shapefile.POLYLINE)
>>> w.line(parts=[[[1,5],[5,5],[5,1],[3,3],[1,1]]])
>>> w.poly(parts=[[[1,3],[5,3]]], shapeType=shapefile.POLYLINE)
>>> w.field('FIRST_FLD','C','40')
>>> w.field('SECOND_FLD','C','40')
>>> w.record('First','Line')
>>> w.record('Second','Line')
>>> w.save('shapefiles/test/line')
Anda juga dapat menambahkan atribut menggunakan argumen kata kunci di mana
tombol nama field.
>>> w = shapefile.Writer(shapefile.POLYLINE)
>>> w.line(parts=[[[1,5],[5,5],[5,1],[3,3],[1,1]]])
>>> w.field('FIRST_FLD','C','40')
>>> w.field('SECOND_FLD','C','40')
>>> w.record(FIRST_FLD='First', SECOND_FLD='Line')
>>> w.save('shapefiles/test/line')
Saving to File-Like Objects
Sama seperti Anda dapat membaca
shapefile dari python file seperti benda Anda juga dapat menulis mereka.
>>> try:
... from StringIO import StringIO
... except ImportError:
... from io import BytesIO as StringIO
>>> shp = StringIO()
>>> shx = StringIO()
>>> dbf = StringIO()
>>> w.saveShp(shp)
>>> w.saveShx(shx)
>>> w.saveDbf(dbf)
>>> # Normally you would call the "StringIO.getvalue()" method on these objects.
>>> shp = shx = dbf = None
Kesimpulan
dan Saran
Dari apa yang telah sedikit saya paparkan maka akan dapat sedikit kesimpulan yaitu kita dapat melakukan kegiatan yang ada di sistem informasi geografis ini menggunakan python misalnya pada materi diatas yaitu untuk writing shapefiles, membuat sebuah instance dari kelas, mengatur jenis shape, geometry and record balancing, menambahkan geometri, menambahkan bentuk titik, adding a poly shape, membuat atribut
Data
diri :
Nama : Ketut Adi Wijanarko
NPM : 1144031
Prodi/Kelas : D4 Teknik Informatika 3D
Matakuliah : Sistem Informasi Geografis
Kampus : Poiteknik Pos Indonesia
Referensi
:
URL
GitHub :
Plagiarisme
:
Tidak ada komentar:
Posting Komentar