Tag: topology

[CAD-MAP-20]:Autolisp untuk Menampilkan Tabel Peta Bidang di Autocadmap dan Microsoft Excel

Reference : [CAD-MAP-19]: Membuat tabel Microsoft Access dari Hasil Topology Analysis di AutoCAD Map (Lanjutan-2: Menjalankan Autolisp)
Platform : AutocadMap
Download : download
     

Pada tulisan [CAD-MAP-19]: Membuat tabel Microsoft Access dari Hasil Topology Analysis di AutoCAD Map (Lanjutan-2: Menjalankan Autolisp) tabel hasil topology analisis disimpan dalam bentuk database microsoft access. Pada tulisan kali ini akan diuraikan bagaimana cara melakukan topology analisis dengan menggunakan autolisp dan menampilkan hasilnya dalam bentuk block attribute dan spreadsheet excel.

Fungsi isi block attribute diambil dari fungsi yang dibuat oleh Lee Mac sedangkan untuk proses penulisan ke Microsoft Excel diambil dari http://cadtips.cadalyst.com/export/export-text-a-drawing-excel-spreadsheet.

Contoh aplikasi penggunaan fungsi overlay ini adalah membuat table peta bidang pada pekerjaan PTSL yaitu membuat tabel yang berisi informasi kolom / field nomer urut bidang, nomer identifikasi bidang dan luas tanah.

Secara garis besar, tahapan untuk melakukan proses pembuatan tabel bidang tanah:

  1. Persiapan dan Pengecekan Standard Layer.
  2. Melakukan Proses Overlay Topology.
  3. Membuat Tabel Daftar Tanah

1. Persiapan dan Pengecekan Standard Layer.

1.a. Copy file program autolisp dan block ke folder Support File Search Path.

Copy files dibawah ini ke salah satu folder Support File Search Path:

image

Sedangkan cara menegetahui file support path, ketik pada command: options

kemudian pilih File>>Support File Search Patah :

image

1.b. Load/Panggil program autolisp.

  • Ketik pada command:appload
  • pilih file: tab_nib.lsp
  • click Load

Agar program selalu dipanggil atau di-uploaded saat program autocadmap dijalankan, tambahakan program tab_nib.lsp di [Startup Suite]

1.c. Cek insertion point text dan standard layer

Syarat proses overlay untuk pembuatan table adalah:

No Keterangan Tindakan
1. Topology bidang sudah terbuilt sempurna atau topology dengan centroid NIB sudah bebas dari kesalahan Lakukan re-build topology sebelum proses dilakukan
2. Harus ada hanya satu NUB (Nomor Urut Bidang) dan Satu Nama di dalam gambar bidang tanah Geser insertion point text NUB dan Nama ke dalam bidang tanah, jika ditemukan insertion point NUB dan Nama ada di luar bidang tanah
3 Nama harus tertulis dalam satu baris Jika nama tertulis dalam lebih dari satu baris, maka penulisan nama tersebut harus digabung menjadi satu.
4 Layer untuk text nub: tn_nub
Layer untuk text nama: tn_nama
untuk merubah layer ke tn_nub, ketik di command:z_lu
untuk merubah ke layer tn_nama, ketik di command:z_ln

2. Melakukan Proses Overlay Topology.

Proses overlay dijalankan setelah syarat-syarat pada langkah 1.c sudah terpenuhi.

Ketik pada command:z_xdata

sehingga keluar notifikasi:

Overlay successfully created.

Hasil proses overlay ini akan terbentuk object titik pada layer [nub_nib] di tiap-tiap insertion point text NUB dan text Nama. Jika object titik tidak terlihat, ketik di command:pdmode, kemudian masukkan value=3.

Command: pdmode
Enter new value for PDMODE <3>:

image

Titik merah adalah, titik hasil topology overlay yang berisi informasi NIB, NUB, Nama dan Luas.

Untuk melihat data hasil overlay, ketik di command:adeeditdata

kemudian pilih salah satu titik di dekat nub, misal nub 18, maka akan ditampilkan informasi sebagai berikut:

image

Pada tabel di atas sudah terbentuk tabel korelasi atau link antara NIB dan NUB.

kemudian pilih juga titik di dekat text nama, maka akan ditampilkan informasi sebagai berikut:

image

Pada tabel di atas sudah terbentuk korelasi atau link antara NIB dan Nama Pemilik.

Gabungan antara NIB,NUB dan luas akan dibuat pada tahap berikutnya.

3. Membuat Tabel Daftar Tanah.

Ketik di command:Z_TABELPBT

Kemudian pilih lokasi tabel di autocadmap.

