Category: Tukang Ukur

[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-16]: Network Topologi untuk Menampilkan Informasi Jarak

Reference : [CAD-MAP-12]: Menulis Text Jarak dan Azimut Menggunakan Query dan Annotation di AutocadMap
Platform : Autocad Map
Download :  

 

Pada tulisan [CAD-MAP-12]: Menulis Text Jarak dan Azimut Menggunakan Query dan Annotation di AutocadMap telah dijelaskan beberapa cara untuk menampikan dimensi jarak pada object garis dan azimuth di autocad. Tulisan kali ini adalah contoh penerapan atau tutorial lebih lanjut dari tulisan sebelumnya.

Contoh gambar di bawah hasil pengukuran bidang tanah yang telah diberi dimensi jarak di tiap sisi bidang tanah.

image

Biasanya penulisan jarak ini dilakukan secara manual dengan menggunakan tool dimension di autocad atau menggunakan tool distance kemudian menulis hasil jaraknya dalam bentuk text di sisi bidang tanah. Tentunya hal ini akan menjadi pekerjaan yang membosankan atau melelahkan jika terdapat bidang yang sangat banyak. Saya akan memberikan trik bagaimana cara membuat label secara cepat dengan menggunakan tool network topology query dalam autocad map.

Agar proses bisa dilakukan lebih efektif dan efisien perlu diperhatikan hal-hal sebagai berikut:

  1. Object yang akan diberi dimensi harus berupa Line bukan Polyline dan terletak pada layer yang sama. Misal layer lama : 020100
  2. Buat layer baru misal: 020100L untuk menampung garis yang akan diberi dimensi sehingga tidak merubah object di layer sebelumnya (020100)
  3. Buat layer baru misal: 020100D untuk menampung tulisan dimensi sisi bidang.

Contoh gambar yang akan diberi dimensi jarak:

image

Langkah-langkahnya adalah sebagai berikut:

1. Buat layer baru untuk menampung object garis yang akan diberi label misal: 020100L dan layer untuk menampung text dimensi misal 020100D

2. Untuk mempermudah identifikasi lakukan setting warna layer yang berbeda masing-masing untuk layer 020100L dan 020100D

3. Copy object di layer 020100 ke layer 020100L:

3.1. Lakukan quick select untuk memilih semua object di layer 020100. Ketik di command: qselect

3.2. Pilih Properties: Layer, Operator:= Equals dan Value: 020100 kemudian click [OK] sehingga semua object di layer 020100 terpilih.

3.3. Copy object terpilih dengan mengetik di command: COPYTOLAYER

3.4. Select object on destination layer or [Name] <Name>: N

3.5. Kemudian pilih layer 020100L

3.6. Specify base point or [Displacement/eXit] <eXit>: X

 

4. Cek object di layer 020100L, jika object polyline, lakukan explode sehingga menjadi object line.

4.1. Ketik di command: qselect

4.2. Pilih object type: Polyline, Properties: Layer, Operator:= Equals dan Value: 020100L kemudian click [OK]

4.3. Ketik di command: EXPLODE

 

5. Membuat Network Topology

5.1. Jika map task pane belum aktif, ketik di command: MAPWSPACE, kemudian pilih: ON

5.2. Pada tab [Map Explorer], click kanan [Topologies], kemudian pilih [Create]

5.3. Pada tahapan [Topology Type], pilih Type: Network, Topology Name : NetLine kemudian click [Next]

5.4. Pada tahapan [Select Links], pilih Layer: 020100L, kemudian click [Finish]

5.5. Network topology [NetLine] akan ditambahkan dalam group [Topologies] di map explorer

image

 

6. Topology Query

6.1. Click kanan topologi [NetLine], pilih [Analysis] kemudian [Topology Queries]

6.2. Pilih [Define Query]

6.3. Pada kotak dialod Define Query, click [Location], kemudian piliha [All]

6.4. Pada Query Mode, pilih [Draw]

6.5. Check kemudian Click [Alter Properties] pada group [Options]

6.6. Pada kotak dialog [Set Properties Alteration], click tombol [Text]

6.7. Pada kotak dialog [Define Text], click tombol [Expression]. Pilih [Direct Resitance] di bawah group [Network Link] pada topology [NetLine], kemudian click [OK]

image

6.8. Lakukan modifikasi isian di Text Value semula: :DIRECT_RESISTANCE@TPMLINK_NetLine menjadi (RTOS :DIRECT_RESISTANCE@TPMLINK_NetLine 2 2) agar text jarak ditampilkan dalam format 2 angka desimal.

