2024-06-10 20:57:35 +02:00
Imports System . IO
2024-06-19 21:00:35 +02:00
Imports System . Runtime . InteropServices . ComTypes
2024-05-29 03:16:22 +02:00
Public Class Form1
2024-06-11 02:02:19 +02:00
Public DatotekaLogfile As String = My . Settings . DatLogfile
2024-06-02 05:35:03 +02:00
Private Sub Form1_Load ( sender As Object , e As EventArgs ) Handles MyBase . Load
2024-06-11 02:02:19 +02:00
If DatotekaLogfile = " " Then
DatotekaLogfile = System . IO . Path . Combine ( My . Computer . FileSystem . SpecialDirectories . MyDocuments , " tps1100_log.txt " )
My . Settings . DatLogfile = DatotekaLogfile
My . Settings . Save ( )
End If
2024-06-16 05:10:11 +02:00
My . Forms . Form1 . Text = My . Application . Info . Title + " " + My . Application . Info . Version . Major . ToString + " . " + My . Application . Info . Version . Minor . ToString
2024-06-11 03:16:44 +02:00
RichTextBox1 . AppendText ( My . Settings . DatLogfile . ToString )
2024-06-13 04:25:40 +02:00
If My . Settings . Pisava = " " Then
My . Settings . Pisava = RichTextBox1 . Font . Name
My . Settings . PisavaVelikost = RichTextBox1 . Font . Size
My . Settings . Save ( )
End If
RichTextBox1 . Font = New Font ( My . Settings . Pisava , My . Settings . PisavaVelikost )
2024-06-02 05:35:03 +02:00
End Sub
2024-06-10 20:57:35 +02:00
2024-06-21 22:02:34 +02:00
Public Sub OdpriDatotekoGsi ( )
2024-06-10 20:57:35 +02:00
OpenFileDialog1 . ReadOnlyChecked = False
2024-05-29 03:16:22 +02:00
If OpenFileDialog1 . ShowDialog = DialogResult . OK Then
RichTextBox1 . Clear ( )
2024-06-10 20:57:35 +02:00
ToolStripProgressBar1 . Value = 0
2024-06-13 04:25:40 +02:00
streamLines = 0
2024-06-10 20:57:35 +02:00
Dim streamReader As StreamReader = New StreamReader ( OpenFileDialog1 . FileName )
Do Until streamReader . EndOfStream
RichTextBox1 . AppendText ( streamReader . ReadLine + vbCrLf )
streamLines = streamLines + 1
Loop
ToolStripProgressBar1 . Maximum = streamLines
streamReader . Close ( )
streamReader . Dispose ( )
My . Settings . Datoteka = OpenFileDialog1 . SafeFileName
2024-06-13 04:25:40 +02:00
My . Settings . ZadnjaMapa = Path . GetDirectoryName ( OpenFileDialog1 . FileName )
2024-06-10 20:57:35 +02:00
tsbFileName . Text = My . Settings . Datoteka
ToolStripStatusLabel1 . Text = My . Settings . ZadnjaMapa
2024-05-29 03:16:22 +02:00
tsbSaveAs . Text = " Shrani ... "
tsbSaveAs . Enabled = False
2024-06-21 22:02:34 +02:00
ShraniToolStripMenuItem . Enabled = False
2024-05-29 03:16:22 +02:00
tsbConvert . Enabled = True
tsbPointsOnly . Enabled = True
2024-06-16 05:10:11 +02:00
ToolStripButtonGeo . Enabled = True
2024-06-10 20:57:35 +02:00
ButtonUrediDat . Enabled = True
RichTextBox1 . BackColor = SystemColors . Info
LabelDatoteka . Image = My . Resources . icons8_ok_50
My . Settings . Save ( )
2024-05-29 03:16:22 +02:00
Else
tsbFileName . Text = " Odpri GSI datoteko... "
RichTextBox1 . Clear ( )
tsbSaveAs . Text = " Shrani ... "
tsbSaveAs . Enabled = False
2024-06-21 22:02:34 +02:00
ShraniToolStripMenuItem . Enabled = False
2024-05-29 03:16:22 +02:00
tsbConvert . Enabled = False
tsbPointsOnly . Enabled = False
End If
2024-06-10 20:57:35 +02:00
OpenFileDialog1 . Dispose ( )
2024-05-29 03:16:22 +02:00
End Sub
2024-06-21 22:02:34 +02:00
Public Sub PripraviDatotekoGsi ( )
If OpenFileDialogTocke . ShowDialog = DialogResult . OK Then
RichTextBox1 . Clear ( )
Dim streamReader As StreamReader = New StreamReader ( OpenFileDialogTocke . FileName )
Do Until streamReader . EndOfStream
streamLines = streamLines + 1
Dim readLine As String = streamReader . ReadLine ( ) . Replace ( " " , vbTab )
readLine = readLine . Replace ( " ; " , vbTab )
readLine = readLine . Replace ( " . " , " , " )
Dim line ( ) As String = readLine . Split ( vbTab )
Dim podPtId As String = " *11 " + Format ( streamLines , " 0000 " ) + " + " + line ( 0 ) . PadLeft ( 16 , " 0 " ) + " "
Dim izrE As Double = line ( 1 ) * 1000
Dim podE As String = " 81..00+ " + Format ( izrE , " #0000000000000000 " ) + " "
Dim izrN As Double = line ( 2 ) * 1000
Dim podN As String = " 82..00+ " + Format ( izrN , " #0000000000000000 " ) + " "
Dim izrH As Double = line ( 3 ) * 1000
Dim podH As String = " 83..00+ " + Format ( izrH , " #0000000000000000 " ) + " "
' Dim podE As String = "81..00+" + izrE2.PadLeft(16, "0") + " "
RichTextBox1 . AppendText ( podPtId + podE + podN + podH + vbCrLf )
Loop
ToolStripProgressBar1 . Maximum = streamLines
streamReader . Close ( )
streamReader . Dispose ( )
ToolStripStatusLabel1 . Text = " Prebrano: " + streamLines . ToString + " / " + ToolStripProgressBar1 . Maximum . ToString + " vrstic "
SaveFileDialog1 . Filter = " GSI datoteka|*.GSI "
SaveFileDialog1 . FileName = Path . GetFileNameWithoutExtension ( OpenFileDialogTocke . FileName )
tsbSaveAs . Enabled = True
ShraniToolStripMenuItem . Enabled = True
tsbSaveAs . Text = " Shrani GSI "
End If
End Sub
Public Sub ShraniDatoteko ( )
SaveFileDialog1 . FileName = Path . GetFileNameWithoutExtension ( OpenFileDialog1 . FileName )
SaveFileDialog1 . InitialDirectory = My . Settings . MapaShrani
If SaveFileDialog1 . ShowDialog = DialogResult . OK Then
RichTextBox1 . SaveFile ( SaveFileDialog1 . FileName , RichTextBoxStreamType . PlainText )
My . Computer . FileSystem . WriteAllText ( DatotekaLogfile , System . DateTime . Now . ToString ( " yyyy/MM/dd HH:mm:ss " ) + " | " + OpenFileDialog1 . FileName . ToString + " -> " + SaveFileDialog1 . FileName . ToString + vbCrLf , True )
My . Settings . MapaShrani = Path . GetDirectoryName ( SaveFileDialog1 . FileName )
My . Settings . Save ( )
ToolStripStatusLabel1 . Text = " Datoteka shranjena >>> " + SaveFileDialog1 . FileName . ToString
RichTextBox1 . BackColor = SystemColors . ControlLightLight
ShraniToolStripMenuItem . Enabled = False
End If
End Sub
Public streamLines As Integer = 0
2024-05-29 03:16:22 +02:00
Private Sub tsbConvert_Click ( sender As Object , e As EventArgs ) Handles tsbConvert . Click
2024-06-10 20:57:35 +02:00
ToolStripStatusLabel1 . Text = " Procesiranje... "
2024-05-29 03:16:22 +02:00
RichTextBox1 . Clear ( )
2024-06-10 20:57:35 +02:00
RichTextBox1 . BackColor = SystemColors . Info
2024-06-13 04:25:40 +02:00
RichTextBox1 . AppendText ( " TPS 1100 Zapisnik " + vbCrLf + " ++++++++++++++++++++++ " + vbCrLf )
2024-06-10 20:57:35 +02:00
ToolStripProgressBar1 . Maximum = streamLines
2024-05-29 03:16:22 +02:00
' prepare StreamReader
Dim streamReader As StreamReader = New StreamReader ( OpenFileDialog1 . FileName )
Dim i As Integer = 0
2024-06-10 20:57:35 +02:00
Dim PodatkiStojisce As Boolean = False
Dim dataStolpci As String = " "
2024-06-13 04:25:40 +02:00
If My . Settings . Stolpci = 0 Then
2024-06-10 20:57:35 +02:00
dataStolpci = " "
2024-06-13 04:25:40 +02:00
ElseIf My . Settings . Stolpci = 1 Then
2024-06-10 20:57:35 +02:00
dataStolpci = vbTab
End If
2024-06-13 04:25:40 +02:00
Dim dataKoda As String = " "
2024-05-29 03:16:22 +02:00
' 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-10 20:57:35 +02:00
ToolStripProgressBar1 . Value = i
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
2024-06-10 20:57:35 +02:00
RichTextBox1 . AppendText ( vbCrLf + " Station: " + vbCrLf + " **************** " + vbCrLf )
2024-06-13 04:25:40 +02:00
RichTextBox1 . AppendText ( " PtID " + dataStolpci + " HzCor " + dataStolpci + " StnE " + dataStolpci + " StnN " + dataStolpci + " StnH " + dataStolpci + " RefHt " + dataStolpci + " InstHt " + vbCrLf )
2024-05-29 03:16:22 +02:00
End If
If Microsoft . VisualBasic . Left ( line ( 1 ) , 2 ) = " 84 " Then
2024-06-10 20:57:35 +02:00
RichTextBox1 . AppendText ( vbCrLf + " Station: " + vbCrLf + " **************** " + vbCrLf )
2024-06-13 04:25:40 +02:00
RichTextBox1 . AppendText ( " PtID " + dataStolpci + " StnE " + dataStolpci + " StnN " + dataStolpci + " StnH " + dataStolpci + " RefHt " + dataStolpci + " InstHt " + vbCrLf )
2024-05-29 03:16:22 +02:00
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
2024-06-10 20:57:35 +02:00
Dim dataTmp As String
2024-05-29 03:16:22 +02:00
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
2024-06-10 20:57:35 +02:00
data = dataStolpci + " DateTime= " + Microsoft . VisualBasic . Right ( data , 8 )
2024-05-29 03:16:22 +02:00
ElseIf wordIndex = " 21 " Then ' Horizontal angle
numData = data / 100000
2024-06-10 20:57:35 +02:00
data = dataStolpci + Format ( numData , " 0.0000 " )
2024-05-29 03:16:22 +02:00
ElseIf wordIndex = " 22 " Then ' Vertical angle
numData = data / 100000
2024-06-10 20:57:35 +02:00
data = dataStolpci + Format ( numData , " 0.0000 " )
2024-05-29 03:16:22 +02:00
ElseIf wordIndex = " 25 " Then ' Hz. Orientation correction
numData = data / 100000
2024-06-10 20:57:35 +02:00
data = dataStolpci + Format ( numData , " 0.0000 " )
2024-05-29 03:16:22 +02:00
ElseIf wordIndex = " 31 " Then ' Slope distance
numData = data / 1000
2024-06-10 20:57:35 +02:00
data = dataStolpci + Format ( numData , " 0.000 " )
2024-05-29 03:16:22 +02:00
ElseIf wordIndex = " 32 " Then ' Horizontal distance
numData = data / 1000
2024-06-10 20:57:35 +02:00
data = dataStolpci + Format ( numData , " 0.000 " )
2024-05-29 03:16:22 +02:00
ElseIf wordIndex = " 33 " Then ' Height difference
numData = data / 1000
2024-06-10 20:57:35 +02:00
data = dataStolpci + Format ( numData , " 0.000 " )
2024-05-29 03:16:22 +02:00
ElseIf wordIndex = " 34 " Then ' Stationing
numData = data / 1000
2024-06-10 20:57:35 +02:00
data = dataStolpci + " Station= " + Format ( numData , " 0.000 " )
2024-05-29 03:16:22 +02:00
ElseIf wordIndex = " 35 " Then ' Info za offset???
numData = data / 1000
2024-06-10 20:57:35 +02:00
data = dataStolpci + " Offset= " + Format ( numData , " 0.000 " )
2024-05-29 03:16:22 +02:00
ElseIf wordIndex = " 41 " Then ' Code
'numData = data
2024-06-13 04:25:40 +02:00
dataKoda = Microsoft . VisualBasic . Right ( data , 16 ) . TrimStart ( " 0 "c )
2024-06-11 02:02:19 +02:00
If My . Settings . KodeUporabnik = " Da " Then
2024-06-13 04:25:40 +02:00
If dataKoda = My . Settings . KodaQuickSet Then
data = vbCrLf + " Setup: Quick Set " + vbCrLf + " ====================== " + vbCrLf + " Hz " + dataStolpci + " V " + dataStolpci + " SD "
2024-06-10 20:57:35 +02:00
PodatkiStojisce = True
2024-05-29 03:16:22 +02:00
End If
2024-06-13 04:25:40 +02:00
If dataKoda = My . Settings . KodaSetAzi Then
data = vbCrLf + " Setup: Set Hz " + vbCrLf + " ====================== " + vbCrLf + " PtID " + dataStolpci + " HZ " + dataStolpci + " V " + dataStolpci + " SD " + dataStolpci + " HD " + dataStolpci + " RefHt " + dataStolpci + " PrCons " + dataStolpci + " HtDif " + dataStolpci + " PtCode "
2024-06-10 20:57:35 +02:00
PodatkiStojisce = True
2024-05-29 03:16:22 +02:00
End If
2024-06-13 04:25:40 +02:00
If dataKoda = My . Settings . KodaResection Then
data = vbCrLf + " Setup: Resection " + vbCrLf + " ====================== " + vbCrLf + " PtID " + dataStolpci + " HZ " + dataStolpci + " V " + dataStolpci + " SD " + dataStolpci + " HD " + dataStolpci + " RefHt " + dataStolpci + " PrCons " + dataStolpci + " HtDif " + dataStolpci + " PtCode "
2024-06-10 20:57:35 +02:00
PodatkiStojisce = True
2024-05-29 03:16:22 +02:00
End If
2024-06-13 04:25:40 +02:00
If dataKoda = My . Settings . KodaFreeStation Then
data = vbCrLf + " Setup: Free Station " + vbCrLf + " ====================== " + vbCrLf + " PtID " + dataStolpci + " HZ " + dataStolpci + " V " + dataStolpci + " SD " + dataStolpci + " HD " + dataStolpci + " RefHt " + dataStolpci + " PrCons " + dataStolpci + " HtDif " + dataStolpci + " PtCode "
2024-06-10 20:57:35 +02:00
PodatkiStojisce = True
2024-05-29 03:16:22 +02:00
End If
2024-06-13 04:25:40 +02:00
If dataKoda = My . Settings . KodaOriHtTrans Then
data = vbCrLf + " Setup: Orientation & Ht. transfer " + vbCrLf + " ====================== " + vbCrLf + " PtID " + dataStolpci + " HZ " + dataStolpci + " V " + dataStolpci + " SD " + dataStolpci + " HD " + dataStolpci + " RefHt " + dataStolpci + " PrCons " + dataStolpci + " HtDif " + dataStolpci + " PtCode "
2024-06-10 20:57:35 +02:00
PodatkiStojisce = True
2024-05-29 03:16:22 +02:00
End If
2024-06-13 04:25:40 +02:00
If dataKoda = My . Settings . KodaMeasOri Then
2024-06-22 01:26:51 +02:00
data = vbCrLf + " Meritve Orientacije " + vbCrLf + " ---------------------- " + vbCrLf + " PtID " + dataStolpci + " Azi " + dataStolpci + " V " + dataStolpci + " SD " + dataStolpci + " HD " + dataStolpci + " RefHt " + dataStolpci + " PrCons " + dataStolpci + " HtDif " + dataStolpci + " E " + dataStolpci + " N " + dataStolpci + " H " + dataStolpci + " PtCode "
2024-06-13 04:25:40 +02:00
PodatkiStojisce = False
End If
If dataKoda = My . Settings . KodaMeas Then
2024-06-22 01:26:51 +02:00
data = vbCrLf + " Merjeno " + vbCrLf + " ---------------------- " + vbCrLf + " PtID " + dataStolpci + " Azi " + dataStolpci + " V " + dataStolpci + " SD " + dataStolpci + " HD " + dataStolpci + " RefHt " + dataStolpci + " PrCons " + dataStolpci + " HtDif " + dataStolpci + " E " + dataStolpci + " N " + dataStolpci + " H " + dataStolpci + " PtCode "
2024-06-10 20:57:35 +02:00
PodatkiStojisce = False
2024-05-29 03:16:22 +02:00
End If
2024-06-13 04:25:40 +02:00
If dataKoda = My . Settings . KodaUserImport Then
2024-06-22 01:26:51 +02:00
data = vbCrLf + " Uvoz/Ročni vnos " + vbCrLf + " ---------------------- " + vbCrLf + " PtID " + dataStolpci + " E " + dataStolpci + " N " + dataStolpci + " H "
2024-06-10 20:57:35 +02:00
PodatkiStojisce = False
2024-05-29 03:16:22 +02:00
End If
2024-06-16 05:10:11 +02:00
If dataKoda = My . Settings . KodaStojisce Then
2024-06-22 01:26:51 +02:00
data = vbCrLf + " Stojišče Info " + vbCrLf + " ---------------------- " + vbCrLf + " StID " + dataStolpci + " InstHt " + vbCrLf
2024-06-16 05:10:11 +02:00
PodatkiStojisce = False
End If
If dataKoda = My . Settings . KodaStojisceInfo Then
2024-06-22 01:26:51 +02:00
data = vbCrLf + " Temp./Pritisk " + vbCrLf + " ---------------------- " + vbCrLf + " Temp " + dataStolpci + " Pritisk " + vbCrLf
2024-06-19 21:00:35 +02:00
PodatkiStojisce = False
End If
If dataKoda = My . Settings . KodaStojisceOri Then
2024-06-22 01:26:51 +02:00
data = vbCrLf + " Orientacija Info " + vbCrLf + " ---------------------- " + vbCrLf + " OrID " + dataStolpci + " Hz " + vbCrLf
2024-06-16 05:10:11 +02:00
PodatkiStojisce = False
End If
2024-06-13 04:25:40 +02:00
If dataKoda = " STA_OFFS " Then
data = " Offsets: " + vbCrLf
2024-06-10 20:57:35 +02:00
PodatkiStojisce = False
2024-05-29 03:16:22 +02:00
End If
End If
ElseIf wordIndex = " 42 " Then ' Code: Info 1
2024-06-10 20:57:35 +02:00
data = dataStolpci + " Info1= " + Microsoft . VisualBasic . Right ( data , 16 ) . TrimStart ( " 0 "c )
2024-05-29 03:16:22 +02:00
ElseIf wordIndex = " 43 " Then ' Code: Info 2
2024-06-10 20:57:35 +02:00
data = dataStolpci + " Info2= " + Microsoft . VisualBasic . Right ( data , 16 ) . TrimStart ( " 0 "c )
2024-05-29 03:16:22 +02:00
ElseIf wordIndex = " 44 " Then ' Code: Info 3
2024-06-10 20:57:35 +02:00
data = dataStolpci + " Info3= " + Microsoft . VisualBasic . Right ( data , 16 ) . TrimStart ( " 0 "c )
2024-05-29 03:16:22 +02:00
ElseIf wordIndex = " 45 " Then ' Code: Info 4
2024-06-10 20:57:35 +02:00
data = dataStolpci + " Info4= " + Microsoft . VisualBasic . Right ( data , 16 ) . TrimStart ( " 0 "c )
2024-05-29 03:16:22 +02:00
ElseIf wordIndex = " 47 " Then ' Code: Info 6
2024-06-10 20:57:35 +02:00
data = dataStolpci + " Info6= " + Microsoft . VisualBasic . Right ( data , 16 ) . TrimStart ( " 0 "c )
2024-05-29 03:16:22 +02:00
ElseIf wordIndex = " 58 " Then ' Prism constant
numData = data / 10000
2024-06-13 04:25:40 +02:00
data = dataStolpci + Format ( numData , " 0.0000 " )
2024-06-19 21:00:35 +02:00
ElseIf wordIndex = " 71 " Then ' Point Code
2024-06-10 20:57:35 +02:00
dataTmp = Microsoft . VisualBasic . Right ( data , 16 ) . TrimStart ( " 0 "c )
2024-06-16 05:10:11 +02:00
If dataKoda = My . Settings . KodaStojisce Then
data = dataTmp
2024-06-19 21:00:35 +02:00
End If
If dataKoda = My . Settings . KodaStojisceInfo Then
data = dataTmp
End If
If dataKoda = My . Settings . KodaStojisceOri Then
data = dataTmp
End If
If dataTmp = " " Then
data = " "
End If
ElseIf wordIndex = " 72 " Then ' Point Code
dataTmp = Microsoft . VisualBasic . Right ( data , 16 ) . TrimStart ( " 0 "c )
If dataKoda = My . Settings . KodaStojisce Then
Dim dataNum As Double
dataNum = dataTmp / 1000
data = dataStolpci + Format ( dataNum , " 0.000 " )
End If
If dataKoda = My . Settings . KodaStojisceInfo Then
2024-06-10 20:57:35 +02:00
data = dataStolpci + dataTmp
End If
2024-06-19 21:00:35 +02:00
If dataKoda = My . Settings . KodaStojisceOri Then
Dim dataNum As Double
dataNum = dataTmp / 100000
data = dataStolpci + Format ( dataNum , " 0.0000 " )
End If
2024-06-11 06:28:09 +02:00
ElseIf wordIndex = " 79 " Then ' Point Code
dataTmp = Microsoft . VisualBasic . Right ( data , 16 ) . TrimStart ( " 0 "c )
If dataTmp = " " Then
data = " "
Else
data = dataStolpci + dataTmp
End If
2024-06-10 20:57:35 +02:00
ElseIf wordIndex = " 81 " And PodatkiStojisce = False Then ' Target Easting
2024-05-29 03:16:22 +02:00
numData = data / 1000
2024-06-10 20:57:35 +02:00
data = dataStolpci + Format ( numData , " 0.000 " )
ElseIf wordIndex = " 82 " And PodatkiStojisce = False Then ' Target Northing
2024-05-29 03:16:22 +02:00
numData = data / 1000
2024-06-10 20:57:35 +02:00
data = dataStolpci + Format ( numData , " 0.000 " )
ElseIf wordIndex = " 83 " And PodatkiStojisce = False Then ' Target Height
2024-05-29 03:16:22 +02:00
numData = data / 1000
2024-06-10 20:57:35 +02:00
data = dataStolpci + Format ( numData , " 0.000 " )
2024-05-29 03:16:22 +02:00
ElseIf wordIndex = " 84 " Then ' Station Easting
numData = data / 1000
2024-06-10 20:57:35 +02:00
data = dataStolpci + Format ( numData , " 0.000 " )
2024-05-29 03:16:22 +02:00
ElseIf wordIndex = " 85 " Then ' Station Northing
numData = data / 1000
2024-06-10 20:57:35 +02:00
data = dataStolpci + Format ( numData , " 0.000 " )
2024-05-29 03:16:22 +02:00
ElseIf wordIndex = " 86 " Then ' Station Height
numData = data / 1000
2024-06-10 20:57:35 +02:00
data = dataStolpci + Format ( numData , " 0.000 " )
2024-05-29 03:16:22 +02:00
ElseIf wordIndex = " 87 " Then ' Reflector height
numData = data / 1000
2024-06-10 20:57:35 +02:00
data = dataStolpci + Format ( numData , " 0.000 " )
2024-05-29 03:16:22 +02:00
ElseIf wordIndex = " 88 " Then ' Instriment height
numData = data / 1000
2024-06-10 20:57:35 +02:00
data = dataStolpci + Format ( numData , " 0.000 " )
2024-05-29 03:16:22 +02:00
ElseIf wordIndex = " 18 " Then ' DATE YY.ss
numData = data / 1000000
2024-06-10 20:57:35 +02:00
data = dataStolpci + " Year.Sec= " + Format ( numData , " 0.00 " )
2024-05-29 03:16:22 +02:00
Else
numData = 0
2024-06-10 20:57:35 +02:00
data = " "
2024-05-29 03:16:22 +02:00
End If
2024-06-13 04:25:40 +02:00
If My . Settings . DecimalnoLocilo = " Pika " Then
2024-05-29 03:16:22 +02:00
If wordIndex IsNot " 11 " Then
data = data . ToString . Replace ( " , " , " . " )
End If
End If
2024-06-10 20:57:35 +02:00
RichTextBox1 . AppendText ( data )
2024-05-29 03:16:22 +02:00
End If
Next
RichTextBox1 . AppendText ( vbCrLf )
2024-06-10 20:57:35 +02:00
i = i + 1
2024-05-29 03:16:22 +02:00
Loop
2024-06-13 04:25:40 +02:00
streamReader . Close ( )
2024-06-10 20:57:35 +02:00
ToolStripStatusLabel1 . Text = " Prebrano: " + i . ToString + " / " + ToolStripProgressBar1 . Maximum . ToString + " vrstic "
2024-05-29 03:16:22 +02:00
SaveFileDialog1 . Filter = " Zapisnik meritve|*.mer|Text file|*.txt|All files|*.* "
tsbSaveAs . Enabled = True
2024-06-21 22:02:34 +02:00
ShraniToolStripMenuItem . Enabled = True
2024-05-29 03:16:22 +02:00
tsbSaveAs . Text = " Shrani Zapisnik "
End Sub
Private Sub tsbPointsOnly_Click ( sender As Object , e As EventArgs ) Handles tsbPointsOnly . Click
2024-06-10 20:57:35 +02:00
Dim dataStolpci As String = " "
2024-06-13 04:25:40 +02:00
If My . Settings . Stolpci = 0 Then
2024-06-10 20:57:35 +02:00
dataStolpci = " "
2024-06-13 04:25:40 +02:00
ElseIf My . Settings . Stolpci = 1 Then
2024-06-10 20:57:35 +02:00
dataStolpci = vbTab
End If
2024-06-13 04:25:40 +02:00
2024-05-29 03:16:22 +02:00
RichTextBox1 . Clear ( )
2024-06-10 20:57:35 +02:00
RichTextBox1 . BackColor = SystemColors . Info
2024-06-11 05:50:51 +02:00
Dim measuredPoints As Integer = 0
Dim dataKoda As Integer = 0
2024-05-29 03:16:22 +02:00
Dim streamReader As StreamReader = New StreamReader ( OpenFileDialog1 . FileName )
2024-06-10 20:57:35 +02:00
Dim i As Integer = 0
Dim lin As Integer = 0
2024-05-29 03:16:22 +02:00
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-11 05:50:51 +02:00
If Microsoft . VisualBasic . Left ( line ( 0 ) , 2 ) = " 41 " Then
dataKoda = 1
Else
dataKoda = 0
End If
2024-06-10 20:57:35 +02:00
ToolStripProgressBar1 . Value = i
2024-06-13 04:25:40 +02:00
'If Microsoft.VisualBasic.Left(line(1), 2) = "81" Then
' measuredPoints = 1
'Else
If Microsoft . VisualBasic . Left ( line ( 1 ) , 2 ) = " 25 " Or Microsoft . VisualBasic . Left ( line ( 1 ) , 2 ) = " 84 " Then
2024-06-11 05:50:51 +02:00
measuredPoints = 2
2024-05-29 03:16:22 +02:00
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
Dim data As String
Dim numData As Double
2024-06-13 04:25:40 +02:00
wordIndex = Microsoft . VisualBasic . Left ( readLine , 2 )
2024-05-29 03:16:22 +02:00
data = Microsoft . VisualBasic . Right ( readLine , 17 )
If wordIndex = " 41 " Then
2024-06-13 04:25:40 +02:00
Dim dataInfo As String = Microsoft . VisualBasic . Right ( readLine , 16 ) . TrimStart ( " 0 "c )
2024-06-19 21:00:35 +02:00
If dataInfo = My . Settings . KodaMeas Then
2024-05-29 03:16:22 +02:00
measuredPoints = 1
2024-06-13 04:25:40 +02:00
ElseIf dataInfo = My . Settings . KodaUserImport Then
2024-06-10 20:57:35 +02:00
measuredPoints = 2
2024-06-16 05:10:11 +02:00
ElseIf dataInfo = My . Settings . KodaMeasOri Then
measuredPoints = 3
2024-06-13 04:25:40 +02:00
Else
measuredPoints = 0
2024-05-29 03:16:22 +02:00
End If
End If
2024-06-11 05:50:51 +02:00
If wordIndex = " 71 " And measuredPoints >= 1 Then ' Point Code
data = Microsoft . VisualBasic . Right ( data , 16 ) . TrimStart ( " 0 "c )
If data = " " Then
' nič
Else
RichTextBox1 . AppendText ( dataStolpci + data )
End If
End If
2024-06-10 20:57:35 +02:00
If wordIndex = " 11 " And measuredPoints >= 1 Then
2024-05-29 03:16:22 +02:00
data = Microsoft . VisualBasic . Right ( data , 16 ) . TrimStart ( " 0 "c )
2024-06-11 05:50:51 +02:00
RichTextBox1 . AppendText ( data )
2024-06-10 20:57:35 +02:00
i = i + 1
ElseIf wordIndex = " 81 " And measuredPoints >= 1 Then ' Target Easting
2024-05-29 03:16:22 +02:00
numData = data / 1000
data = Format ( numData , " 0.000 " )
2024-06-13 04:25:40 +02:00
If My . Settings . DecimalnoLocilo = " Pika " Then
2024-05-29 03:16:22 +02:00
data = data . ToString . Replace ( " , " , " . " )
End If
2024-06-11 05:50:51 +02:00
RichTextBox1 . AppendText ( dataStolpci + data )
2024-06-10 20:57:35 +02:00
ElseIf wordIndex = " 82 " And measuredPoints >= 1 Then ' Target Northing
2024-05-29 03:16:22 +02:00
numData = data / 1000
data = Format ( numData , " 0.000 " )
2024-06-13 04:25:40 +02:00
If My . Settings . DecimalnoLocilo = " Pika " Then
2024-05-29 03:16:22 +02:00
data = data . ToString . Replace ( " , " , " . " )
End If
2024-06-11 05:50:51 +02:00
RichTextBox1 . AppendText ( dataStolpci + data )
2024-06-10 20:57:35 +02:00
ElseIf wordIndex = " 83 " And measuredPoints >= 1 Then ' Target Height
2024-05-29 03:16:22 +02:00
numData = data / 1000
data = Format ( numData , " 0.000 " )
2024-06-13 04:25:40 +02:00
If My . Settings . DecimalnoLocilo = " Pika " Then
2024-05-29 03:16:22 +02:00
data = data . ToString . Replace ( " , " , " . " )
End If
2024-06-16 05:10:11 +02:00
If measuredPoints = 1 Then
2024-06-11 05:50:51 +02:00
RichTextBox1 . AppendText ( dataStolpci + data + dataStolpci + " MEAS " )
2024-06-16 05:10:11 +02:00
ElseIf measuredPoints = 2 Then
RichTextBox1 . AppendText ( dataStolpci + data + dataStolpci + " REF " )
ElseIf measuredPoints = 3 Then
RichTextBox1 . AppendText ( dataStolpci + data + dataStolpci + " ORI " )
2024-06-10 20:57:35 +02:00
End If
2024-06-13 04:25:40 +02:00
ElseIf wordIndex = " 84 " And measuredPoints >= 1 Then ' Station Easting
2024-05-29 03:16:22 +02:00
numData = data / 1000
data = Format ( numData , " 0.000 " )
2024-06-13 04:25:40 +02:00
If My . Settings . DecimalnoLocilo = " Pika " Then
2024-05-29 03:16:22 +02:00
data = data . ToString . Replace ( " , " , " . " )
End If
2024-06-11 05:50:51 +02:00
RichTextBox1 . AppendText ( dataStolpci + data )
2024-06-13 04:25:40 +02:00
ElseIf wordIndex = " 85 " And measuredPoints >= 1 Then ' Station Northing
2024-05-29 03:16:22 +02:00
numData = data / 1000
data = Format ( numData , " 0.000 " )
2024-06-13 04:25:40 +02:00
If My . Settings . DecimalnoLocilo = " Pika " Then
2024-05-29 03:16:22 +02:00
data = data . ToString . Replace ( " , " , " . " )
End If
2024-06-11 05:50:51 +02:00
RichTextBox1 . AppendText ( dataStolpci + data )
2024-06-13 04:25:40 +02:00
ElseIf wordIndex = " 86 " And measuredPoints >= 1 Then ' Station Height
2024-05-29 03:16:22 +02:00
numData = data / 1000
data = Format ( numData , " 0.000 " )
2024-06-13 04:25:40 +02:00
If My . Settings . DecimalnoLocilo = " Pika " Then
2024-05-29 03:16:22 +02:00
data = data . ToString . Replace ( " , " , " . " )
End If
2024-06-11 05:50:51 +02:00
RichTextBox1 . AppendText ( dataStolpci + data + dataStolpci + " STA " )
2024-05-29 03:16:22 +02:00
Else
numData = 0
data = " "
End If
End If
Next
2024-06-11 05:50:51 +02:00
If dataKoda = 0 And measuredPoints >= 1 Then
RichTextBox1 . AppendText ( vbCrLf )
End If
2024-06-10 20:57:35 +02:00
lin = lin + 1
ToolStripProgressBar1 . Value = lin
2024-05-29 03:16:22 +02:00
Loop
2024-06-10 20:57:35 +02:00
ToolStripStatusLabel1 . Text = " Prebrano točk: " + i . ToString
2024-06-13 04:25:40 +02:00
SaveFileDialog1 . Filter = " KOO|*.koo|TXT|*.txt|All files|*.* "
2024-05-29 03:16:22 +02:00
streamReader . Close ( )
tsbSaveAs . Enabled = True
2024-06-21 22:02:34 +02:00
ShraniToolStripMenuItem . Enabled = True
2024-05-29 03:16:22 +02:00
tsbSaveAs . Text = " Shrani Točke "
End Sub
2024-06-19 21:00:35 +02:00
' Priprava GEO datoteke
2024-06-16 05:10:11 +02:00
Private Sub ToolStripButtonGeo_Click ( sender As Object , e As EventArgs ) Handles ToolStripButtonGeo . Click
RichTextBox1 . Clear ( )
RichTextBox1 . BackColor = Color . LemonChiffon
Dim measuredPoints As Integer = 0
Dim dataKoda As String = " "
Dim streamReader As StreamReader = New StreamReader ( OpenFileDialog1 . FileName )
Dim i As Integer = 0
Dim lin As Integer = 0
2024-06-19 21:00:35 +02:00
Dim infoTemp As String = " 20 "
Dim infoPress As String = " 759.81 "
2024-06-16 05:10:11 +02:00
2024-06-19 21:00:35 +02:00
' Branje datoteke
2024-06-16 05:10:11 +02:00
Do Until streamReader . EndOfStream
2024-06-19 21:00:35 +02:00
' Beri datoteko po vrsticah, razdelitev na posamezne podatke (array)
2024-06-16 05:10:11 +02:00
Dim line ( ) As String = streamReader . ReadLine ( ) . Split ( " " )
2024-06-19 21:00:35 +02:00
line ( 0 ) = Replace ( line ( 0 ) , " * " , " " ) ' Odstrani * na začetku vrstice
Dim izpisText As String = " "
2024-06-16 05:10:11 +02:00
If Microsoft . VisualBasic . Left ( line ( 0 ) , 2 ) = " 41 " Then
2024-06-19 21:00:35 +02:00
2024-06-16 05:10:11 +02:00
dataKoda = Microsoft . VisualBasic . Right ( line ( 0 ) , 16 ) . TrimStart ( " 0 "c )
2024-06-19 21:00:35 +02:00
If dataKoda = My . Settings . KodaStojisce Then
Dim infoSta As String
infoSta = Microsoft . VisualBasic . Right ( line ( 1 ) , 16 ) . TrimStart ( " 0 "c )
Dim infoStaHt As String
infoStaHt = Microsoft . VisualBasic . Right ( line ( 2 ) , 17 ) . TrimStart ( " 0 "c )
Dim numStaHt As Double
numStaHt = infoStaHt / 1000
izpisText = infoSta + " " + Format ( numStaHt , " 0.000 " ) . ToString + vbCrLf
measuredPoints = 0
End If
' Nastavi podatke o temperaturi in pritisku, če je podana koda za "KodaStojisceInfo"
' Sicer uporabi prednastavljene vrednosti "infoTemp" in "infoPress"
If dataKoda = My . Settings . KodaStojisceInfo Then
infoTemp = Microsoft . VisualBasic . Right ( line ( 1 ) , 16 ) . TrimStart ( " 0 "c )
infoPress = Microsoft . VisualBasic . Right ( line ( 2 ) , 16 ) . TrimStart ( " 0 "c )
Dim numPress As Double
numPress = infoPress * 0 . 750062
infoPress = Format ( numPress , " 0.00 " ) . ToString
2024-06-22 01:26:51 +02:00
'If measuredPoints = 0 Then
' izpisText = infoTemp + " " + infoPress + vbCrLf
'End If
2024-06-21 22:02:34 +02:00
2024-06-19 21:00:35 +02:00
measuredPoints = 0
End If
If dataKoda = My . Settings . KodaStojisceOri Then
Dim infoOri As String
infoOri = Microsoft . VisualBasic . Right ( line ( 1 ) , 16 ) . TrimStart ( " 0 "c )
Dim infoOriHz As String
infoOriHz = Microsoft . VisualBasic . Right ( line ( 2 ) , 17 ) . TrimStart ( " 0 "c )
Dim numOriHz As Double
numOriHz = infoOriHz / 100000
izpisText = infoOri + " " + Format ( numOriHz , " 0.0000 " ) . ToString + vbCrLf
measuredPoints = 0
End If
If dataKoda = My . Settings . KodaUserImport Then
2024-06-21 22:02:34 +02:00
measuredPoints = 1
2024-06-16 05:10:11 +02:00
End If
If dataKoda = My . Settings . KodaMeasOri Then
2024-06-19 21:00:35 +02:00
izpisText = infoTemp + " " + infoPress + vbCrLf
2024-06-16 05:10:11 +02:00
measuredPoints = 0
End If
2024-06-19 21:00:35 +02:00
If dataKoda = My . Settings . KodaMeas Then
izpisText = " 0 0 " + vbCrLf
measuredPoints = 1
End If
If dataKoda = My . Settings . KodaQuickSet And lin > 0 And measuredPoints = 1 Then
2024-06-16 05:10:11 +02:00
izpisText = " -1 0 0 0 0 " + vbCrLf
measuredPoints = 0
End If
2024-06-19 21:00:35 +02:00
If dataKoda = My . Settings . KodaSetAzi And lin > 0 And measuredPoints = 1 Then
2024-06-16 05:10:11 +02:00
izpisText = " -1 0 0 0 0 " + vbCrLf
measuredPoints = 0
End If
2024-06-19 21:00:35 +02:00
If dataKoda = My . Settings . KodaResection And lin > 0 And measuredPoints = 1 Then
2024-06-16 05:10:11 +02:00
izpisText = " -1 0 0 0 0 " + vbCrLf
measuredPoints = 0
End If
2024-06-19 21:00:35 +02:00
If dataKoda = My . Settings . KodaFreeStation And lin > 0 And measuredPoints = 1 Then
2024-06-16 05:10:11 +02:00
izpisText = " -1 0 0 0 0 " + vbCrLf
measuredPoints = 0
End If
2024-06-19 21:00:35 +02:00
If dataKoda = My . Settings . KodaOriHtTrans And lin > 0 And measuredPoints = 1 Then
2024-06-16 05:10:11 +02:00
izpisText = " -1 0 0 0 0 " + vbCrLf
measuredPoints = 0
End If
End If
If Microsoft . VisualBasic . Left ( line ( 0 ) , 2 ) = " 11 " Then
If dataKoda = My . Settings . KodaMeas Then
Dim dataId As String
dataId = Microsoft . VisualBasic . Right ( line ( 0 ) , 16 ) . TrimStart ( " 0 "c )
Dim dataAzi As String
dataAzi = Microsoft . VisualBasic . Right ( line ( 1 ) , 17 )
Dim numAzi As Double
numAzi = dataAzi / 100000
Dim dataV As String
dataV = Microsoft . VisualBasic . Right ( line ( 2 ) , 17 )
Dim numV As Double
numV = dataV / 100000
Dim dataSD As String
dataSD = Microsoft . VisualBasic . Right ( line ( 3 ) , 17 )
Dim numSD As Double
numSD = dataSD / 1000
Dim dataHr As String
dataHr = Microsoft . VisualBasic . Right ( line ( 5 ) , 17 )
Dim numHr As Double
numHr = dataHr / 1000
izpisText = dataId + " " + Format ( numAzi , " 0.0000 " ) . ToString + " " + Format ( numV , " 0.0000 " ) . ToString + " " + Format ( numSD , " 0.000 " ) . ToString + " " + Format ( numHr , " 0.000 " ) . ToString + vbCrLf
End If
If dataKoda = My . Settings . KodaMeasOri Then
Dim dataId As String
dataId = Microsoft . VisualBasic . Right ( line ( 0 ) , 16 ) . TrimStart ( " 0 "c )
Dim dataAzi As Double
dataAzi = Microsoft . VisualBasic . Right ( line ( 1 ) , 17 )
Dim numAzi As Double
numAzi = dataAzi / 100000
izpisText = dataId + " " + Format ( numAzi , " 0.0000 " ) . ToString + vbCrLf
End If
If dataKoda = My . Settings . KodaQuickSet Then
If Microsoft . VisualBasic . Left ( line ( 1 ) , 2 ) = " 84 " Then
Dim dataSta As String
dataSta = Microsoft . VisualBasic . Right ( line ( 0 ) , 16 ) . TrimStart ( " 0 "c )
Dim dataHi As Double
dataHi = Microsoft . VisualBasic . Right ( line ( 4 ) , 17 )
Dim numHi As Double
numHi = dataHi / 1000
izpisText = dataSta + " " + Format ( numHi , " 0.000 " ) . ToString + vbCrLf
End If
End If
' ElseIf dataKoda = My.Settings.KodaSetAzi Then
'
' ElseIf dataKoda = My.Settings.KodaResection Then
'
If dataKoda = My . Settings . KodaFreeStation Then
If Microsoft . VisualBasic . Left ( line ( 1 ) , 2 ) = " 25 " Then
Dim dataSta As String
dataSta = Microsoft . VisualBasic . Right ( line ( 0 ) , 16 ) . TrimStart ( " 0 "c )
Dim dataHi As Double
dataHi = Microsoft . VisualBasic . Right ( line ( 6 ) , 17 )
Dim numHi As Double
numHi = dataHi / 1000
izpisText = dataSta + " " + Format ( numHi , " 0.000 " ) . ToString + vbCrLf
End If
End If
' ElseIf dataKoda = My.Settings.KodaOriHtTrans Then
End If
RichTextBox1 . AppendText ( izpisText )
lin = lin + 1
ToolStripProgressBar1 . Value = lin
Loop
RichTextBox1 . AppendText ( " -1 0 0 0 0 " + vbCrLf )
streamReader . Close ( )
streamReader . Dispose ( )
ToolStripStatusLabel1 . Text = " Prebrano: " + lin . ToString + " / " + ToolStripProgressBar1 . Maximum . ToString + " vrstic "
SaveFileDialog1 . Filter = " GEO datoteka|*.GEO "
SaveFileDialog1 . FileName = Path . GetFileNameWithoutExtension ( OpenFileDialogTocke . FileName )
tsbSaveAs . Enabled = True
2024-06-21 22:02:34 +02:00
ShraniToolStripMenuItem . Enabled = True
2024-06-16 05:10:11 +02:00
tsbSaveAs . Text = " Shrani GEO "
End Sub
2024-06-19 21:00:35 +02:00
2024-06-21 22:02:34 +02:00
Private Sub InfoOAplikacijiToolStripMenuItem_Click ( sender As Object , e As EventArgs ) Handles InfoOAplikacijiToolStripMenuItem . 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")
SplashScreen1 . ShowDialog ( )
End Sub
Private Sub PripraviGSIToolStripMenuItem_Click ( sender As Object , e As EventArgs ) Handles PripraviGSIToolStripMenuItem . Click
2024-06-19 21:00:35 +02:00
Process . Start ( " Navodila.pdf " )
End Sub
2024-06-21 22:02:34 +02:00
Private Sub OdpriGSIToolStripMenuItem_Click ( sender As Object , e As EventArgs ) Handles OdpriGSIToolStripMenuItem . Click
FormNastavitve . ShowDialog ( )
End Sub
Private Sub OdpriGSIToolStripMenuItem1_Click ( sender As Object , e As EventArgs ) Handles OdpriGSIToolStripMenuItem1 . Click
OdpriDatotekoGsi ( )
End Sub
Private Sub tsbOpenFile_Click ( sender As Object , e As EventArgs ) Handles tsbOpenFile . Click
OdpriDatotekoGsi ( )
End Sub
Private Sub ToolStripButton1_Click ( sender As Object , e As EventArgs ) Handles ButtonUrediDat . Click
Form2 . ShowDialog ( )
End Sub
Private Sub ToolStripButtonNast_Click ( sender As Object , e As EventArgs )
FormNastavitve . ShowDialog ( )
End Sub
Private Sub ToolStripButtonPripravi_Click ( sender As Object , e As EventArgs ) Handles ToolStripButtonPripravi . Click
PripraviDatotekoGsi ( )
End Sub
Private Sub PripraviGSIToolStripMenuItem1_Click ( sender As Object , e As EventArgs ) Handles PripraviGSIToolStripMenuItem1 . Click
PripraviDatotekoGsi ( )
End Sub
Private Sub tsbSaveAs_Click ( sender As Object , e As EventArgs ) Handles tsbSaveAs . Click
ShraniDatoteko ( )
End Sub
Private Sub ShraniToolStripMenuItem_Click ( sender As Object , e As EventArgs ) Handles ShraniToolStripMenuItem . Click
ShraniDatoteko ( )
End Sub
Private Sub IzhodToolStripMenuItem_Click ( sender As Object , e As EventArgs ) Handles IzhodToolStripMenuItem . Click
Me . Close ( )
Application . Exit ( )
End Sub
2024-05-29 03:16:22 +02:00
End Class