coretan tentang autocad dan excel

April 30, 2017

The name ‘_’ already exist……

Filed under: Excel — cadex @ 08:34

The name already exist

Jika saat copy sheet Microsoft excel muncul pesan di atas, sehingga harus berkali-kali menekan tombol [Yes] berkali-kali.

Berikut solusinya:

  1. Sebelum copy sheet, aktifkan VBA Excel atau tekan tombol kombinasi [Alt+F8]
  2. Click [ThisWokbook], kemudian ketik vba code seperti dalam gambar:
  3. Names.PNG
  4. Letakkan kursor di bawah tulisan sub kemudian tekan [F5] untuk menjalankan vba
  5. Hapus VBA Code, bisa juga disimpan di notepad jika sewaktu-waktu dibutuhkan.
  6. Tutup VBA Editor atau tekan tombol kombinasai [Alt+Q]
  7. Pilih Menu [Formula], kemudian pilih [Name Manager]
  8. Name Manager
  9. Block semua Name, kemudian tekan [Delete] disusul dengan [Close]
  10. Lakukan copy sheet, maka pesan “the name already exist …” sudah tidak ada.

Trik ini juga bias digunakan apabila ada link ke external file yang tidak bias di putus (broken links)

Selamat mencoba

Advertisements

December 4, 2016

[XLS-SVY-24]: Plotting Cross section dari Excel ke Autocad Versi 1.2

Filed under: AutoCAD, Excel — Tags: , — cadex @ 14:40
Referensi : [XLS-SVY-13]: Plotting Cross Section dari Excel ke AutoCAD Versi 1.1
Platform :  
Lokasi File : download

 

Tulisan ini adalah tindak lanjut dari beberapa comments/komentar dari posting [XLS-SVY-13]: Plotting Cross Section dari Excel ke AutoCAD Versi 1.1. Walaupun tidak semua harapan pembaca terpenuhi

Perbaikan pada versi ini adalah :

  1. Nama program diganti dengan extensi *.xlam dan contoh file dalam format *.xlsx
  2. Mengganti menu dengan menggunakan “Custom UI Editor” sehingga menu baru ditampilkan dalam Ribbon Menu dan bisa di jalankan oleh Microsoft Excel 2007 ke atas.
  3. Merubah coding program menjadi metode “late binding” sehingga diharapkan program bisa dijalankan di Autocad 2000 ke atas tanpa harus setting Autocad Library.

Seperti halnya saat menjalankan program vba excel, pilih “Enable Macro” jika akan menggunakan program

Tampilan menu di Microsoft Excel 2016 :

image

Cara menjalankan program masih sama dengan tulisan pada [XLS-SVY-13]: Plotting Cross Section dari Excel ke AutoCAD Versi 1.1:

 

~~ selamat mencoba ~~

October 8, 2016

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

Filed under: AutoCAD, Tukang Ukur — Tags: — cadex @ 14:51
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

September 18, 2016

[XLS-SVY-23]: Spreadsheet Excel untuk Menentukan Pusat dan Jari-Jari Lingkaran dari Koordinat

Filed under: Excel — cadex @ 13:03
Referensi : Least-Squares Circle Fit by R. Bullock
Lokasi File : download
Platform : Microsoft Excel

Salah satu member di landsurveyorunited.com menanyakan program dalam spreadsheet excel untuk menentukan koordinat pusat lingkaran dan jari-jarinya dari hasil pengukuran minimal 3(tiga) koordinat di sepanjang lingkaran. Pengukuran semacam ini biasanya digunakan untuk menentukan as built tangki, pile ataupun untuk menentukan jari-jari kelengkungan suatu alignment horisontal.

Dari beberapa metode perhitungan, hitungan yang saya “anggap” paling mudah untuk diterapkan dalam spreadsheet excel adalah metode least square atau kuadrat terkecil yang ditulis oleh R. Bullock. Rumus dan tahapan perhitungan dalam spreadsheet akan mengacu ke rumus yang diuraikan dalam paper Least-Squares Circle Fit by R. Bullock

Mengacu ke contoh koordinat dalam paper tersebut, jika diplot dalam chart excel:

List Koordinat Chart di Excel
image image

Bentuk spreadsheet dalam excel dengan hasil hitungan dan chart:

image