6.9. Isikan Text Height: 2, Layers: 020100D

6.10. Lakukan modifikasi di Rotaion semula: 0 menjadi: (/ (* .ANGLE 180) pi) agar rotasi text sesuai dengan arah garis, kemudian click [OK]

6.11. Tampilan Text Properties Alteration menjadi:

image

6.12. Click [OK], kemudian [Execute Query].

Gambar setelah execute query:

image

6.13. Jika dianggap perlu, set layer 020100L menjadi OFF

~~selamat mencoba~~

[CAD-LIS-03]: Autolisp untuk plotting titik dari text file type comma delimited (text dengan pemisah tanda Koma) ke AutoCAD

 

Referensi : http://www.afralisp.net/dialog-control-language/
    http://www.lee-mac.com/stringtolist.html
Lokasi File :  

Setelah belajar di http://www.afralisp.net/dialog-control-language/ tentang bagaimana cara membuat kotak dialog dengan Dialog Control Language (DCL), berikut adalah hasil praktik saya untuk penerapan import / penggambaran titik dari textfile dengan pemisah koma (comma delimited).

Penerapan program autolisp dengan DCL ini merupakan pengembangan lebih lanjut dari https://cadex.co/2009/04/17/cad-lis-01-menulis-text-dari-list-koordinat/ dengan penambahan kotak dialog, pemilihan kolom dan type titik yang bisa dipilih berupa block atau berupa titik dan text. Jika dibandingkan dengan program sebelumnya, pada program ini belum ada setting [text style] dan [Layer] karena saya masih kesulitan untuk membuat text style melalui visual lisp yang berbasis object oriented programming. Tentunya jika sudah mendapatkan caranya, akan saya update program autolispnya.

Untuk menjalankan program autolisp dan DCL beserta dengan block attributesnya, maka perlu ditambahkan setting khusus di program AutoCAD dengan menambahkan 2 (dua) folder / path pada options [Support File Searh Path] dengan cara sebagai berikut:

1. Download program autolisp & DCL

2. Ketik pada program autocad pada menu command: options

3. Pada [Tab], [Files], pilih [Support File Searh Path], kemudian click tombol [Add].

4. Click tombol [Browse], arahkan ke folder […..\cadex\lsp], kemudian click [Apply]

5. Ulangi langkah 3 dan 4, menambahkan folder […\cadex\blocks], kemudian click [Apply]

6. Tutup kotak click tombol [OK]

Pada tulisan ini saya tidak menguraikan atau menjelaskan baris per baris perintah autolispnya karena sebagian sudah saya tulis beberapa komentar pada program autolisp yang saya berri nama cadex.lsp. Program lisp ini akan saya update jika ada tambahan program autolisp baru.

Berikut langkah-langkah menjalankan program autolisp di AutoCAD:

A. Setting program cadex.lsp di AutoCAD

1. Load / masukkan program lisp dalam Autocad dengan mengetik di command:appload

2. Pilih file cadex.lsp pada folder […..\cadex\lsp], kemudian click [Load]

3. Jika muncul pesan "security issued", centang pilihan [Alwas Load] kemudian click [Load] lagi.

4. Click tombol [Close], jika sudah selesai.

B. Menjalankan program cadex.lsp

1. Program import titik ada fungsi (c:z_p), untuk menjalankan program tersebut, ketik di command:z_p

2. Akan ditampilkan kotak dialog [Import Titik dari [*.csv] atau [*.txt] file] hasil program DCL dari file penzd.dcl

3. Click tombol [Browse], kemudian pilih file yang akan diimport dengan terlebih dahulu memilih type extensi filenya *.csv atau *.txt, kemudian click [Lihat Data]

4. Secara default, program akan membaca titik mulai baris 1, nomor titik di kolom 1 , keterangan di kolom 1, X di kolom 2 , Y di kolom 3  dan Z / elevasi di kolom 4

5. Kemudian pilih [Format Titik dan text], apabila titik akan ditampilkan dalam bentuk titik beserta dengan text keterangan atau pilih [Block Attributes] jika akan mengeplot dalam bentuk Block Attrubutes. Catatan: untuk pilihan Block Attributes akan terplot lebih lama dibandingkan dengan pilihan [Format Titik dan Text]

penzdJPG

6. Click tombol [OK], untuk mulai plotting titik.

 

==selamat mencoba===

 

[CAD-LIS-02]: Autolisp untuk Membuat Pendekatan Lingkaran dari Beberapa Titik (Best Fitting Circle from Coordinates)