Hasil tabel di autocad dan excel:

image

==selamat mencoba===

[CAD-MAP-018]: Aplikasi Topology Analysis di AutoCAD Map untuk Mengambil Nilai Text dalam Polygon (disertai dengan tahapan pembuatan Autolisp)

Referensi : [CAD-MAP-017]: Membuat tabel Microsoft Access dari Hasil Topology Analysis di AutoCAD Map
Platform : Autocad Map
Download : tidak tersedia agar bisa belajar sendiri

Berbeda dengan tulisan sebelumnya di [CAD-MAP-017]: Membuat tabel Microsoft Access dari Hasil Topology Analysis di AutoCAD Map dimana dalam satu bidang terdiri dari dua object text yang akan dibuat tabel baru di Microsoft Access, kali ini ada tiga object text dalam satu bidang.

Penggalan gambar yang saya terima :

image

Tabel yang akan dibuat di Microsoft Access terdiri dari 3 (tiga) kolom/field yang yang terdiri dari:

Kolom Nama Kolom / Field Sumber Data
1 NIB Text Value
2 Berkas Text Value
3 Nama Text Value
3 Area Topology Polygon

Tahapan untuk membuat data source, clean-up dan topology polygon tidak diuraikan lagi dalam tulisan ini. Silakan mengacu ke tulisan saya sebelumnya tentang pembuatan data source, clean-up dan pembuatan topology polygon.

A. Load dan Check Polyogn Topology.

Saat saya menerima gambar yang akan diolah, ternyata sudah ada topology polygonnya bernama [Batas_Persil] tetapi dalam kondisi belum ter-loaded / belum aktif. Cara untuk meng-aktifkan topology tersebut adalah dengan :

1. Click kanan topology [Batas_Persil], pilih [Administration] kemudian [Load Topology]. Jika ditampilkan pesan  “Topology Batas_Persil is correct and complete”, maka topology bisa dipakai untuk proses analisa topology.

image

 

2. Untuk menampilkan geometry polygon dalam topology, click kanan [Batas_Persil], kemudian pilih [Show Geometry] maka akan ditunjukkan geometry polygon beserta dengan pusat poligonnya (centroid polygon). Dari hasil [Show Geometry] tersebut dapat diketahui bahwa polygon [Batas_Persil] menggunakan Object Text yang berisi informasi  NIB sebagai centroid poligon.

3. Untuk mendapatkan informasi luas dari hasil topology ketik pada command:adeeditdata

image

Langkah selanjutnya adalah membuat node topology dari object text Berkas dan Nama.

B. Membuat node topology dari object text Berkas dan Nama.

Agar proses pembuatan node topology lebih cepat terutama saat pemilihan object, maka sebaiknya object text Berkas dan text Nama terdapat pada layer yang berbeda.

Saat saya melakukan pengecekan gambar kedua object text Berkas dan Nama terletak pada satu layer  [tn_lai] sehingga perlu dibuat layer baru untuk memisahkan object text Berkas dengan object text Nama.

B.1. Menggunakan Filter untuk Memisahkan Text Berkas dan Text Nama.

Misalkan text Nama diletakkan di layer [tn_lai] kemudian text Berkas diletakkan di layer [tn_lai_berkas], maka langkah-langkah untuk memisahkan object text tersebut adalah:

1. Buat layer baru dengan nama [tn_lai_berkas] kemudian set warna layer ke warna merah atau warna yang berbeda dengan warna layer [tn_lai]

2. Proses pemilihan text dalam satu layer akan lebih mudah jika ada properties text yang berbeda dari object text Berkas dan text Nama. Misal warna textnya berbeda, tinggi text berbeda atau text style yang berbeda. Pada kasus ini text propertiesnya seperti warna text, tinggi text, text style antara object text Nama dengan object text Berkas adalah sama tetapi untung masih ada perbedaan yang saya temukan yaitu pada object text Berkas selalu ada huruf dash atau “-“.

Fasilitas perintah Filter di autocad dapat digunakan untuk memilih object text dengan kriteria filter : memilih semua Object Text dengan Text Value berisi huruf “-” di layer [tn_lai]. Setelah object text terpilih, maka object tersebut dipindahkan ke layer [tn_lai_berkas]

Lesson learned: Sebaiknya letakkan di layer yang berbeda jika object memiliki  informasi yang berbeda sehingga mempermudah dalam proses analisa

3. Ketik di command:Filter

4. Pilih [Add Selected Object], kemudian pilih salah satu object text Berkas:

image

Pada List Box, hapus object properties selain properties [Object=Text], [Layer=tn_lai] dan [Text Value]. Cara menghapus adalah dengan memilih property yang ada di list box kemudian click Delete.

