Anda di halaman 1dari 24

[CAD-MAP-018]: Aplikasi Topology Analysis

di AutoCAD Map untuk Mengambil Nilai Text


dalam Polygon (disertai dengan tahapan
pembuatan Autolisp)
MAY 27, 2018 ~ CADEX

[CAD-MAP-017]: Membuat tabel Microsoft Access dari Hasil


Referensi : 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 :

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

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 Namaterletak
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:
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]

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

12. Gambar setelah text berkas dan text nama dipisahkan layernya. Text warna merah
adalah object berkas di layer [tn_lai_berkas]
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:

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
berisi nilai text berkas dari layer
OD_BERKAS BERKAS Character 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]

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]

atau dengan mengetik di command: ADEEDITDATA


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

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:

Attribute
Proses Source Overlay Hasil Overlay Object
Overlay Topology Topology Topologi Attribute Source Topology Topology Baru
Pertama Berkas Batas_Persil TP_Berkas :BERKAS@OD_BERKAS :NIB@OD_NIB OD_BE
Kedua Nama Batas_Persil TP_Nama :NAMA@OD_NAMA :NIB@OD_NIB OD_NA
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.

3. Ketik di Command:MAPOD2ASE
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]


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

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.

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

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.

Hasil run query

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

Double click query [InformasiPersil], maka ditampilkan tabel hasil query di autocad
map:
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]

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]

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

REPORT THIS AD

REPORT THIS AD

POSTED IN AUTOCAD, MAP, TUKANG UKUR DATA EX TRACTION TOPOLOGY

Published by cadex
cadex, singkatan dari cad dan excel, dua program yang banyak membantu saya dalam
mencari nafkah..tentunya dengan seijin ALLAHView all posts by cadex

Anda mungkin juga menyukai