Referensi : [XLS-SVY-23]: Spreadsheet Excel untuk Menentukan Pusat dan Jari-Jari Lingkaran dari Koordinat
Lokasi File :  
Perangkat Lunak : Autocad

 

Pada tulisan [XLS-SVY-23]: Spreadsheet Excel untuk Menentukan Pusat dan Jari-Jari Lingkaran dari Koordinat, pusat dan jari-jari lingkaran dihitung dengan program excel dan hasilnya ditampilkand dalam bentuk chart excel.

Tulisan kali ini adalah aplikasinya dalam bentuk program autolisp, sehingga hasil hitungan pusat dan jari-jari lingkaran bisa langsung digambar di autocad dari titik-titik / object points yang sebelumnya sudah digambar di autocad.

Berikut list autolispnya:

(defun c:fc()
  ;menentukan batas pemilihan
  (setq p1 (getpoint));batas atas
  (setq p2 (getcorner p1));batas bawah

  ;dipilih hanya object bertype "POINT"
  (setq ss (ssget "_w" p1 p2 ‘((0 . "POINT")))) 
  (setq nPts (sslength ss));jumlah titik yang terplih

  ;jika jumlah titik >= 3 , maka akan diproses perhitungannya
  (if (>= nPts 3)
    (progn
      (setq idx 0)
      (setq ListX (list));list koordinat X
      (setq ListY (list));list koordinat Y
      ;memilah atau mengambil entity titik
      (setq SumX 0 SumY 0)
      (repeat nPts
    (setq ePt (entget (ssname ss idx)))
    (setq X (nth 1 (assoc 10 ePt)))
    (setq Y (nth 2 (assoc 10 ePt)))
    (setq ListX (append ListX (list X)))
    (setq ListY (append ListY (list Y)))

    (setq SumX (+ SumX X))
    (setq SumY (+ SumY Y))
    (setq idx (1+ idx))
    );repeat
      ;perhitungan least square
      (setq Xr (/ SumX nPts))
      (setq Yr (/ SumY nPts))
      (setq idx 0)
      (setq spp 0 sppp 0)
      (setq sqq 0 sqqq 0)
      (setq spq 0 spqq 0 sqpp 0)
      (repeat nPts
    (setq p (- (nth idx ListX) Xr))
    (setq q (- (nth idx ListY) Yr))
    (setq pp (* p p))   
    (setq ppp (* pp p))
    (setq qq (* q q))
    (setq qqq (* qq q))
    (setq pq (* p q))
    (setq pqq (* pq q))
    (setq qp (* q p))
    (setq qpp (* qp p))

    (setq spp (+ spp pp))
    (setq sppp (+ sppp ppp))
   
    (setq sqq (+ sqq qq))
    (setq sqqq (+ sqqq qqq))

    (setq spq (+ spq pq))
    (setq spqq (+ spqq pqq))
    (setq sqpp (+ sqpp qpp))

    (setq idx (1+ idx))
    );end repeat
      ;menghitung invers matrix A (2×2)
      ;|a11 a12| = |spp  spq|
       |a21 a21| = |spq  sqq|;

      (setq det (- (* spp sqq ) (* spq spq)))

      (setq a11 (/ sqq det))
      (setq a12 (/ (* -1.0 spq) det))     
      (setq a21 a12)
      (setq a22 (/ spp det))

      ;matrix L (2×1)
      (setq l11 (/ (+ spqq sppp) 2.0))
      (setq l21 (/ (+ sqqq sqpp) 2.0))

      (setq xx (+ (* a11 l11) (* a12 l21)))
      (setq yy (+ (* a21 l11) (* a22 l21)))

      ;koordinat pusat lingkaran
      (setq Xc (+ xx Xr))
      (setq Yc (+ yy Yr))
      (setq pc (list Xc Yc))

      (setq Sxx (+ (* xx xx) (* yy yy)))
      (setq r (+ sxx (/ (+ spp sqq) nPts)))

      ;jari-jari
      (setq r (sqrt r))
      (command "circle" pc r )
     
      );progn
    (alert "Number of points < 3 points")
    );if 
)

copy list tersebut, kemudian simpan dengan ekstensi .lsp atau download file.

Cara penggunaan program tersebut:

1. Pada ketik menu command:appload

2. Pilih file lisp atau file hasil download.

3. Misal lokasi titik yang akan dibuat lingkarannya adalah:

image

4. ketik pada menu command:fc

5. Kemudian select window mulai dari kiri atas sampai kanan bawah pada semua titik di atas.

6. Hasilnya:

image

#selamat mencoba