5. Pilih property [Text Value], kemudian click [Edit Item]

6. Ganti text disamping tulisan X=*-*, kemudian click [Substitute]

image

7. Setelah itu click [Apply] untuk memulai memilih object dengan criteria filter seperti di atas.

8. command: Select objects: all

9. Maka seluruh object text di layer [tn_lai] yang textnya terdapat huruf “-” akan terpilih.

10. Masih dalam kondisi text tepilih, tekan Ctrl+1

11. Pada setting Design Properties, rubah Color : ByLayer kemudian Layer: tn_lai_berkas

image

12. Gambar setelah text berkas dan text nama dipisahkan layernya. Text warna merah adalah object berkas di layer [tn_lai_berkas]

image

B.2. Membuat Node Topology untuk Text Nama dan Text Berkas

Buat topology dengan setting sebagai berikut:

Topology Type Topology Name Select Node on Layer
Node Nama tn_lai
Node Berkas tn_lai_berkas

List topology dalam gambar menjadi:

image

C. Konversi Object Text ke Table Object Data.

Pada [CAD-MAP-017]: Membuat tabel Microsoft Access dari Hasil Topology Analysis di AutoCAD Map saat melakukan overlay, setting untuk attribute di source topology menggunakan property object text autocad .STRING sehingga nilai object text di node topology (nama topology pada contoh sebelumnya : pt_nama) ikut dalam proses overlay.

Setting property .STRING juga diset pada overlay topology (nama topology pada contoh sebelumnya : pol_pbt) akan tetapi pada saat proses overlay dijalankan terjadi kegagalan. Kegagalan ini mungkin terjadi karena ada dua nama field pada satu tabel yaitu STRING dari source topology dan STRING dari overlay topology.

Salah satu cara agar proses overlay berhasil, maka pada cara sebelumnya property object text .STRING diconvert menjadi tabel database access kemudian nama field diganti yang sembelumnya STRING menjadi NIB.

Cara lain agar proses overlay tidak menghasilkan field sama adalah dengan membuat object data table dengan setting nama field yang berbeda. Nama field dan nama tabel yang akan dibuat adalah:

Nama Object Data Tabel Nama Field Field Type Keterangan
OD_NIB NIB Character berisi nilai text NIB dari layer 080201
OD_NAMA NAMA Character berisi nilai text nama dari layer tn_lai
OD_BERKAS BERKAS Character berisi nilai text berkas dari layer tn_lai_berkas

C.1. Membuat Object Data Tabel

Jika menggunakan kotak dialog, cara membuat data object data dengan click icon [Define Object Data] di group [Attribute Data] dari menu [Map Setup]

image

atau dengan mengetik di kotak command: ADEDEFDATA

 

Catatan: “Pada tahapan selanjutnya setting perintah melalui kotak dialog dimatikan sementara sehingga pilihan dan isian dilakukan melalui prompt command:. sehingga urutan perintah dapat dicatat / disalin untuk kemudian dibuatkan program Autolispnya”

1. Mematikan kotak dialog.

Command: CMDDIA

Enter new value for CMDDIA <1>: 0

2. Buat object data tabel OD_NIB, OD_NAMA dan OD_BERKAS

Command: _adedefdata
Table: [?/Delete/Modify/New/Rename/eXit]<eXit>: N
Table name: OD_NIB
Field 1:
Field name: NIB
Field description: <ENTER>
Field type: [Integer/Character/Point/Real]: <Integer>: C
Field default value: <ENTER>
Continue with next field? [Yes/No] <Y>:N
Table: [?/Delete/Modify/New/Rename/eXit]<eXit>: X

Pada tahap di atas object data dengan nama OD_NIB sudah dibuat, untuk membuat object data tabel OD_NAMA dan OD_BERKAS maka perlu diulang langkah di atas dengan memasukkan isian di prompt Table Name dengan nama object table yang diinginkan.

Setting cmddia dan perulangan atau looping untuk membuat object data di atas jika menggunakan program autolisp adalah:

(defun c:atop ()
;;1. MEMBUAT OBJECT DATA
(setq cmddia_old (getvar “cmddia”));simpan setting cmddia sebelumnya(setvar “cmddia” 0);set kotak dialog off
;setting list object data di bawah bisa dirubah sesuai data yang ada

(setq list_od (list “OD_NIB” “OD_BERKAS” “OD_NAMA”));list object data yang akan dibuat
(setq list_fld (list “NIB” “BERKAS” “NAMA”));list nama field atau header

(setq list_type (list “C” “C” “C”)); list object type dari list object di atas

(setq i -1);setting index untuk ambil
(foreach od list_od
(setq i (1+ i))
(command  “adedefdata” “N” od (nth i list_fld) “” (nth i list_type) “” “N” “X”);membuat data table
);end foreach

(setvar “cmddia” cmddia_old)
);end defun

