Selasa, 15 November 2016

Sistem Informasi Geografis Pertemuan 5 (Retrieve Data Geospasial)



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