[XLS-MAP-11]: Plotting Poligon dalam Koordinat TM3 ke Google Earth dengan Microsoft Excel

Referensi : [XLS-MAP-10]: Plotting Koordinat UTM Ke Google Earth Dengan Microsoft Excel
Lokasi File :  
Platform : Microsoft Excel dan Google Earth
     

Pada posting sebelumnya telah diuraikan bagaimana cara memplot titik koordinat UTM ke Google Earth dengan menggunakan microsoft excel. Kali ini akan diuraikan bagaimana cara memplot jika koordinat tersebut dalam sistem proyeksi TM 3. Keterangan tentang sistem proyeksi TM3, silakan click link [CAD-MAP-05]: Proyeksi Koordinat Ke TM3 Di AutoCAD MAP atau [XLS-MAP-08]:14 Langkah Membuat Rumus Nomer Lembar TM3 Di Excel.

Misalkan list urutan poligon yang akan diplot adalah:

image

Berdasarkan pendekatan di google earth atau berdasarkan peta, lokasi koordinat geografis (koordinat lintang, bujur) tersebut terletak sekitar di 110derajat Bujur Timur dan 6derajat Lintang Selatan.

Silakan download file terlebih dahulu untuk mengikuti tahapan di bawah. Jika file suah terdownload dan file sudah dibuka:

  • Pada sheet [list] masukkan koordinat di atas. Delete baris di bawahnya jika sebelumnya ada list koordinatnya
  • Pindah ke sheet [Parameter], kemudian masukkan parameter untuk proyeksi TM3 sebagai berikut:

image

  • Pilih [Ellipsoid Reference]: WGS 84 dan [Map Projection] : TM3
  • Isikan [Longitude] atau bujur pendekatan 110
  • Isikan [Latitude] atau lintang pendekatan –6. Jika lintang pendekatan ada di lintang utara, maka masukkan tanpa tanda negatif.
  • pindah ke sheet [Grid2Geo] untuk melihat hasil perhitungan koordinat TM3 ke Geografis (Lintang,Bujur).
  • pindah ke sheet [point(xml)], kemudian hapus baris yang bertanda error #REF!
  • pindah ke sheet [polygon(xml)],kemudian hapus baris yang bertanda error #REF!
  • Apabila list koordindat lebih dari 4 titik, maka dapat dilakukan insert rows sesuai dengan jumlah titik. Sedangkan rumus pembentukan xml dapat dicopy dari rumus baris di atasnya
  • khusus untuk poligon, masukkan lagi koordinat terakhir=koordinat pertama
  • Pada sheet [point(xml)], `copy` range [G3:G10], kemudian `paste` ke notepad lalu simpan sebagai file kml. Misal nama filenya titik.kml
  • Pada sheet [polygon(xml)], `copy` range [E3:E17], kemudian `paste` ke notepad lalu simpan sebagai kml. Misal nama filenya : poligon.kml
  • Jalankan Google Earth
  • Pada menu [File], pilih [Open]
  • Pilih file [titik.kml] untuk menampilkan lokasi titik TM3.
  • Kemudian [Open] lagi file [poligon.kml] untuk menampilkan garis poligonnya
  • Setting properties polygon sesuai selera. Untuk contoh ini saya setting properties poligon di Google Earth:

image

 

  • Pilih tab [Measurement], maka didapat hitungan luas dan panjang kelilingnya

image

  • Hasil di google earth:

image

 

+selamat mencoba

[XLS-SVY-22]: Rumus Excel untuk Menghitung Konstanta Pasut (Amplitudo Dan Phase) Dengan Metode Hitung Kuadrat Terkecil (lanjutan)

Referensi

:

[XLS-SVY-01]: Prediksi Pasut Dengan VBA Excel

Plaform

:

Microsoft Excel

Lokasi File

:

 

Uraian di bawah adalah lanjutan dari posting sebelumnya

A. Input Data Pengamatan

image

Data pengamatan dimasukkan dengan format table seperti di atas dengan terlebih dahulu memasukkan tanggal pengamatan pertama di cell [C6]. Data pengamatan muka air tiap jam pada tanggal yang sama dimasukan sesuai mulai dari kolom [D:AA].

B. Konstanta Astronomis untuk 9 Konstituent

image

Cell

Rumus

Keterangan

[E27]

=360/D27

Merubah periode menjadi kecepatan satuan derajat/jam

   

Copy rumus di [E27] ke bawah untuk menghitung kecepatan sudut tiap konstituen

[F27]

=RADIANS(E27)

Merubah kecepatan sudut dalam satuan radian/jam

   