Catatan: Pada tahap selanjut autolisp akan terus diupdate sehinga akan tersusun program autolisp yang merangkup semua tahapan di tutorial ini.

C.2. Mengisi Object data OD_NIB, OD_NAMA dan OD_BERKAS dari Text NIB, NAMA dan BERKAS.

Object data yang telah dibuat kemudian diisi dengan text string dari object NIB, NAMA dan BERKAS yang masing-masing ada di layer yang telah didefiniskan sebelumnya yaitu:

Autocad Object Nama Layer Target Object Data
Text 080201 OD_NIB
Text tn_lai OD_NAMA
Text tn_lai_berkas OD_BERKAS

Tahapan perintah sebelum dibuatkan autolisp:

Command: ADEGENLINK
Linkage type: [Blocks/textObjects/encloseDBlocks/enclosedText]<enclosedText>: o
Create [Objectdata/ASElinks]<ASElinks>: o
Object data table (? for list): od_nib
Use Insertion Point as Label Point: [Yes/No] <N>:y
Text objects to generate from: [Select/All]<All>: s
Select objects: (ssget “x” ‘((0 . “TEXT”) (8 . “080201”)))
<Selection set: 2f>
22 found
Select objects:
22 object(s) to process.
Processing 22…done. 22 links created.

Pada proses select objects di atas, fungsi (ssget “x” ‘((0 . “TEXT”) (8 . “080201”))) adalah untuk memilih semua object autocad dengan kriteria hanya memilih object text (0 . “TEXT”) yang ada di layer 080201 (8 . “080201”). Dengan memahami fungsi filter tersebut, maka untuk membuat link  OD_NAMA dan OD_BERKAS adalah dengan mengulang langkah diatas dengan merubah prompt “object data tablle:” dan “Select objects: sesuai dengan nama layer letak object text tersebut.

Program autolisp setelah dilengkapi dengan perintah link data menjadi:

(defun c:atop ()
(setq cmddia_old (getvar “cmddia”));simpan setting cmddia sebelumnya(setvar “cmddia” 0);set kotak dialog off
;setting list object data di bawah bisa dirubah sesuai data yang ada

(setq list_od (list “OD_NIB” “OD_BERKAS” “OD_NAMA”));list object data yang akan dibuat
(setq list_fld (list “NIB” “BERKAS” “NAMA”));list nama field atau header
(setq list_type (list “C” “C” “C”)); list object type dari list object di atas
(setq list_layer (list “080201” “tn_lai_berkas” “tn_lai”))

(setq i -1);setting index untuk ambil
(foreach od list_od
(setq i (1+ i))
;;1. Membuat object data tabel
(command  “ADEDEFDATA” “N” od (nth i list_fld) “” (nth i list_type) “” “N” “X”)

;;2. linked object data table ke string atau text.
(setq filter (list (cons 0 “TEXT”) (cons 8 (nth i list_layer))));set filter
(command “ADEGENLINK” “O” “O” od “Y” “S” (ssget “X” filter) “”)

);end foreach

(setvar “cmddia” cmddia_old)
);end defun

untuk mengecek apakah object data table sudah link ke text object atau string, click icon [Edit Object Data] di group [Map Edit] pada menu [Tool]

image

atau dengan mengetik di command: ADEEDITDATA

Pilih object text NIB, maka akan ditampilkan isi object data OD_NIB:

image

Pada contoh di atas object text dengan value / isi nib 01992 telah terisi di object data table OD_NIB.

D. Proses Topology Overlay.

Proses ini sebenarnya adalah spasial join menggunakan metode overlay type intersect antara topology titik/node (source topology) dengan topology polygon (overlay topology) . Hasil dari overlay ini adalah berupa topology titik/node topology dan object data tabel baru. Pada obejct data table baru tersebut bisa diberi attribute (field baru) yang berisi obejct data hasil link dari tahapan sebelumnya.

Proses overlay dilakukan dua kali dengan setting sesuai dengan tabel di bawah:

Proses Overlay Source Topology Overlay Topology Hasil Topologi Attribute Source Topology Attribute Overlay Topology Object Data Table Baru
Pertama Berkas Batas_Persil TP_Berkas :BERKAS@OD_BERKAS :NIB@OD_NIB OD_BERKAS_PRSL
Kedua Nama Batas_Persil TP_Nama :NAMA@OD_NAMA :NIB@OD_NIB OD_NAMA_PRSL