Range Keterangan
[A6:A12] berisi nomer urut titik hasil ukuran
[B6:C12] Koordinat hasil pengukuran
[A4] Hitungan Jumlah titik pengukuran
[B4] Hiutngan Rata-rata koordinat X
[C4] Hitungan Rata-rata koordinat Y
[E:Z] Kolom tahapan perhitungan sesuai dengan paper R. Bullock
[D6] Hasil Koordinat X pusat lingkaran
[E6] Hasil Koordinat Y pusat lingkaran
[F6] Hasil jari-jari lingkaran

 

=silakan dicoba=

May 15, 2016

[DOC-VBA-01]: Aplikasi Fungsi Terbilang Di Microsoft Word

Filed under: Uncategorized — Tags: , — cadex @ 14:57
Referensi : https://support.microsoft.com/en-us/kb/213360
Lokasi File :  
Platform : Microsoft Word

Tulisan kali ini tidak ada hubungannya dengan peta, geodesy, project management, autocad ataupun civil 3D tetapi berhubungan dengan tugas baru saya sebagai  tukang ketik dan tukang catat dokumen kontrak.

Sebagai tukang ketik dan tukang catat, salah satu pekerjaan yang sering berulang adalah menuliskan angka terbilang nilai kontrak dari angka ke tulisan ( konversi angka ke huruf) menggunakan Bahasa Ingris dengan software Microsoft Word.

Sebelumnya saya menggunakan formula di [XLS-PMG-04]: Spell Number in Excel Without Macro (No VBA) untuk proses konversi ini dalam Microsoft Excel. Tetapi karena dokumen kontrak ditulis dalam Microsoft Word, saya menggunakan fasilitas Visual Basic Application for Microsoft Word (VBA for MS Word) untuk melakukan proses otomasi ini.

VBA for MS Word yang saya tulis di bawah ini adalah modifikasi code vba dari https://support.microsoft.com/en-us/kb/213360 dengan beberapa perubahan kecil antara lain:

1. Merubah vba code yang semula berupa user defined function di excel, menjadi vba code untuk digunakan di Microsoft Word.

2. Menghilangkan kata dollar dan cent. Kontrak yang saya ketik dalam mata uang rupiah dimana tidak ada satuan cents.

3. Hanya bekerja di angka bulat tanpa ada desimal.

4. Menambahkan karakter dash (“-“) di angka 20-99.

Detail vba-code ada di bawah ini:

Sub Spell2Number()
‘source: https://support.microsoft.com/en-us/kb/213360
‘modified by: zainul_ulum@cbn.net.id (znl)
‘date: 15 Mei 2016
‘modification notes:
‘1. to be applied on microsoft word
‘2. delete words: dollar dan cent
‘3. works only for integer number and no decimals
‘4. add dash character If number value between 20-99…
‘tanggal 15 Mei 2016
‘required procedures and functions:
‘1. SpellNumber
‘2. GetHundreds
‘3. GetTens
‘4. GetDigit

    Selection.Text = SpellNumber(Selection.Text)
End Sub
Private Function SpellNumber(ByVal MyNumber)
    Dim Dollars, Cents, Temp
    Dim DecimalPlace, Count
    ReDim Place(9) As String
    Place(2) = " Thousand "
    Place(3) = " Million "
    Place(4) = " Billion "
    Place(5) = " Trillion "
    ‘ String representation of amount.
    MyNumber = Trim(Str(MyNumber))
    ‘ Position of decimal place 0 if none.
    DecimalPlace = InStr(MyNumber, ".")
    ‘ Convert cents and set MyNumber to dollar amount.
    If DecimalPlace > 0 Then
        Cents = GetTens(Left(Mid(MyNumber, DecimalPlace + 1) & _
                  "00", 2))
        MyNumber = Trim(Left(MyNumber, DecimalPlace – 1))
    End If
    Count = 1
    Do While MyNumber <> ""
        Temp = GetHundreds(Right(MyNumber, 3))
        If Temp <> "" Then Dollars = Temp & Place(Count) & Dollars
        If Len(MyNumber) > 3 Then
            MyNumber = Left(MyNumber, Len(MyNumber) – 3)
        Else
            MyNumber = ""
        End If
        Count = Count + 1
    Loop
    Select Case Dollars
        Case ""
            ‘Dollars = "No Dollars"
            Dollars = "" ‘>>znl
        Case "One"
            ‘Dollars = "One Dollar"
            Dollars = "One" ‘>>znl
         Case Else
            ‘Dollars = Dollars & " Dollars"
            Dollars = Dollars & " " ‘>>znl
    End Select
    Select Case Cents
        Case ""
            Cents = " and No Cents"
        Case "One"
            Cents = " and One Cent"
              Case Else
            Cents = " and " & Cents & " Cents"
    End Select
    Cents = "" ‘>>znl
    SpellNumber = Dollars & Cents