Copy rumus [F27] ke bawah untuk menghitung kecepatan sudut di tiap konstituen

C. Membuat Persamaan Observasi dan Menghitung dengan Hitung Kuadrat Terkecil

C.1. Matrix Observasi [L]

image

Cell

Rumus

Keterangan

[E74]

=COUNT(B6:B20)

Menghitung lama pengamatan dalam satuan hari

[E75]

=E74*24

Menghitung banyaknya pengamatan atau observasi

[AC6]

=IF(COUNT($AD$6:AD6)<=$E$75,COUNT($AD$6:AD6),NA())

Urutan pengamatan atau urutan persamaan observasi.

   

Copy rumus [AC6] sampai ke [AC365]

[AD6]

=1

Masukkan angka 1 untuk hari pertama

[AD7]

=AD6+($AE7=1)

Jika periode jam di cell [AE7]=1, maka masuk ke hari berikutnya

   

Copy rumus [AD7] sampai ke [AD365]

[AE6]

=IF(MOD(ROWS($AD$6:AD6),24)=0,24,MOD(ROWS($AD$6:AD6),24))

Membuat urutan atau deret periode jam dari jam ke-1 sampai ke-24

   

Copy rumus [AE6] sampai ke [AE365]

[AF6]

=OFFSET($C$5,$AD6,)+OFFSET($C$5,,$AE6)

Mengambil tanggal dan jam pengamatan

   

Copy rumus [AF6] sampai ke [AF365]

[AG6]

=OFFSET($C$5,$AD6,$AE6)

Mengambil nilai muka air sesuai dengan tanggal dan jam pengamatan

   

Copy rumus [AG6] sampai ke [AG365]

     
C.2. Matrix Koefisien [A]

image

Cell

Rumus

Keterangan

[AI1]

=MOD(COLUMNS($AI$2:AI2),2)

Membuat deret angka 1,1,2,2,3,3,4,4,…..,9,9

   

Copy rumus [AI1] sampai ke [AZ1]

[AI2]

=OFFSET($F$26,AI1,)

Mengambil kecepatan sudut untuk masing-masing konstituen

   

Copy rumus [AI2] sampai ke [AZ2]

[AH6]

=1

δht1/δZo

   

Copy rumus [AH6] sampai ke [AH365]

[AI6]

=IF(LEFT(AI$5,1)="A",COS(AI$2*$AC6),-SIN(AI$2*$AC6))

Jika huruf pertama di cells [AI5]=A, maka dihitung δht1/δA1, jika B maka δht1/δB1

   

Copy rumus [AI6] sampai ke [AI6:AZ365]untuk menghitung nilai derivative untuk setaip persamaan observasi

Buat Named Range dengan properties sebagai berikut:

image

C.3. Menghitung Parameter

image

Cell

Rumus

Keterangan

[BD6]

=MMULT(MMULT(MINVERSE(MMULT(TRANSPOSE(MatrixA),MatrixA))
,TRANSPOSE(MatrixA)),MatrixL)

Menghitung Parameter

   

Untuk mengcopy rumus di [BD6}, lakukan langkah berikut:

· Block atau pilih range [BD6:BD24], kemudian tekan tombol F2

· Kemudian tekan bersamaan CTRL+SHIFT+ENTER

[BF6]

=INDEX(MMULT(MatrixA,$BD$6:$BD$24),AC6)-AG6

Menghitung koreksi ukuran

   

Copy rumus di [BF6] sampai [BF365]

[BG6]

=BF6+AG6

Tinggi muka air terkoreksi

D. Menghitung Amplitudo dan Phase

image

Cell

Rumus

Keterangan

[D81]

=BD6

Tinggi muka air rata-rata

[E82]

=VLOOKUP(E$80&$B82,$BC$6:$BD$24,2,0)

Mengambil parameter A1

   

Copy rumus [E82] ke range [E82:F90]

[G81]

=D81

 

[G82]

=SQRT(E82^2+F82^2)

Menghitung amplitude

   

Copy rumus [G82] sampai [G90]

[H82]

=MOD(DEGREES(ATAN2(E82,F82)),360)

Menghitung sudut phase dalam satuan derajat/jam

[I82]

=RADIANS(H82)

Menghitung sudut phase dalam satuan radian/jam

Dengan acuan hitungan di atas, maka untuk pengamatan 30 hari atau lebih bisa dikembangkan lebih lanjut. Demikian juga jika diperlukan untuk perhitungan konstanta pasut yang lebih atau kurang dari 9 konstituent.

Silakan download file di sini untuk dipelajari lebih lanjut.