Cara overlay dan setting attribute di source dan overlay topology silakan mengacu ke [CAD-MAP-017]: Membuat tabel Microsoft Access dari Hasil Topology Analysis di AutoCAD Map .  Sedangkan tahapan overlay ini akan dilakukan dengan urutan pada printah command:

Sebelum melakukan tahapan dibawah topology Berkas, Nama dan Batas_Persil harus di-Load Topology dulu.

1. Mematikan kotak dialog.

Command: CMDDIA

Enter new value for CMDDIA <1>: 0

2.  Proses Overlay Pertama

Command: MAPOVERLAY
Enter source topology name (? for list) <nama>: BERKAS
Enter type of source data (Object-data/Sql-data): o
Enter table name (? for list) <>: OD_BERKAS
Select all available fields? (Yes/No) <Y>: y
Enter type of source data (Object-data/Sql-data): <Enter>
Enter overlay topology name (? for list) <Batas_Persil>: Batas_Persil
Enter type of overlay data (Object-data/Sql-data): o
Enter table name (? for list) <>: OD_NIB
Select all available fields? (Yes/No) <Y>:y
Enter type of overlay data (Object-data/Sql-data):<Enter>
Enter overlay operation (Intersect/Union/iDentity/Erase/Clip/Paste) <I>:I
Enter result topology name:TP_BERKAS
Enter result topology description:
Enter target layer (? for list) <080201>: 0
Enter result data table (? for list) <>: OD_BERKAS_PRSL
No such data table. Create table? (Yes/No) <Y>: y
Enter table description:

3. Proses Overlay Kedua

Ulangi tahapan seperti di nomer 2 dengan mengganti source topology, source topology table name dan result data table. sehingga akhirnya diapatkan dua (2) object data table yaitu OD_BERKAS_PRSL dan OD_NAMA_PRSL

Program autolisp setelah memasukkan perintah overlay:

(defun c:atop ()
(setq cmddia_old (getvar “cmddia”));simpan setting cmddia sebelumnya(setvar “cmddia” 0);set kotak dialog off
;setting list object data di bawah bisa dirubah sesuai data yang ada

(setq list_od (list “OD_NIB” “OD_BERKAS” “OD_NAMA”));list object data yang akan dibuat
(setq list_fld (list “NIB” “BERKAS” “NAMA”));list nama field atau header
(setq list_type (list “C” “C” “C”)); list object type dari list object di atas
(setq list_layer (list “080201” “tn_lai_berkas” “tn_lai”))

(setq i -1);setting index untuk ambil
(foreach od list_od
(setq i (1+ i))
;;1. Membuat object data tabel
(command  “ADEDEFDATA” “N” od (nth i list_fld) “” (nth i list_type) “” “N” “X”)

;;2. linked object data table ke string atau text.
(setq filter (list (cons 0 “TEXT”) (cons 8 (nth i list_layer))));set filter
(command “ADEGENLINK” “O” “O” od “Y” “S” (ssget “X” filter) “”)

);end foreach

;;3. Proses Overlay

(setq tp_node1 “BERKAS” tp_node2 “NAMA” tp_poly “Batas_Persil”)
(setq od_res1 “OD_BERKAS_PRSL” od_res2 “OD_NAMA_PRSL”)
(setq tp_res1 “TP_BERKAS” tp_res2 “TP_NAMA”)
(setq od_node1 (nth 1 list_od))
(setq od_node2 (nth 2 list_od))
(setq od_poly (nth 0 list_od))

;;overlay pertama
(command “MAPOVERLAY” tp_node1 “o” od_node1 “y” “”)
(command tp_poly “o” od_poly “y” “”)
(command “i” tp_res1 “” “0” od_res1 “y” “”)

;;overlay kedua
(command “MAPOVERLAY” tp_node2 “o” od_node2 “y” “”)
(command tp_poly “o” od_poly “y” “”)
(command “i” tp_res2 “” “0” od_res2 “y” “”)

(setvar “cmddia” cmddia_old)
);end defun

Copy list atau kode autolisp di atas ke text file dengan ekstensi .lsp misal analisa_overlay.lsp

cara penggunaan autolisp tersebut akan dijelaskan pada posting berikutnya.

E. Menyimpan Object Data ke Microsoft Access.

