Tag: dbconnect

[CAD-MAP-003]: Menghubungkan Excel Database ke Topology di Autocad Map Beserta dengan Query dan Anlisanya

 

Referensi : [CAD-MAP-001]: Menghitung Luas Bidang Tanah dengan Autocadmap
Platform : Excel dan Autocad Map
Download :

 

Pada tulisan [CAD-MAP-001]: Menghitung Luas Bidang Tanah dengan Autocadmap telah diuraikan bagaimana cara menghitung luas bidang tanah dengan menggunakan fungsi polygon topology.

Sedangkan pada tulisan kali ini adalah proses lebih lanjut dengan menghubungkan polygon topologi tersebut dengan data attribute yang tersimpan dalam file spreadsheet excel. Saya menyarankan jika database dalam jumlah yang besar, data attribute sebaiknya disimpan dalam program yang memang dedicated untuk database seperti microsoft access, sql server, mysql atau program database lainnya.

Gambaran hubungan polygon topology dengan database adalah:

image

 

Kolom [txt_nib] pada speadsheet excel adalah modifikasi angka pada kolom [nib] menjadi format nib lima angka sehingga format nib di autocadmap akan sama dengan format nib di excel. Formula excel untuk merubah angka nib menjadi format huruf, gunakan formula atau fungsi excel = TEXT([nib],”00000″), jika angka [nib] di cell [B2], maka rumusnya menjadi =TEXT(B2,”00000″).