End Function
     
‘ Converts a number from 100-999 into text
Function GetHundreds(ByVal MyNumber)
    Dim Result As String
    If Val(MyNumber) = 0 Then Exit Function
    MyNumber = Right("000" & MyNumber, 3)
    ‘ Convert the hundreds place.
    If Mid(MyNumber, 1, 1) <> "0" Then
        Result = GetDigit(Mid(MyNumber, 1, 1)) & " Hundred "
    End If
    ‘ Convert the tens and ones place.
    If Mid(MyNumber, 2, 1) <> "0" Then
        Result = Result & GetTens(Mid(MyNumber, 2))
    Else
        Result = Result & GetDigit(Mid(MyNumber, 3))
    End If
    GetHundreds = Result
End Function
     
‘ Converts a number from 10 to 99 into text.
Function GetTens(TensText)
    Dim Result As String
    Result = ""           ‘ Null out the temporary function value.
    If Val(Left(TensText, 1)) = 1 Then   ‘ If value between 10-19…
        Select Case Val(TensText)
            Case 10: Result = "Ten"
            Case 11: Result = "Eleven"
            Case 12: Result = "Twelve"
            Case 13: Result = "Thirteen"
            Case 14: Result = "Fourteen"
            Case 15: Result = "Fifteen"
            Case 16: Result = "Sixteen"
            Case 17: Result = "Seventeen"
            Case 18: Result = "Eighteen"
            Case 19: Result = "Nineteen"
            Case Else
        End Select
    Else                                 ‘ If value between 20-99…
        Select Case Val(Left(TensText, 1))
            Case 2: Result = "Twenty-"
            Case 3: Result = "Thirty-"
            Case 4: Result = "Forty-"
            Case 5: Result = "Fifty-"
            Case 6: Result = "Sixty-"
            Case 7: Result = "Seventy-"
            Case 8: Result = "Eighty-"
            Case 9: Result = "Ninety-"
            Case Else
        End Select
        Result = Result & GetDigit _
            (Right(TensText, 1))  ‘ Retrieve ones place.
       
        ‘znl remove dash character if GetDigit=""
        If GetDigit(Right(TensText, 1)) = "" Then
            Result = Left(Result, Len(Result) – 1)
        End If
       
    End If
    GetTens = Result
End Function
    
‘ Converts a number from 1 to 9 into text.
Function GetDigit(Digit)
    Select Case Val(Digit)
        Case 1: GetDigit = "One"
        Case 2: GetDigit = "Two"
        Case 3: GetDigit = "Three"
        Case 4: GetDigit = "Four"
        Case 5: GetDigit = "Five"
        Case 6: GetDigit = "Six"
        Case 7: GetDigit = "Seven"
        Case 8: GetDigit = "Eight"
        Case 9: GetDigit = "Nine"
        Case Else: GetDigit = ""
    End Select
End Function

Cara menggunakan code di atas:

  1. Copy code di atas atau download dari Link ini.
  2. Jalankan program Microsoft Word (MS Word).
  3. Pada Blank Document di MS Word, aktifkan Microsoft Visual Basic for Applications dengan menekan tombol Alt+F11.
  4. “Click Kanan” [ThisDocument] di bawah [Microsot Word Objects] dalam folder [Normal], kemudian pilih [Insert]>>[Module]

image

5. “Paste” code di [Module] yang telah dibuat, kemudian “Click” tombol [Save]. Program telah tersimpan dalam normal template sehingga setiap kali word dijalankan, program konversi huruf siap digunakan.

6. Tutup [Microsoft Visual Basic for Applications], sehingga kembali ke Blank Document.

7.  Pada Blank Document, tuliskan angka yang akan dikonversi. Misal 126752346

8. Tulisan angka sebaiknya berupa angka bulan tanpa ada simbol pemisah ribuan.

9. “Select” atau “Block” angak tadi (126752346)

10. Jalankan VBA (Macro) dengan menekan tombol Alt+F8

image

11. “Pilih” Macro [Spell2Number], kemudian “click” tombol [Run]

12. Angka sudah dikonversi dalam huruf dalam Bahasa Inggris.

Tahapan di bawah adalah contoh penggunaannya dalam pekerjaan saya:

1. File Normal Template sudah terdapat macro (vba) konversi.