Agar hasil overlay tersebut bisa ditampilkan dalam bentuk table, maka object data table tersebut diexport dalam bentuk Text File (txt file) , Microsoft Excel ataupun Microsoft Acces. Cara export ke Text File dilakukan dengan topology query seperti dalam contoh [CAD-MAP-001]: Menghitung Luas Bidang Tanah dengan Autocadmap sedangkan jika ingin ditampilkan dalam bentuk Microsoft Excel dapat mengikuti cara connect data ke excel di [CAD-MAP-003]: Menghubungkan Excel Database ke Topology di Autocad Map Beserta dengan Query dan Analisanya.

Topology dan object data yang akan ditampilkan dalam microsoft access adalah:

Nama Table Sumber
TPMCNTR_Batas_Persil hasil topology polygon
OD_BERKAS_PRSL hasil overlay nomor berkas dan persil
OD_NAMA_PRSL hasil overlay nama dan persil

Langkah-langkah untuk export data ke access di bawah ini berasumsi bahwa database microsoft access (file *.accdb) telah dibuat:

1. Buat ODBC connection ke database microsoft access seperti di [CAD-MAP-017]: Membuat tabel Microsoft Access dari Hasiil Topology Analysis di AutoCAD Map misal pada contoh di bawah odbc connectionnya bernama odbc_accdb_peta_bidang

2. Hubungkan autocadmap / connect dengan ODBC di atas.

image

3. Ketik di Command:MAPOD2ASE

image

Lakukan setting:

Source Object Data Table : TPMCNTR_Batas_Persil
Target Link Template : Covert object to database
Object Selection : Select Automatically

4. Click tombol [Define]

Pilih Data Source: odbc_accdb_peta_bidang, kemudian click [Connect]

image

Click [OK] untuk menutup kotak dialog [Define Link Template]

5. Click [Proceed]

6. Ulangi langkah di atas untuk object data OD_BERKAS_PRSL dan OD_NAMA_PRSL

7. Hasil tahapan di atas adalah 3 (tiga) link templates. Double click salah satu link template tersebut untuk menampilkan tablenya

image

Tahap berikutnya adalah melakukan pengabungan data atau join table di microsoft access.

F. Join table di Microsoft Access.

Langkah untuk melakukan join table di Microsoft Access :

1. Terlebih dahulu disconnect / putus hungan antara autocadmap dengan odbc: odbc_accdb_peta_bidang.

image

2. Buka file database microsoft access yang terkoneksi ke odbc_accdb_peta_bidang.

Pada microsoft access sudah ditampilkan 3 (tiga) buah table hasil dari proses konversi obejct data table dari autocadmap.

image

2.1. Pada menu [Create], pilih icon [Query Design]

2.2. Pilih table OD_BERKAS_PRSL, OD_NAMA_PRSL dan TPMCNTR_Batas_Persil kemudian click [Add]

2.3. Pada area query design, Pilih field [ID] di table [TPMCNTR_Batas_Persil] kemudian hubungkan ke field [Batas_Persil_ID] di table [OD_BERKAS_PRSL]

2.4. Pilih lagi field [ID] kemudian hubungkan ke field [Batas_Persil_ID] di table [OD_NAMA_PRSL]

Hubungan antar table akan terlihat seperti gambar di bawah:

image

2.5. Jika ingin menampilkan kolom dengan urutan NIB, BERKAS, NAMA dan LUAS

Double click field [Batas_Persil_NIB] di table OD_BERKAS_PRSL –> menampilkan NIB

Double click field [BERKAS_BERKAS] di table OD_BERKAS_PRSL –> menampilkan BERKAS

Double click field [NAMA_NAMA] di table OD_NAMA_PRSL –> menampilkan NAMA

Double click field [AREA] di table [TPMCNTR_Batas_Persil]

2.6 Click icon Run untuk menjalankan query.

image

Hasil run query

image

Simpan query misal dengan nama : InformasiPersil kemudian tutup program microsoft.

Jika diinginkan hasil di microsoft excel, pilih nama query [InformasiPersil], kemudian pada menu [External Data], pilih icon [Export to Excel]

image

G. Menghubungkan Hasil Query Access dengan Object di AutoCAD.

Maksud dari tahapan ini adalah untuk mengecek hasil query di access apakah sesuai dengan letak lokasinya di autocad map.

1. Tutup file access dari tahapan sebelumnya.

2. Pada folder Data Sources, click kanan odbc_accdb_peta_bidang, kemudian click [Connect]

Nama query yang dibuat di microsoft access sudah ditampilkan.

image

Double click query [InformasiPersil], maka ditampilkan tabel hasil query di autocad map:

image

3. Buat Link Template dengan Key Column [NIB]

Saat Data View – InformasiPersil ditampilkan seperti di atas, pada menu [Links] pilih [Define Link Template]

cek Key Batas_Persil_NIB sebagai Key, kemudian click [OK]

image