Jika Anda menggunakan Autocad 32 bit dan Excel 32 bit, pada tulisan [CAD-MAP-10]: Update Text dari Excel ke Autocad Map (Bagian #1) telah diuraikan bagaimana cara menghubungkan object text di autocadmap ke database excel. Langkah-langkah yang sama ternyata tidak bisa digunakan untuk windows system OS 64bit dengan excel 64 bit juga.

Saat saya menulis tutorial ini, saya sedang menggunakan Windows 10 Pro 64bit , Microsoft Excel 365 64 bit dan Autodesk Civil 3D 2016 juga 64 bit. Apabila Anda menggunakan versi windows, excel dan autocadmap yang lain bisa juga mengikuti tutorial ini dengan melakukan sedikit penyesuain.

Secara garis besar, tutorial terdiri dari:

1. Setting ODBC datasources.

2. Drawing Clean-up.

3. Membuat Polygon Topology.

4. Link Topology Polygon ke Excel.

5. Menulis Informasi dari Excel ke Autocad.

6. Export Data Attribute hasil linked database ke text file.

Berikut bahasan dari masing-masing langkah di atas:

1. Setting ODBC datasources.

Hasil googling,  agar Autocad dapat membaca file database excel ber-extensi *.xlsx atau file database access *.acdb pada sistem 64 bit, maka perlu update database engine dengan terlebih dahulu download AccessDatabaseEngine_X64.exe kemudian diinstall untuk update database engine. Update database ini tidak diperlukan apabila menggunakan sistem 32bit.

Berikut cara setting ODBC Datasources:

Ketik ODBC pada [Search Windows], kemudian pilih [Set up ODBC Datasources (64-bit)]. Jika menggunakan OS 32-bit, pilih [Set up ODBC Datasources (32-bit)].

Pada kotak dialog [Microsoft ODBC Administrator], di page/halaman [User DSN], click tombol [Add]

Pada kotak dialog [Create New Data Source], pilih [Microsoft Excel Driver] kemudian click tombol [Finish]

Pada kotak dialog [ODBC Microsoft Excel Setup], lakukan setting misalnya seperti di bawah:

image

Click tombol [Select Workbook] untuk memilih file excel yang berisi data atribute bidang, kemudian click [Options] dan uncheck [Read Only]

click [OK] untuk menyimpan setting.

Catatan: setting ini dilakukan sekali saja jika database selalu terhubung ke file yang sama.

2. Drawing Clean-up.

Proses drawing clean-up digunakan untuk membersihkan object autocad sebelum dilakukan proses build topology. Detail bagaimana cara clean-up silakan dibaca di [CAD-MAP-001]: Menghitung Luas Bidang Tanah dengan Autocadmap. Pada tutorial ini hanya dibahas sekilas saja:

“Set layer on” / hidupkan layer hanya untuk garis batas polygon /bidang (layer: 020100) dan text nib (layer: 080201), kemudian bedakan warna layernya antara text nib dan batas polygon untuk mempermudah identifikasi.

Pada menu “Tool” di autocadmap, pilih [Drawing Clean Up]. Atau pada ketik di command: mapclean

Pada tahapan [Select Objects], pilih [Select All], kemudian click icon [Layer] untuk membatasi proses clean-up hanya untuk Layers: 020100, kemudian clicn [Next]

Pada tahapan [Clean Up Actions], set urutan action :

Break Crossing Object Memutus garis yang saling bersilangan dengan menambahkan “titik” pada persimpangan garis
Delete Duplicates Menghapus garis ganda hasil dari breaking crossing object
Erase Dangling Objects Menghapus sisa garis yang tidak diperlukan biasanya garis sisa breaking yang ukuran panjangnya kecil
Dissolve Pseudo Nodes Menghubungkan atau mirip perintah join pada pedit (polyline edit)

 

image

 

Click tombol [Next], untuk masuk ke tahap [Cleanup Methods]

Pada tahap [Cleanup Methos], pilih [Modify Original Object] kemudian check pilihan [Line to Polyline], [Arc to Polyline] dan [3D Polyline to Polyline]

Kemdian click tombol [Save] untuk menyimpan parameter drawing cleanup, sehingga untuk proses cleanup selanjutnya tinggal memanggil [Load] parameter tanpa harus setting lagi dari awal.

Click [Finish] untuk memulai proses drawing cleanup.

3. Membuat Polygon Topology

Jika workspace tool autocadmap belum aktif, aktfikan dengan mengetik di command: mapwspace

Pada task pane map, pilih toolspace [Map Exlporer], lalu click kanan [Topologies] kemudian pilih [Create]

Pada tahap [Topology Type], pilih topology type: [Polygon], kemudian beri nama misal topology name: blok01

click [Next] untuk masuk tahap berikutnya.

Pada tahap [Select Links], pilih [Select All], kemudain filter Layers hanya untuk batas polygon yaitu layer=02010

image

Lewati tahapan [Select Nodes] dan [Create New Nodes]

Click tahapan [Select Centroids], untuk menentukan bahwa pusat polygon atau id polygon adalah text nib.

Pada tahapan [Select Centroid], pilih [Select All], kemudain filter Layers hanya untuk text nib yaitu layer=080201

image

click [Finish] untuk memulai pembuatan topology.

Apabila proses pembuatan topology tidak berhasil atau keluar pesan kesalahan, lakukan editing geometry.

Jika berhasil, maka akan muncul nama topologynya di taskpane [Map Explorer] pada folder [Topologies]

image

untuk mengetahui informasi luas hasil topology, ketik di command: adeditdata

kemudian pilih text nib, sehingga dimunculkan informasi sebagai berikut:

image

Informasi luas (Area) hasil topology akan di hubungkan dengan informasi dalam tabel di excel.

4. Link Topology Polygon ke Excel.

Proses link ini dilakukan setelah setting ODBC datasources telah berhasil.

Lakukan checking tabel di excel yang akan di linked-kan khususnya range defined name pada spredsheet.

Buka file excel yang telah didefinisikan di datasource (Langkah-1) yaitu file: [pbt_attr.xlsx]

Pilih sheet atau tabel yang akan ditampilkan di autocad:

image

Block semua tabel termasuk dengan nama headernya, pada contoh data di atas dipilih/block range A1:F85, kemudian nama range tersebut di lokasi yang dilingkari merah sebagai “nik”. Nama ini akan muncul sebagai table di autocad map.

[Save] dan [Exit] dari file excel untuk kemudian dilakukan setting link template di autocadmap. Proses link tidak bisa dilakukan jika file data source masih terbuka.

Pada program autocad map, di task pane [Map Explorer], click kanan [Data Sources], kemudian pilih [Configure]

Isikan nama koneksi di Data Source Name, misal:odbc_xlsx_pbt, kemudian click [OK]

Pada page / halaman [Provider], pilih [Microsoft OLE DB Provider for ODBC Driver], kemudian click [Next]

Pada halaman [Connection], pilih [Use data source name] sesuai dengan definisi ODBC sebelumnya di langkah 1 yaitu: xlsx-pbt kemudian click [Test Connection].

jika connection berhasil, pilih halaman [Advanced]

Pada halaman [Advanced], set permission ke [ReadWrite], kemudian click OK.

Catatan: setting ini dilakukan sekali saja jika database selalu terhubung ke file yang sama.

Pada program autocad map, di task pane [Map Explorer], click kanan [Data Sources], kemudian pilih [Attach]

Pilih file udl yang telah disetting sebelumnya yaitu: odbc_xlsx_pbt

Pada task pane [Data Sources], sudah muncul tabel [nik] yang diambil dari excel. Double click table [nik] untuk melihat tabelnya.

image

Tabel diatas kemudian akan di linked kan dengan text nib di autocad dengan tool [Link Templates]

Pada taskpane [Map Explorer], click kanan [Link Templates], kemudian click [Define Link Template].

Masukkan nama link misal: lnk_nib, kemudian pilih kolom txt_nib sebagai Column Key.

image

Click kanan link template [lnk_nib] dalam folder [Link Templates], kemudian pilih [Generate Link]

Lakukan setting di [Generate Links] dengan linkage type: Text, Data Links: Create Database Links dengan Link Template: lnk_nib kemudian database validation: link must exist :

image

click [OK] kemudian pilih Select All untuk memulai proses link data attribute.

Cek hasil linked dengan memilih salah satu text nib di gambar, kemudian click kanan dan pilih [Properties]

contoh hasil property akan ada tambahan informasi hasil topology dan linked database:

image

Cara mengecek juga bisa dilakukan di data view table:

Pada folder [Link Templates], double click link template lnk_nib

Pada [Data View] pilih menu [Records] kemudian [Spatial Filter]

Pilih text nib di gambar, kemudian [Enter], maka Data View akan menampilkan table dengan record nib yang terpilih / record terfilter.

Jika selesai memilih, kembalikan ke mode non-filter dengan memilih menu [Records], kemudian pilih [Clear Filter]

5. Menulis Informasi dari Excel ke Autocad.

Object text telah ter-linked atau terkoneksi, pada tahap berikutnya kita coba tampilkan informasi dari database excel ke object text di autocad.

Informasi yang aka di tampilkan akan dibaut di layer terpisah karena sifatnya hanya informasi:

Informasi Sumber Data Layer
NIB Linked Database txt_nib
Nama Linked Database txt_nama
Luas Topology txt_luas

Buat layer-layer tersebut di autocad jika belum ada.

Pada task pane [Map Explorer], pilih folder [Topologies] kemudian click kanan topologi : [blok01] >> [Analysis] >> [Topology Query]

Pada kota dialog [Topology Query], click [Define Query]

Click tombol [Location], kemudian pilih [All]

Pada Query Mode, pilih [Draw]

Click tombol [Alter Properties]

Pada kotak dialog [Set Property Alterations], Click tombol [Text], kemudian pada kotak dialog [Define Text], click tombol [Expression]

image

Pilih, kolom TXT_NIB untuk mengambil text NIB dari linked template lnk_nib, kemudian click [OK] lalu set layer ke txt_nib di kotak dialog [Define Text]

Ulangi set [Text Value Expression] dengan memilih kolom PEMILIK daari linked template lnk_nib, kemudian click [OK] lalu set layer ke txt_nama di kotak dialog [Define Text]

Untuk informasi luas, pada [Text Value Expression] lakukan pilihan kolom Area dalam folder polygon cetroid di bawah grup topology poligon blok01

image

click [OK] kemudian lakukan setting layer ke txt_luas

agar informasi luas ditampilkan dalam bentuk angka bulan, rubah text expression menjadi : (STRCAT  (RTOS :AREA@TPMCNTR_blok01 2 0) “M2”). Tampilan Set Property Alterations menjadi:

image

click [OK] kemudian click [Execute]

Tampilan gambar setelah query dan mematikan layer 080201:

image

Jika ingin menampilkan informasi koordinat di NIB, misal di layer txt_xy, tambahkan setting di text value expression dengan memilih kolom X1.Y1,Z1 di dalam folder [Properties]

image

Jika informasi koordinat ini tidak perlu dicetak atau ditampilkan, maka tinggal mematikan layer txt_xy

image

6. Export Data Attribute hasil linked database ke text file

Hasil linked gambar autocad dan database sudah bisa dilakukan. Selanjutnya adalah proses membuat report menjadi text file sehingga bisa dibuka di program excel atau program database.

Kolom atau informasi yang akan diexport adalah: Text nib, nama, luas, koordinat X dan koordinat Y.

Pada task pane [Map Explorer], pilih folder [Topologies] kemudian click kanan topologi : [blok01] >> [Analysis] >> [Topology Query]

Pada kota dialog [Topology Query], click [Define Query]

Click tombol [Location], kemudian pilih [All]

Pada Query Mode, pilih [Report], kemudian click [Options]

Click [Expression] kemudian lakukan setting expression:

image

Tentukan lokasi file output kemudian Click [OK] lalu jalankan [Execute Query].

Hasil file [Peta Bidang.txt]:

image

Langkah-langkah yang diuraikan di atas menggunakan tool yang ada di autocadmap atau fasilitas Map jika di civil 3d.

Jika ada waktu dan kesempatan, saya akan mencoba membuat vba / macro di excel sehingga fungsi seperti di atas bisa berjalan di autocad biasa tanpa ada tool mapnya.

==thanks for reading my blogs.