==semoga bermanfaat==

[XLS-SVY-22]: Rumus Excel untuk Menghitung Konstanta Pasut (Amplitudo Dan Phase) Dengan Metode Hitung Kuadrat Terkecil

Referensi

:

[XLS-SVY-01]: Prediksi Pasut Dengan VBA Excel

Plaform

:

Microsoft Excel

Lokasi File

:

 

Pada posting [XLS-SVY-01]: Prediksi Pasut Dengan VBA Excel hitungan kontanta pasut yang terdiri dari Amplitudo dan Phase dengan metode hitung kuadrat terkecil menggunakan VBA Excel atau macro. Sedangkan pada posting kali ini akan diuraikan proses hitungan yang sama tetapi hanya dengan menggunakan rumus/fungsi Microsoft Excel tanpa menggunakan VBA Excel.

Mengacu ke rumus pengembangan rumus Tidal Harmonic Analysis di bawah :

image

Mengacu ke Rumus-5, jika akan mencari 9 nilai Konstanta Pasut, maka nilai yang akan dicari (parameter) ada 19 parameter yaitu nilai Z0, A1, A2, …… , A9 dan B1, B2, B3, …., B9. Selanjutnya nilai masing-masing Amplitudo dan Phase dihitung dengan Rumus-6 dan Rumus-7.

Nilai ω1, ω2, ω3, ….., ω9 adalah suatu konstanta kecepatan sudut untuk masing-masing constituent yang didapat dari 5 (lima) dasar kecepatan astronomi (5 (Five) Basics astronomical speeds). Silakan baca di link berikut untuk rumus mendapatkan nilai ω1, ω2, ω3, ….., ω9 dari Five basic astronomical speeds.

Persamaan observasi untuk pengamatan muka air tiap jam selama 15 hari akan didapatkan (15 hari x 24 jam /hari )=360 jam atau 360 persamaan dengan uraian sebagai berikut:

image

Dengan menggunakan prinsip least square (hitung kuadrat terkecil), persamaan observasi di atas kemudian dibentuk dalam format matrix:

[L]+[V]=[A].[X]

[L] : matrix data ukuran (observasi), [V]: matrix koreksi, [A]: matrix koeffisien dan  [X]: matrix parameter  dihitung dengan rumus sebagai berikut:

image

Matrix [A] dihitung dengan men-derivatifkan atau “menurunkan” tiap persamaan observasi terhadap Z0, A1, A2, …… , A9 dan B1, B2, B3, …., B9 atau terhadap parameter yang dicari

image

Klik di sini untuk penerapan rumus excelnya

[XLS-SVY-21]: Menampilkan Cross Section 3D dengan Chart Excel

 

Referensi :  
Platform : Excel 2007
Lokasi file : download

Sebenarnya di Excel sudah menyediakan type "Surface Chart" yang bisa menampilkan grafik dengan data input 3 dimensi (XYZ) termasuk kemampuan untuk merubah properties sudut putarnya. Surface Chart bisa menampilkan grafik atau surface 3D jika nilai data X dan Y mempunyai nilai increment yang tetap atau dengan sistem grid karena dalam Surface Chart X dan Y tidak ditampilkan sebagai data numeric sehingga bukan nilai actual X dan Y itu sendiri.

Berikut contoh input data untuk Surface Chart dan tampilan hasilnya dalam chart:

image

Data di atas mempunyai nilai X dan Y yang tetap.

Untuk menampilkan data cross section dimana data X dan Y nya tidak teratur, seharusnya ada type chart tambahan yaitu 3D XYZ (scattered) tetapi sampai saat ini saya belum menemukan type chart yang dimaksud. Agar tampilan cross section 2D dapat ditampilkan 3D, maka data XYZ cross section dimanipulasi dengan matrik rotasi kemudian diplotkan di grafik XY (Scattered).

Format data cross section yang dipakai untuk simulasi ini adalah sama dengan data yang pernah dibahas di posting [XLS-SVY-007]: Plotting Cross Section dari Excel ke AutoCAD dan [XLS-SVY-13]: Plotting Cross Section dari Excel ke AutoCAD Versi 1.1. Dalam contoh cross section terlampir terdapat 3 buah cross section 2D yang akan diplot menjadi cross 3D. Nilai koordinat X diambil dari nama station dalam bentuk numeric. Misal untuk station 0+000 dan 100+000, maka koordinat X nya berturut-turut adalah 0 dan 100. Sedangkan koordinat Y mengacu jarak dari centerline atau offset dan nilai Z mengacu ke elevasi.