Simpan / save autocadmap sehingga link template yang baru saja dibuat ditampilkan dalam folder  [Link Templates]

4. Generate Link ke Object NIB atau text NIB.

Lakukan quick select dengan mengetik di command :qselect

Object Type: Text
Properties: Layer
Operator: = Equals
Value: 080201
kemudian click [OK]

click kanan Link Template : [InformasiPersil] kemudian lakukan [Generate Links]

image

5. Double Click link template [InformasiPersil] kemudian lakukan setting Autoselect, Autohighlight dan setting Zoom Level sehingga saat record di data view dipilih, secara otomatis object yang terlinked dengan database otomatis terpilih dan ter-zoom.

Pada gambar di bawah terlihat bahwa record yang terpilih di Data View sudah sama dengan NIB, Nama dan Berkas yang ada di autocadmap:

image

Tutorial berikutnya akan dijelaskan bagaimana cara menggunakan autolisp dalam file analisa_overlay.lsp sehingga proses seperti dijelaskan dalam tutorial ini lebih cepat.

Sekian terimakasih.

Mohon maaf jika tutorialnya kepanjangan.

[CAD-MAP-017]: Membuat tabel Microsoft Access dari Hasiil Topology Analysis di AutoCAD Map

Referensi : [CAD-MAP-003]: Menghubungkan Excel Database ke Topology di Autocad Map Beserta dengan Query dan Analisanya
Platform : AutocadMap
Download :

 

Gambar di Autocad Hasil tabel yang diinginkan
image
ID Nama Luas
04.298.0 Tarsih
04.299.0 Yumiati
…. ….
dst dst

Jika telah mempunyai table di excel daftar ID bidang,nama, maka masalah tersebut akan dengan mudah diselesaikan sesuai dengan langkah-langkah tutorial di [CAD-MAP-003]: Menghubungkan Excel Database ke Topology di Autocad Map Beserta dengan Query dan Analisanya. Sedangkan pada tulisan kali ini diasumsikan tabel belum ada, sehingga perlu dibuat table baru yang nantinya akan di-linked kan dengan object text di autocad. Tabel yang akan dibuat tersebut nantinya berupa tabel dalam bentuk database Microsoft Access.

Berikut adalah tahapan membuat tabel di atas :

A. Setting ODBC ke Database Microsoft Access.

Sebelum dilakukan setting ODBC, buat database baru di Microsoft Access misal database tersebut diberi nama [pbt.accdb] kemudian buat satu tabel baru misal nama tabel tersebut adalah [berkas]. Stuktur tabel [berkas]:

image

Tabel ini nantinya akan digunakan untuk menyimpan “Text ID” yang diambil dari gambar autocad. Jika tabel sudah dibuat di file database pbt.accdb kemudian dilanjutkan dengan setting ODBC ke database access tersebut:

  1. 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)].
  2. Pada kotak dialog [Microsoft ODBC Administrator], di page/halaman [User DSN], click tombol [Add]
  3. Pada kotak dialog [Create New Data Source], pilih [Microsoft Access Driver] kemudian click tombol [Finish]
  4. Pada kotak dialog [ODBC Microsoft Access Setup], pada [Data Source Name] masukkan nama odbc connection, misal [odbc_accdb_pbt], kemudian click [Select]
  5. Pilih lokasi database [pbt.accdb], kemudian click [OK]
  6. kemudian click [OK] lagi untuk menutup kotak dialog [Microsoft ODBC Administrator].

Setting ODBC ke Database access sudah selesai. Selanjutnya adalah membuat data link di Autocad Map.

B. Setup Data Source dan Link Template di Autocad Map

image

  1. Pada Task Pane Map (workspace map), click kanan [Data Sources], kemudian pilih [Configure]
  2. Masukkan nama autocad map data source di text box [Data Source Name], misal namanya  odbc_accdb_peta_bidang, kemudian click [OK]
  3. Pada [Data Link Properties] di page [Connection], pilih [Use data source name] untuk memilih nama ODBC yang telah di setting di langkah yaitu odbc_accdb_pbt

image

4. Click page [Advanced], kemudian di setting [Access Permission] pilh [Read Write], kemudian click [OK]

Pada tahapan ini, data source di autocad map telah disetting untuk connect ke database microsoft access. Selanjutnya adalah mengisi tabel [Berkas] di database dengan “Text ID” yang diambil dari Autocad.

C. Membuat Link Tabel di Access dan Text di Autocad Map

  1. Pada Task Pane Map (workspace map), click kanan [Data Sources], kemudian pilih [Attach…]
  2. Kemudian pilih autocad map datasource yang telah dibuat di langkah B yaitu odbc_accdb_peta_bidang. Sehingga data sources ditampilkan seperti gambar berikut:

image

3. Dalam folder [Tables], Double Click table [Berkas] untuk menampikan isi tabel.

4. Pada spreadsheet [Data View], pada menu [Links] pilih [Define Link Template]

5. Pilih / check kolom [Key] pada baris [Berkas] kemudian click [OK].

Maksud dari setting ini adalah sebagai kunci / key untuk mencocokkan nilai di database dengan “Text Id” dari autocad adalah dengan menggunakan kolom [Berkas]

image

6. Simpan AutoCAD sehingga link template yang sudah dibuat ditampilkan di bawah folder Link Templates

image

7. Misal semua “Text ID” ada di layer [Berkas], lakukan quick select untuk memilih semua “Text ID” dengan mengetik di command:qselect

8. Pada kotak dialog Quick Select, lakukan filter  Object Type:Text , Operators : = dan Layer : Berkas. Click [OK], maka semua “Text Id” akan terpilih.

9. Click kanan Link Template [Berkas], kemudian pilih [Generate Link]

10. Pada kotak Generate Link pilih [Linkage Type]=Text, [Data Link]=Create Database Links, [Link Template]=Berkas dan [Database Validation]=Create if New

image

11. Click [OK]

12. Isikan prompt Text objects to generate from: [Select/All]<All>: S

Sehingga terpilih object yang telah dipilih menggunakan qselect

13. Double Link Template [Berkas], maka tabel berkas sudah terisi text dari autocad.

14. Pada Spredsheet [Data View], di menu [Highlight] pilih [Auto Zoom] dan [Auto Select] kemudian set [Zoom Scale]=10 untuk mengecek hasil link antara database dan autocad

15. Click record di [Data View], maka Text ID yang terpilih di [Data View] akan di-zoom dan dipilih pada gambar Autocad Map

image

Selanjutnya akan dilanjutkan membuat tabel baru di database yang terdiri dari kolom “Berkas”, “Nama”, “Luas” dengan menggunakan analisa topology.

D. Analisa Topology Overlay Topologi untuk menggabungkan kolom Berkas dan Nama

Secara garis besar prosesnya adalah sebagai berikut:

1. Lakukan clean-up dan buat polygon topology. Cara clean-up dan membuat topology ada di https://cadex.co/2018/03/24/menghitung-luas-bidang-tanah-dengan-autocadmap/.

2. Buat topology polygon dengan centroid (pusat poligon) menggunakan centroid object [Text] di Layer [Berkas]. Misal hasil nama topologynya : pol_ppt

3. Buat topolgy node / titik dengan object [Text] di Layer [Nama] dengan nama topology: pt_nama

image

4. Click kanan topolgy [pt_nama], pilih [Analysis] kemudian [Overlay]

5. Analysis Type: Intersect, kemudian click [Next]

6. Polygon Topology to Overlay: pol_pbt, kemudian click [Next]

7. Output Topology: ovl_nama_x_pbt, kemduian click [Next]

8. Lakukan setting pada output attribute:

image

Source Attributes: .STRING —> mengambil string atau isi text dari object text pada topology yaitu informasi nama

Overlay Attribute: .AREA@TPMCNTR_pol_pbt —> mengambil informasi luas dari topology polygon pol_pbt

Overlay Attribute: &BERKAS@Berkas —> mengambil informasi Nomor Berkas dari Link Template Berkas

9. Click [Finish]

 

E. Tulis Object Data Hasil Overlay ke Database Access.

Hasil overlay menghasilkan tabel od_nama_berkas yang berisi informasi kolom nama, luas dan nomor berkas. Agar obeject data bisa dibaca di database access, lakukan tahapan sebagai berikut:

1. Ketik pada command:mapod2ase

2. Source object data table: od_nama_berkas

3. Target Link Template: convert object data to database.

4. Click [Define]

5. Data Source: odbc_accdb_peta_bidang, kemudian click [Connect]. Kemudian setting seperti gambvar di bawah:

image

6. Click [OK]

7. Pada Object Selection: Automatically

8. click [Proceed]

9. Autocadmap akan membuat Link Template baru bernama od_nama_berkas sesuai dengan setting di langkah E.5

10. Untuk melihat hasil tabel di database, pada folder datasource, click kanan odbc_accdb_peta_bidang kemudian pilih [Detach]

11. Kemudian ulangi lagi attach datasource ke data source tersebut.

12. Data source akan menambahkan tabel baru bernama [BerkasLuas] sesuai dengan setting di langkah E.5

image

==selamat mencoba===

[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.