2. Membuka file draft kontak dengan Microsoft Word kemudian menge-block angka yang akan dikonversi.

image

3. Menekan tombol Alt+F8 kemudian menjalankan macro [Spell2Number]

4. Hasil konversi angkan ke huruf:

image

 

Silakan mencoba.

“Jadilah tukang ketik yang kerja cerdas, bukan kerja keras”

April 12, 2016

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

Filed under: Excel, Geodesy, Map, Tukang Ukur — Tags: , — cadex @ 22:24
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

January 1, 2016

[XLS-MAP-10]: Plotting Koordinat UTM ke Google Earth dengan Microsoft Excel

Filed under: Excel — Tags: , — cadex @ 02:04
Referensi :

[XLS-MAP-01]: Rumus Excel untuk Mencari Zone UTM dan TM3

[XLS-MAP-09]:Speadsheet Proyeksi Traverse Mercator di Excel (Versi #2)

Platform : Microsoft Excel, Google Earth
Lokasi File :  

 

Posting kali ini akan diuraikan cara mengeplot koordinat UTM ke dalam program google earth melalui file kml menggunakan program Microsoft Excel.

Program Microsoft Excel digunakan untuk merubah file koordinat UTM ke koordinat Lintang, Bujur kemudian berdasarkan koordinat Lintang, Bujur tersebut dibuatkan file KML yang dapat dibuka dengan program Google Earth.

Sebagai panduan langkah-langkah di bawah, silakan download file terlebih dahulu.

Contoh list koordinat UTM yang akan diplot:

image

Berikut adalah tahapan-tahapan yang saya lakukan:

1. Konversi Koordinat UTM ke Koordinat Geografis (Lintang, Bujur).

Rumus untuk merubah koordinat UTM ke Koordinat Geografis, menggunakan rumus yang telah diuraikan dalam [XLS-MAP-09]:Speadsheet Proyeksi Traverse Mercator di Excel (Versi #2).

Konversi atau proyeksi UTM ke Koordinat Geografis dengan asumsi menggunakan Ellipsoid Reference WGS 84, maka pada sheet [Parameters] dilakukan setting sebagai berikut:

image

[C2] Pilih WGS 84 Parameter a dan 1/f akan otomatis terisi
[C6] Pilih UTM Parameter proyeksi UTM akan terisi sendiri
[C14]   Masukkan koordinat Bujur pendekatan
[C15]   Masukkan koordinat Lintang pendekatan. Masukkan nilai negatif jika terletak di lintang selatan (South)

 

Setelah dilakukan setting parameter proyeksi, pindah ke sheet [Grid2Geo] untuk selanjutnya dilakukan proses proyeksi/konversi koordinat:

image

[A:C]   Masukkan koordinat UTM dengan urutan Nama Titik, East (X), North(Y)
     
[D8] =lat menghitung nilai Koordinat Lintang dalam satuan desimal
[E8] =lg menghitung Koordinat Bujur dalam satuan desimal
[F8] =gConv menghitung konvergensi grid dalam satuan desimal
[G8] =pntScale menghitung faktor skala titik
     
    copy rumus di [D8:G8] ke bawah sampai ke titik terakhir yang akan dihitung

2. Setting XML untuk plotting koordinat dalam bentuk titik.

Pindah ke sheet [point(xml)] untuk membuat file kml dam bentuk titik.

image

KML generator di atas akan membuat kumpulan titik dalam folder yang didefinisikan dalam cell [C4], nama titik dan koordinatnya dimulai dari cell [C6] dan cells [E6] sampai titik yang diinginkan. Cells yang berwarna kuning adalah cells yang berisi rumus atau formula dengan menggunakan referensi [Grid2Geo].

image

KML generator di atas akan membuat kumpulan titik dalam folder yang didefinisikan dalam cell [C4], nama titik dan koordinatnya dimulai dari cell [C6] dan cells [E6] sampai titik yang diinginkan. Cells yang berwarna kuning adalah cells yang berisi rumus atau formula dengan menggunakan referensi [Grid2Geo]. Sedangkan text dalam kolom G atau kolom XML adalah file KML yang akan diexport atau dibaca oleh Google Earth.

Rumus yang disgunakan dalam worksheet [point(xml)]:

[C4]   Masukkan nama group atau folder titik
[C6] =Grid2Geo!A8 mengambil point desc dari sheet [Grid2Geo] sebagai nama placemark
[E6] =TEXT(Grid2Geo!E8,"0."&REPT("0","14"))&","&TEXT(Grid2Geo!D8,"0."&REPT("0","14"))&","&TEXT(list!D2,"0.00") memformat koordinat Bujur, Lintang dari sheet [Grid2Geo] dalam unit desimal dengan format 14 digit desimal
[G6] =B6&C6&D6&E6&F6 Menggabungkan text di kolom B, c d e dan F
     
    copy rumus di [A6:G6] sampai ke titik terakhir di sheet [Grid2Geo]
[G19] </Folder> jangan lupa akhiri dengan text </Folder>

3. Membukan file KML di Google Earth.

[G3:G19]   Block range [G3:G19]>> kemudian click kanan>>Copy

Jalankan program note pad, kemudian paste hasil copy dari excel

Kemudian simpan notepad dengan extensi kml. Misal disimpan dengan nama [titik.kml]

image

Jalankan program Google Earth kemudian bukan file [titik.kml]

Untuk kumpulan titik yang berbentuk polygon tertutuo silakan dicoba template di sheet [polygon(xml)].

 

===terimakasih telah berkunjung di blog saya===

December 25, 2015

Filed under: Excel — cadex @ 22:45

April 20, 2015

Aplikasi Microsoft Excel untuk Menghitung Konstanta Pasang Surut dengan Metode Hitung Kwadrat Terkecil

Filed under: Geodesy — cadex @ 14:27

Tulisan ini merupakan lanjutan dari tulisan sebelumnya di http://cadex.co yaitu [XLS-SVY-22] dengan masih menggunakan dasar teori https://cadex.co/2015/01/26/xls-svy-22-rumus-excel-untuk-menghitung-konstanta-pasut-amplitudo-dan-phase-dengan-metode-hitung-kuadrat-terkecil/.

Perbedaan dengan tulisan sebelumnya adalah:

  • Data pengukuran water level (tinggi muka air) adalah tiap jam selama 29 hari
  • Penggunakaan fungsi OFFSET() diganti dengan fungsi INDEX() untuk mempercepat proses perhitungan karena fungsi OFFSET() adalah termasuk dalam category Volatile Function dalam Microsoft Excel

Berikut adalah tahapan pengolahan data pengukuran tinggi water level untuk menghitung 9 Konstanta Pasan Surut (Pasut):

Input Data Pengukuran

Data dimasukkan dalam sheet [input]

 

 

[A3] =”D-“&ROWS($B$3:B3) Membuat kode urut D-1 yang merupakan kode pengamatan hari pertama.
Copy rumus [A3] sampai ke kode D-29 atau pengamatan hari terakhir
[B3] Masukkan tanggal awal pengamatan
[B4] =B3+1 Tanggal hari berikutnya, yaitu tanggal pertama [B3] ditambah 1 (hari)
Copy rumus di [B4] ke bawah sampai hari terakhir pengamatan
Format cells [B4:B31] : Date
[C2] =TIME(0,0,0) Jam pengamatan dimulai di 00:00
[D2] =C2+TIME(1,0,0) Pengamatan 1 (satu) jam berikutnya
Copy rumus [D2] ke kanan sampai pada jam 23:00
Format cells [D2:Z2] : Time
[C3:Z31] Masukkan tinggi muka air sesuai dengan tanggal di kolom B dan jam di baris 2 dengan satuan meter

 

Buat Named Range dengan ketentuan sebagai berikut

Name Data
Refer to =$C$3:INDEX($Z$3:$Z$3000,COUNT($Z$3:$Z$3000))

 

Cara membuat Named Range, silakan click [XLS-PMG-02]: Rumus Terbilang Di Excel (Tanpa Macro/VBA)

 

Proses Hitungan Kuadrat Terkecil (Least Square)

Misal proses hitungan Least Square (Hitung Kuadrat Terkecil) yang terdiri dari proses pembentukan [Matrix L], [Matrix A], [Matrix X] dan [[Matrix V] ada di sheet [Calc-9], maka urutan perhitungannya adalah sebagai berikut:

Matrix Observasi [Matrix L]

Data yang telah diisikan di sheet [input] kemudian dirubah menjadi data matrix observasi (Matrix L).

 

 

[B1] =COUNT($A$4:$A$40000) menghitung jumlah data pengamatan berdasarkan isian jam di kolom [A4:A40000].pada contoh kali ini, maksimal data jam diisikan sampai A40000.
[B2] =2*9+1 banyaknya parameter yang akan dicari yaitu A1–A9 (9 parameter), B1–B9 (9 parameter) dan Z0 (1 parameter). Total parameter=19
[A4] =IF(MOD(ROWS($B$4:B4),24)=0,24,MOD(ROWS($B$4:B4),24)) membuat array atau deret 1 – 24 di kolom A yaitu nomer urut jam pengamatan
copy rumus [A4] ke [A5]
[B4] =1
[B5] =B4+(A5=1) membuat array nomer urut hari pengamatan
copy rumus [A5:B5] ke bawah sampai [A699:B699] atau sampai ke hari pengamatan terakhir
[C1] =input!$B$3 tanggal pertama pengamatan
[D4] =ROWS($E$4:E4) membuat nomer urut
[E4] =$C$1+$B4-1+TIME($A4-1,0,0) membuat urutan tanggal dan jam pengamatanset format cell atau format number di [E4] menjadi “d-mmm-yy h:mm;@”
[F4] =INDEX(Data,B4,A4) Mengambil data pengamatan pada hari ke 1 jam ke 1
Copy [D4:F4] ke bawah sampai ke [D699:F699]

 

Buat Named Range dengan ketentuan sebagai berikut

Name MatrixL
Refer to =$F$4:INDEX($F$4:$F$39970,$B$1)

 

Membuat Matrix Koefisien (Matrix A)

 

Untuk menghitung Matrix Koefisien (Matrix A) dibutuhkan informasi kecepatan sudut untuk masing-masing konstanta pasut seperti dalam table di bawah:

 

 

Berdasarkan table di atas dan dasar teori perhitungan pasut di https://cadex.co/2015/01/26/xls-svy-22-rumus-excel-untuk-menghitung-konstanta-pasut-amplitudo-dan-phase-dengan-metode-hitung-kuadrat-terkecil/, maka spreadsheet untuk menghitung Matrix A adala

 

 

[I1] =1 Atur format number “w 0”
[J1] =MOD(COLUMNS(H$1:$I1),2)+I1 Copy rumus [J1] ke kanan sampai [Z1] untuk membuat deret 1,1,2,2,3,3,……..,9,9
[I2] =INDEX($AO$5:$AO$13,I$1) Mengambil nilai kecepatan sudut dari range [AO5:AO13]
[H3] Z0 Parameter muka air rata-rata
[I3:Z3] Isian parameter A1—A9, B1—B9
[H1:H699] 1 Masukkan angka 1 di kolom [H1:H699]
[I4] =IF(LEFT(I$3,1)=”A”,COS(I$2*$D4),-SIN(I$2*$D4)) Copy rumus[I4] ke [I4:Z699]

 

Name MatrixA
Refer to =$H$4:INDEX($Z$4:$Z$39970,$B$1)

 

Menghitung Matrix Parameter (Matrix X), Matrix Koreksi (Matrix V) dan Matrix Ukuran Terkoreksi (Matrix La)

 

 

[AD4] =INDEX(MMULT(MMULT(MINVERSE(MMULT(TRANSPOSE(MatrixA),MatrixA)),TRANSPOSE(MatrixA)),MatrixL),AB4)
Rumus di atas adalah rumus array atau array formula. Saat menggunakan rumus array, setelah menuliskan rumus di atas akhir dengan combinasi CTRL+SHIFT+ENTER
Copy rumus [AD4] ke bawah sampai [AD22]
[AF4] =MMULT(H4:Z4,$AD$4:$AD$22)-$F4
[AG4] =F4+AF4
Copy rumus [AF4:AG4] ke bawah sampai [AF699:AG699]

 

Menghitung Konstanta Pasut

 

 

[AP5] =VLOOKUP(AP$3&$AI5,$AC$5:$AD$22,2,0) Mengambil nilai parameter A1
Copy rumus [AP5] ke range [AP5: AQ13] untuk mengambil nilai parameter yang lain
[AR4] =AD4 Mengambil nilai parameter Z0
[AR5] =SQRT(AP5^2+AQ5^2) Menghitung amplitude
[AS5] =MOD(DEGREES(ATAN2(AP5,AQ5)),360) Menghitung sudut phase
[AT5] =RADIANS(AS5) Merubah unit sudut dari derajat ke radians
Copy rumus [AR5:AT5] ke bawah sampai [AR13:AT13]

 download contoh file

January 26, 2015

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

Filed under: Excel, Tukang Ukur — cadex @ 16:13

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

Older Posts »

Blog at WordPress.com.