2024-06-02 05:35:03 +02:00
Imports System . Configuration
Imports System . IO
Imports TPS1100_Convert . My
2024-05-29 03:16:22 +02:00
Public Class Form1
2024-06-07 00:11:48 +02:00
Public DatFileName As String
2024-06-02 05:35:03 +02:00
Private Sub Form1_Load ( sender As Object , e As EventArgs ) Handles MyBase . Load
ToolStripComboBox2 . Text = My . Settings . DecimalnoLocilo
End Sub
2024-05-29 03:16:22 +02:00
Private Sub tsbOpenFile_Click ( sender As Object , e As EventArgs ) Handles tsbOpenFile . Click
If OpenFileDialog1 . ShowDialog = DialogResult . OK Then
tsbFileName . Text = OpenFileDialog1 . SafeFileName
2024-06-07 00:11:48 +02:00
DatFileName = OpenFileDialog1 . SafeFileName . ToString
2024-05-29 03:16:22 +02:00
RichTextBox1 . Clear ( )
tsbSaveAs . Text = " Shrani ... "
tsbSaveAs . Enabled = False
tsbConvert . Enabled = True
tsbPointsOnly . Enabled = True
2024-06-07 00:11:48 +02:00
OpenFileDialog1 . Dispose ( )
2024-05-29 03:16:22 +02:00
Else
tsbFileName . Text = " Odpri GSI datoteko... "
RichTextBox1 . Clear ( )
tsbSaveAs . Text = " Shrani ... "
tsbSaveAs . Enabled = False
tsbConvert . Enabled = False
tsbPointsOnly . Enabled = False
End If
End Sub
Private Sub tsbConvert_Click ( sender As Object , e As EventArgs ) Handles tsbConvert . Click
RichTextBox1 . Clear ( )
RichTextBox1 . AppendText ( " TPS 1100 GSI Conversion " + vbCrLf + " ++++++++++++++++++++++++++++++++ " + vbCrLf )
' prepare StreamReader
Dim streamReader As StreamReader = New StreamReader ( OpenFileDialog1 . FileName )
Dim i As Integer = 0
' loop untill end of stream
Do Until streamReader . EndOfStream
' Read and Split each line to separate it into fields
Dim line ( ) As String = streamReader . ReadLine ( ) . Split ( " " )
' Remove * sign from index line
line ( 0 ) = Replace ( line ( 0 ) , " * " , " " )
2024-06-02 05:35:03 +02:00
If i = 0 Then
End If
2024-05-29 03:16:22 +02:00
' Check if it's a new station setup
If Microsoft . VisualBasic . Left ( line ( 1 ) , 2 ) = " 25 " Then
RichTextBox1 . AppendText ( vbCrLf + " Station: " + vbCrLf + " ************* " + vbCrLf )
'RichTextBox1.AppendText("PtName:" + vbTab + "Hz.Corr.:" + vbTab + "StnE:" + vbTab + "StnN:" + vbTab + "StnH:" + vbTab + "Refl.h.: " + vbTab + "Inst.h.: " + vbCrLf)
End If
If Microsoft . VisualBasic . Left ( line ( 1 ) , 2 ) = " 84 " Then
RichTextBox1 . AppendText ( vbCrLf + " Station: " + vbCrLf + " ************* " + vbCrLf )
'RichTextBox1.AppendText("PtName:" + vbTab + "StnE:" + vbTab + "StnN:" + vbTab + "StnH:" + vbTab + "Refl.h.: " + vbTab + "Inst.h.: " + vbCrLf)
End If
' Seaparate word index and data
For Each readLine As String In line
If readLine = " " Then
' do nothing
Else
' wordindex is always 6 characters long and is read fron left to right
Dim wordIndex As String
wordIndex = Microsoft . VisualBasic . Left ( readLine , 2 )
' data is always 17 characters long and is read from right to left and has a +/- sign in first place
Dim data As String
Dim numData As Double
data = Microsoft . VisualBasic . Right ( readLine , 17 )
If wordIndex = " 11 " Then
data = Microsoft . VisualBasic . Right ( data , 16 ) . TrimStart ( " 0 "c )
ElseIf wordIndex = " 19 " Then ' Date/Time
data = " DateTime= " + Microsoft . VisualBasic . Right ( data , 8 )
ElseIf wordIndex = " 21 " Then ' Horizontal angle
numData = data / 100000
data = Format ( numData , " 0.0000 " )
ElseIf wordIndex = " 22 " Then ' Vertical angle
numData = data / 100000
data = Format ( numData , " 0.0000 " )
ElseIf wordIndex = " 25 " Then ' Hz. Orientation correction
numData = data / 100000
data = " HzCor= " + Format ( numData , " 0.0000 " )
ElseIf wordIndex = " 31 " Then ' Slope distance
numData = data / 1000
data = Format ( numData , " 0.000 " )
ElseIf wordIndex = " 32 " Then ' Horizontal distance
numData = data / 1000
data = Format ( numData , " 0.000 " )
ElseIf wordIndex = " 33 " Then ' Height difference
numData = data / 1000
data = Format ( numData , " 0.000 " )
ElseIf wordIndex = " 34 " Then ' Stationing
numData = data / 1000
data = " Station= " + Format ( numData , " 0.000 " )
ElseIf wordIndex = " 35 " Then ' Info za offset???
numData = data / 1000
data = " Offset= " + Format ( numData , " 0.000 " )
ElseIf wordIndex = " 41 " Then ' Code
'numData = data
'data = "Code= " + numData.ToString
If ToolStripComboBox1 . Text = " Da " Then
If data = " +0000000000000010 " Then
data = vbCrLf + " Setup: Quick Set " + vbCrLf + " ============================= "
End If
If data = " +0000000000000020 " Then
data = vbCrLf + " Setup: Set Hz " + vbCrLf + " ============================= " + vbCrLf + " PtID HZ V SD HD RefHt PrCon HtDif E N H PtCode "
End If
If data = " +0000000000000030 " Then
data = vbCrLf + " Setup: Resection " + vbCrLf + " ============================= " + vbCrLf + " PtID HZ V SD HD RefHt PrCon HtDif E N H PtCode "
End If
If data = " +0000000000000040 " Then
data = vbCrLf + " Setup: Free Station " + vbCrLf + " ============================= " + vbCrLf + " PtID HZ V SD HD RefHt PrCon HtDif E N H PtCode "
End If
If data = " +0000000000000050 " Then
data = vbCrLf + " Setup: Orientation & Ht. transfer " + vbCrLf + " ============================= " + vbCrLf + " PtID HZ V SD HD RefHt PrCon HtDif E N H PtCode "
End If
If data = " +0000000000000090 " Then
data = vbCrLf + " Measured: " + vbCrLf + " ------------------- " + vbCrLf + " PtID HZ V SD HD RefHt PrCon HtDif E N H PtCode "
End If
If data = " +0000000000000099 " Then
data = " Imported: " + vbCrLf + " ------------------- "
End If
If data = " +00000000STA_OFFS " Then
data = " Offsets: " + vbCrLf
End If
End If
ElseIf wordIndex = " 42 " Then ' Code: Info 1
data = " Info1= " + Microsoft . VisualBasic . Right ( data , 16 ) . TrimStart ( " 0 "c )
ElseIf wordIndex = " 43 " Then ' Code: Info 2
data = " Info2= " + Microsoft . VisualBasic . Right ( data , 16 ) . TrimStart ( " 0 "c )
ElseIf wordIndex = " 44 " Then ' Code: Info 3
data = " Info3= " + Microsoft . VisualBasic . Right ( data , 16 ) . TrimStart ( " 0 "c )
ElseIf wordIndex = " 45 " Then ' Code: Info 4
data = " Info4= " + Microsoft . VisualBasic . Right ( data , 16 ) . TrimStart ( " 0 "c )
ElseIf wordIndex = " 47 " Then ' Code: Info 6
data = " Info6= " + Microsoft . VisualBasic . Right ( data , 16 ) . TrimStart ( " 0 "c )
ElseIf wordIndex = " 58 " Then ' Prism constant
numData = data / 10000
data = numData . ToString
ElseIf wordIndex = " 71 " Then ' Point Code
numData = data
data = numData . ToString
ElseIf wordIndex = " 81 " Then ' Target Easting
numData = data / 1000
data = Format ( numData , " 0.000 " )
ElseIf wordIndex = " 82 " Then ' Target Northing
numData = data / 1000
data = Format ( numData , " 0.000 " )
ElseIf wordIndex = " 83 " Then ' Target Height
numData = data / 1000
data = Format ( numData , " 0.000 " )
ElseIf wordIndex = " 84 " Then ' Station Easting
numData = data / 1000
data = " StE= " + Format ( numData , " 0.000 " )
ElseIf wordIndex = " 85 " Then ' Station Northing
numData = data / 1000
data = " StN= " + Format ( numData , " 0.000 " )
ElseIf wordIndex = " 86 " Then ' Station Height
numData = data / 1000
data = " StH= " + Format ( numData , " 0.000 " )
ElseIf wordIndex = " 87 " Then ' Reflector height
numData = data / 1000
data = Format ( numData , " 0.000 " )
ElseIf wordIndex = " 88 " Then ' Instriment height
numData = data / 1000
data = " InstHt= " + Format ( numData , " 0.000 " )
ElseIf wordIndex = " 18 " Then ' DATE YY.ss
numData = data / 1000000
data = " Year.Sec= " + Format ( numData , " 0.00 " )
Else
numData = 0
End If
If ToolStripComboBox2 . Text = " Pika " Then
If wordIndex IsNot " 11 " Then
data = data . ToString . Replace ( " , " , " . " )
End If
End If
RichTextBox1 . AppendText ( data + " " )
End If
Next
RichTextBox1 . AppendText ( vbCrLf )
Loop
ToolStripStatusLabel1 . Text = " Konverzija končana. Shrani datoteko! "
SaveFileDialog1 . Filter = " Zapisnik meritve|*.mer|Text file|*.txt|All files|*.* "
streamReader . Close ( )
tsbSaveAs . Enabled = True
tsbSaveAs . Text = " Shrani Zapisnik "
End Sub
Private Sub tsbSaveAs_Click ( sender As Object , e As EventArgs ) Handles tsbSaveAs . Click
SaveFileDialog1 . FileName = Path . GetFileNameWithoutExtension ( OpenFileDialog1 . FileName )
If SaveFileDialog1 . ShowDialog = DialogResult . OK Then
RichTextBox1 . SaveFile ( SaveFileDialog1 . FileName , RichTextBoxStreamType . PlainText )
ToolStripStatusLabel1 . Text = " Shranjeno: " + SaveFileDialog1 . FileName . ToString
End If
End Sub
Private Sub tsbPointsOnly_Click ( sender As Object , e As EventArgs ) Handles tsbPointsOnly . Click
RichTextBox1 . Clear ( )
Dim measuredPoints As Integer = 1
Dim newStation As Integer = 0
Dim streamReader As StreamReader = New StreamReader ( OpenFileDialog1 . FileName )
Do Until streamReader . EndOfStream
' Read and Split each line to separate it into fields
Dim line ( ) As String = streamReader . ReadLine ( ) . Split ( " " )
' Remove * sign from index line
line ( 0 ) = Replace ( line ( 0 ) , " * " , " " )
If Microsoft . VisualBasic . Left ( line ( 1 ) , 2 ) = " 25 " Then
measuredPoints = 1
End If
' Seaparate word index and data
For Each readLine As String In line
If readLine = " " Then
' do nothing
Else
' wordindex is always 6 characters long and is read fron left to right
Dim wordIndex As String
wordIndex = Microsoft . VisualBasic . Left ( readLine , 2 )
' data is always 17 characters long and is read from right to left and has a +/- sign in first place
Dim data As String
Dim numData As Double
data = Microsoft . VisualBasic . Right ( readLine , 17 )
If wordIndex = " 41 " Then
If data = " +00000000STA_OFFS " Then
data = " 90 "
End If
numData = data
If numData >= 90 Then
measuredPoints = 1
ElseIf numData >= 10 < 90 Then
measuredPoints = 0
End If
End If
If wordIndex = " 11 " And measuredPoints = 1 Then
data = Microsoft . VisualBasic . Right ( data , 16 ) . TrimStart ( " 0 "c )
RichTextBox1 . AppendText ( data + " " )
ElseIf wordIndex = " 81 " And measuredPoints = 1 Then ' Target Easting
numData = data / 1000
data = Format ( numData , " 0.000 " )
If ToolStripComboBox2 . Text = " Pika " Then
data = data . ToString . Replace ( " , " , " . " )
End If
RichTextBox1 . AppendText ( data + " " )
ElseIf wordIndex = " 82 " And measuredPoints = 1 Then ' Target Northing
numData = data / 1000
data = Format ( numData , " 0.000 " )
If ToolStripComboBox2 . Text = " Pika " Then
data = data . ToString . Replace ( " , " , " . " )
End If
RichTextBox1 . AppendText ( data + " " )
ElseIf wordIndex = " 83 " And measuredPoints = 1 Then ' Target Height
numData = data / 1000
data = Format ( numData , " 0.000 " )
If ToolStripComboBox2 . Text = " Pika " Then
data = data . ToString . Replace ( " , " , " . " )
End If
RichTextBox1 . AppendText ( data + vbCrLf )
ElseIf wordIndex = " 84 " And measuredPoints = 1 Then ' Station Easting
numData = data / 1000
data = Format ( numData , " 0.000 " )
If ToolStripComboBox2 . Text = " Pika " Then
data = data . ToString . Replace ( " , " , " . " )
End If
RichTextBox1 . AppendText ( data + " " )
ElseIf wordIndex = " 85 " And measuredPoints = 1 Then ' Station Northing
numData = data / 1000
data = Format ( numData , " 0.000 " )
If ToolStripComboBox2 . Text = " Pika " Then
data = data . ToString . Replace ( " , " , " . " )
End If
RichTextBox1 . AppendText ( data + " " )
ElseIf wordIndex = " 86 " And measuredPoints = 1 Then ' Station Height
numData = data / 1000
data = Format ( numData , " 0.000 " )
If ToolStripComboBox2 . Text = " Pika " Then
data = data . ToString . Replace ( " , " , " . " )
End If
RichTextBox1 . AppendText ( data + vbCrLf )
Else
numData = 0
data = " "
End If
End If
Next
Loop
ToolStripStatusLabel1 . Text = " Konverzija končana. Shrani datoteko! "
SaveFileDialog1 . Filter = " KOO datoteka|*.koo|Text file|*.txt|All files|*.* "
streamReader . Close ( )
tsbSaveAs . Enabled = True
tsbSaveAs . Text = " Shrani Točke "
End Sub
Private Sub tsbKooConvert_Click ( sender As Object , e As EventArgs )
RichTextBox1 . Clear ( )
Dim measuredPoints As Integer = 0
Dim newStation As Integer = 0
Dim streamReader As StreamReader = New StreamReader ( OpenFileDialog1 . FileName )
Do Until streamReader . EndOfStream
' Read and Split each line to separate it into fields
Dim line ( ) As String = streamReader . ReadLine ( ) . Split ( " " )
' Remove * sign from index line
line ( 0 ) = Replace ( line ( 0 ) , " * " , " " )
If Microsoft . VisualBasic . Left ( line ( 1 ) , 2 ) = " 25 " Then
newStation = 1
End If
' Seaparate word index and data
For Each readLine As String In line
If readLine = " " Then
' do nothing
Else
' wordindex is always 6 characters long and is read fron left to right
Dim wordIndex As String
wordIndex = Microsoft . VisualBasic . Left ( readLine , 2 )
' data is always 17 characters long and is read from right to left and has a +/- sign in first place
Dim data As String
Dim numData As Double
data = Microsoft . VisualBasic . Right ( readLine , 17 )
If wordIndex = " 11 " Then
data = Microsoft . VisualBasic . Right ( data , 16 ) . TrimStart ( " 0 "c )
RichTextBox1 . AppendText ( data + " " )
ElseIf wordIndex = " 81 " Then ' Target Easting
numData = data / 1000
data = Format ( numData , " 0.000 " )
If ToolStripComboBox2 . Text = " Pika " Then
data = data . ToString . Replace ( " , " , " . " )
End If
RichTextBox1 . AppendText ( data + " " )
ElseIf wordIndex = " 82 " Then ' Target Northing
numData = data / 1000
data = Format ( numData , " 0.000 " )
If ToolStripComboBox2 . Text = " Pika " Then
data = data . ToString . Replace ( " , " , " . " )
End If
RichTextBox1 . AppendText ( data + " " )
ElseIf wordIndex = " 83 " Then ' Target Height
numData = data / 1000
data = Format ( numData , " 0.000 " )
If ToolStripComboBox2 . Text = " Pika " Then
data = data . ToString . Replace ( " , " , " . " )
End If
RichTextBox1 . AppendText ( data + vbCrLf )
ElseIf wordIndex = " 84 " Then ' Station Easting
numData = data / 1000
data = Format ( numData , " 0.000 " )
If ToolStripComboBox2 . Text = " Pika " Then
data = data . ToString . Replace ( " , " , " . " )
End If
RichTextBox1 . AppendText ( data + " " )
ElseIf wordIndex = " 85 " Then ' Station Northing
numData = data / 1000
data = Format ( numData , " 0.000 " )
If ToolStripComboBox2 . Text = " Pika " Then
data = data . ToString . Replace ( " , " , " . " )
End If
RichTextBox1 . AppendText ( data + " " )
ElseIf wordIndex = " 86 " Then ' Station Height
numData = data / 1000
data = Format ( numData , " 0.000 " )
If ToolStripComboBox2 . Text = " Pika " Then
data = data . ToString . Replace ( " , " , " . " )
End If
RichTextBox1 . AppendText ( data + vbCrLf )
Else
numData = 0
data = " "
End If
End If
Next
Loop
ToolStripStatusLabel1 . Text = " Konverzija končana. Shrani datoteko! "
SaveFileDialog1 . Filter = " KOO datoteka|*.koo|Text file|*.txt|All files|*.* "
streamReader . Close ( )
tsbSaveAs . Enabled = True
tsbSaveAs . Text = " Shrani Točke "
End Sub
Private Sub tsbHelp_Click ( sender As Object , e As EventArgs ) Handles tsbHelp . Click
MessageBox . Show ( " Za konvertiranje GSI datoteke najprej izberi datoteko, ki jo želiš konvertirati z ukazom 'Open File'. Nato izberi metodo konverzije (Poročilo, Merjene točke, Vse točke). Po končani knverziji shrani novo datoteko z ukazom 'Save As...' " ,
" Kratka navodila " )
End Sub
2024-06-02 05:35:03 +02:00
Private Sub ToolStripComboBox2_Click ( sender As Object , e As EventArgs ) Handles MyBase . FormClosing
My . Settings . DecimalnoLocilo = ToolStripComboBox2 . Text
My . Settings . Save ( )
End Sub
Private Sub ToolStripButton1_Click ( sender As Object , e As EventArgs ) Handles ToolStripButton1 . Click
2024-06-07 00:11:48 +02:00
2024-06-02 05:35:03 +02:00
Form2 . ShowDialog ( )
2024-06-07 00:11:48 +02:00
2024-06-02 05:35:03 +02:00
End Sub
2024-05-29 03:16:22 +02:00
End Class