Berikut adalah cuplikan data yang dimaksud berikut dengan Chart 2D :

Station/Sheet Data & Chart 2D
0 image
50 image
100 image

Tampilan data dan 3D cross :

image

Semua proses pembentukan tabel dan perhitungan menggunakan fungsi formula excel tanpa menggunakan macro.

Uratan perhitungan adalah sebagai berikut:

1. Menghitung jumlah record dari sheet yang akan ditamplikan di chart 3D   image
 

[A3:A5]

List nama sheet dari masing-masing data 2D cross section. Diisi dengan numeric

  [B3] =COUNT(INDIRECT("’"&A3&"’!B1:B300"))
menghitung jumlah record di sheet A3. Maksimal record 300
Copy rumus [B3] ke bawah untuk menghitung record di sheet lainnya
  [C3:C5] cell bantu untuk menunjukkan lokasi perpindahan cross di table baru. Tabel baru adalah tabel gabungan dari beberapa data cross
  [B1] =SUM(B3:B5)
jumlah record di tabel baru
  [C1] =COUNT(A3:A50)
jumlah sheet yang akan ditampilkan
2. Menggabungkan record dalam satu tabel baru   image[E3]=IF(ROWS($E$2:E2)<=$B$1,ROWS($E$2:E2))
[F3]=LOOKUP(E3,$C$3:$C$5,$A$3:$A$5)
[G3]=OFFSET(INDIRECT("’"&$F3&"’!$B$1"),COUNTIF($F$3:$F3,$F3),)
[H3]=OFFSET(INDIRECT("’"&$F3&"’!$c$1"),COUNTIF($F$3:$F3,$F3),)

[E3] membuat nomer urut record di tabel baru. Bernilai FALSE jika nomer urut melebihi dari hitungan jumlah record di $B$1
[F3] menampilkan angka STA (koordinat X), berdasarkan cell bantu di cell [$C$3:$C$5]
[G3] menambil nilai offset (Y) dari berdasarkan nama sheet di cell [F3]
[H3] menambil nilai offset (Z) dari berdasarkan nama sheet di cell [F3]
copy rumus [E3:H3] ke bawah sampai nilai di [E3]=FALSE

3. Setting Matriks Rotasi   image
  [K3],[K4] dan [K5] Masukkan sudut rotasi dalam satuan derajat
  [L3] =RADIANS(K3)
  [L4] =RADIANS(K4)
  [L5] =RADIANS(K5)
    Buat "Named Range" rx, ry dan rz yang mengacu ke range [L3], [L4] dan [L5]
  [J9] =COS(ry)*COS(rz)
  [J10] =-COS(ry)*SIN(rz)
  [J11] =SIN(ry)
     
  [K9] =COS(rx)*SIN(rz)+SIN(rx)*SIN(ry)*COS(rz)
  [K10] =COS(rx)*COS(rz)-SIN(rx)*SIN(ry)*SIN(rz)
  [K11] =-SIN(rx)*COS(ry)
     
  [L9] =SIN(rx)*SIN(rz)-COS(rx)*SIN(ry)*COS(rz)
  [L10] =SIN(rx)*COS(rz)+COS(rx)*SIN(ry)*SIN(rz)
  [L11] =COS(rx)*COS(ry)
4. Perkalian Matrix Asal dengan Matrix Rotasi   Matrix Asal adalah matrix yang dibentuk dari tabel baru dengan mangambil nilai X,Y dan Z. Jumlah baris di matrix adalah=banyaknya record=[B1], sedangkan jumlah kolomnya=3. Dari contoh di atas, Matrix asalah adalah dimulai dari F3, dengan jumlah baris sebanyak B1 ke bawah dan lebar ke kanan 3 kolom atau kalo dinyatakan dalam rumus excel adalah =OFFSET($F$3,,,$B$1,3).
Formula bawah ini named range dan formula yang dipakai untuk perhitungan perkalian matrix:
  _3dCross =OFFSET($F$3,,,$B$1,3)
matrix asal
  _2DPlot =MMULT(_3dCross,TRANSPOSE($J$9:$L$10))
