Rabu, 23 Juli 2014

Ngulik Mapbasic (part 2)

Utk RF engineer pastinya udh ga asing dgn import hasil export logfile yg formatnya txt, trus jadi .tab di mapinfo, trus di create point utk selanjutnya di thematic. Ataupun ngbikin sektoral pke siteSee atau common. Nah di part ini saya mw coba ngulik lg gmn sih caranya file txt atw xls yg isi nya data2, bisa ke plot di map.

Jadi... (cmiiw lg ya) table di mapinfo itu selain kolom2 utk data, tapi juga ada kolom untuk object/graphic, dgn nama kolom "Obj", tapi kolom ini ga akan muncul atw ga akan keliatan klo kita liat di browser atau kita export table ke csv atw txt. Kolom "Obj" nya sudah ada, cuma isi nya blm tentu ada. Intinya, table mapinfo tidak harus mengandung object, tp harus mengandung data. Contoh, kita import txt file hasil export logfile utk di jadiin tabfile, sampe tahap ini kita baru ngebikin table mapinfo yg berisi data doank. Nah selanjutnya ketika kita create point based on long-lat nya, disitu kita udh mengupdate kolom "Obj" dengan object/graphic utk tiap2 baris data. Jadi... di tiap tabfile, ada data, dan bisa ada object.

Table tanpa object bisa di add ke map window tp tentu nya ga akan muncul apa2. Table dengan object jg bisa ga di munculin di map, dgn dibuka pke "browser" aja misalnya.

Sekarang, gmn caranya utk mengupdate object/graphic dr sebuah table mapinfo? Disini kita pakai sql command update. Contoh table logfileSSV yg sudah diimport tp blm di create point, maka command yg harus kita tulis di mapbasic yaitu :

Create Point :
Create Map For logfileSSV CoordSys Earth  'membuat table logfileSSV menjadi mappable
Add Map Window FrontWindow()  Auto Layer logfileSSV   'add logfileSSV ke current mapper
Set Style Symbol (35,255,6,"Map Symbols",0,0)  'set style untuk objectnya, pakai map symbol
Update logfileSSV Set Obj = CreatePoint(All_Longitude,All_Latitude)  'update posisi object dgn simbol pd baris di atas
Commit Table logfileSSV  'save table

Khusus untuk kasus create point, maka object type nya adalah "point". Ada banyak object type di mapinfo seperti "arc", "rectangle", "line", dll. Untuk lebih jelasnya coba cek link ini

Object Type

Untuk lebih jelas gmn caranya create statement dari masing2 object type di atas, ada koq di mapinfo help file, atau googling lg utk lebih detilnya hehe..

Udah clear kan ya ttg knp table bs muncul di map window.. Nah sebelum ngulik lebih dalem gmn cara bikin2 object ada baiknya mundur sedikit utk mengetahui hal2 yg sering dipake dlm proses bikin object ini, yaitu Pen dan Brush.

Klo dari mapinfo help file :

Pen Clause : Specifies a line style for graphic objects
Brush Clause : Specifies a fill style for graphic objects

Alter Object :
Sub EditObject
     select * from DataCell where Cellname="10000_Cell-1" into qUpdate
     update qUpdate set Obj = AlterStyle(Obj)
     commit table DataCell 
End Sub

Function AlterStyle(ByVal oCellObj As Object) As Object
     Dim bStyle as brush
     Dim pStyle as pen

     bStyle = MakeBrush(2,16711680,16777215)
     pStyle = MakePen(2,3,16711680)

     Alter Object oCellObj Info OBJ_INFO_PEN, pStyle 
     Alter Object oCellObj Info OBJ_INFO_BRUSH, bStyle 

     AlterStyle = oCellObj 
End Function

Berarti sekilas tentang object udh kelar ya. Next nya bahas tentang cara make sector dari data gcell deh ya.

Tidak ada komentar:

Posting Komentar