perkalian matrix asal ke matrix rotasi. Hasil dari perkalian ini adalah matrix dengan dimensi (n x 2), n= jumlah record dan 2 adalah absis x dan y yang akan diplot di chart 2D xy scattered
5. Setting series untuk chart XY Scattered _x =OFFSET($F$3,,,$B$1)
  _sta =OFFSET($A$3,,,$C$1)
  _xPlot =INDEX(_2DPlot,,1)
  _yPlot =INDEX(_2DPlot,,2)
  __x1 =IF(_x=INDEX(_sta,1),_xPlot,NA())
  __x2 =IF(_x=INDEX(_sta,2),_xPlot,NA())
  __x3 =IF(_x=INDEX(_sta,3),_xPlot,NA())
  __y1 =IF(_x=INDEX(_sta,1),_yPlot,NA())
  __y2 =IF(_x=INDEX(_sta,2),_yPlot,NA())
  __y3 =IF(_x=INDEX(_sta,3),_yPlot,NA())

Rangkuman named range yang dipakai dalam perhitungan dan chart adalah

image

Untuk setting chart dan bentuk box, silahkan dipelajari lebih lanjut dari file terlampir.

==selamat mencoba==

[XLS-SVY-02]: Catatan Rumus Excel untuk Juru Ukur (Bagian #1)

Referensi :  
Platform : Microsoft Excel
Lokasi File :  

Note: Semua rumus yang dipakai menggunakan setting microsoft excel pemisah desimal adalah titik "."

Konversi sudut

1. Radian(misal di A1) ke Derajat =DEGREES(A1)

2. Derajat(misal di B1) ke Radian =RADIANS(B1)

3. Derajat (misal di C8) ke Derajat-Menit-Detik

Derajat =TRUNC(C8)

Menit =TRUNC((C8-TRUNC(C8))*60)

Detik =3600*(C8-TRUNC(C8))-60*TRUNC((C8-TRUNC(C8))*60)

3.a. Derajat-Menit-Detik ke Desimal

Misal nilai derajat, menit dan detik disimpan masing-masing di A1, B1, dan C1 dan hasil konversi ke desimal adalah di D1, maka rumus konevrsinya adalah

D1=A1+B1/60+B1/3600 atau D1=SUMPRODUCT(A1:C1/{1,60,3600})

4. Derajat (misal di B1) ke Derajat-Menit-Detik dengan ‘Format Cell’

Misal hasilnya akan ditampilkan di C1, maka di C1=B1/24

1. Di cell C1, tekan CTRL+1
2. Pada ‘Format Cells’, pilih ‘Custom’
3. Ketik ‘Custom Type’ [h]-m-s.000
4. Hasil sudut ditampilkan dalam format derajat-menit-detik. Angka untuk detik ditampilkan dalam 3 (tiga) desimal

5. Konversi format derajat, menit dan detik ke sudut d.mmss

Salah satu format sudut yang didapat hasil download Total Station adalah format d.mmss. Format sudut ini juga dipakai di Autodesk Civil 3D Survey pada saat proses perhitungan least square atau perhitungan hasil pengukuran.

Contoh:

sudut 30 derajat, 1 menit, 1 detik, dalam format d.mmss akan ditulis: 30.0101

sudut 333 derajat, 0 menit, 2.34 detik, dalam format d.mmss akan ditulis : 333.00234

Misal kolom sudut derajat,menit dan detik ada di A1, B1 dan C1, maka rumus sudut dalam format d.mmss adalah

D1=(A1 & "." & TEXT(B1,"00") & TEXT(C1*100,"00"))

6. Rumus untuk merubah type sudut d.mmss ke derajat,menit dan detik adalah:

jika E1, F1 dan G1 adalah derajat, menit dan detik hasil konversi, maka rumusnya adalah:

E1=–LEFT(TEXT(D1,"000.000000"),3)

F1=–MID(TEXT(D1,"000.000000"),5,2)

G1=–RIGHT(TEXT(D1,"000.000000"),4)/100

7. Rumus untuk merubah sudut d.mmss ke desimal

Jika A1 adalah sudut dalam format d.mmss dan B1 adalah hasil konversi sudut dalam desimal:

B1=SUMPRODUCT(MID(TEXT(A1,"000.000000"),{1,5,7},{3,2,4})/{1,60,360000})

Hitung azimut dari dua koordinat

Jika Koordinat (X1,Y1) titik 1 adalah D19,E19
dan Koordinat (X2,Y2) titik 2 adalah D21,E21

maka rumus azimuth diexcel dalam satuan derajat adalah
=DEGREES(ATAN2((E21-E19),(D21-D19)))+IF(ATAN2((E21-E19),(D21-D19))<0,360)

Pengurangan Sudut

Misal bacaan sudut ke titik#1 adalah A1, dan bacaan sudut ke titik#2 adalah B1, maka besar sudut dari A1 ke B1 adalah

=B1-A1+IF(A1>B1,360)

Penambahan Sudut

=A1+B1-IF(A1+B1>360,360)

<<bersambung>>