diff --git a/.vscode/sftp.json b/.vscode/sftp.json new file mode 100644 index 0000000..97f64e7 --- /dev/null +++ b/.vscode/sftp.json @@ -0,0 +1,11 @@ +{ + "name": "MultiBox - my_webapp__3", + "host": "192.168.1.200", + "protocol": "sftp", + "port": 22, + "username": "root", + "remotePath": "/var/www/my_webapp__3/www", + "uploadOnSave": false, + "useTempFile": false, + "openSsh": false +} diff --git a/README.html b/README.html new file mode 100644 index 0000000..575a4cc --- /dev/null +++ b/README.html @@ -0,0 +1,42 @@ + + README + + + + + + + + + + + + + +
+ +

GeoPHP - TPS1100 Convert Online

+

PHP skeipta za izvoz koordinat točk iz datoteke GSI (za instrumente TPS1100).

+

logo

+

Made by Boris Bilc

+ +
+ + + + + + + + + + \ No newline at end of file diff --git a/icons8-error-48.png b/icons8-error-48.png new file mode 100644 index 0000000..2baa822 Binary files /dev/null and b/icons8-error-48.png differ diff --git a/index.php b/index.php index 0a9160c..52577d1 100644 --- a/index.php +++ b/index.php @@ -1,6 +1,6 @@ @@ -24,7 +24,7 @@ $version = "1.1"; } body { - background-color: rgba(22, 22, 22, 100.0); + background-color: rgba(25, 25, 25, 100.0); color: #e0e0e0; padding: 30px; } @@ -32,16 +32,22 @@ $version = "1.1"; h1 { color: deepskyblue; font-size: 1.8em; + font-weight: bold; } h2 { color: #FFDB23; font-size: 1.4em; + margin-top: 25px; + margin-bottom: 15px; } h3 { color: #FFDB23; font-size: 1.25em; + margin-top: 20px; + margin-bottom: 15px; + border-bottom: 1px solid #FFDB23; } hr { @@ -50,13 +56,17 @@ $version = "1.1"; } input { - margin: 2px; + margin-left: 12px; } table { color: #E0E0E0 !important; } + .info { + font-size: 10pt; + } + .table-on { color: #d1f200 !important; } @@ -105,38 +115,56 @@ $version = "1.1";

- TPS1100 Convert Online + TPS1100 Convert Online

- Aplikacija za izvoz koordinat točk iz datotek GSI (za instrumente TPS1100). + PHP skripta za procesiranje datotek GSI (za instrumente TPS1100).

+

+ Skripta omogoča izvoz koordinat točk z klasifikacijo.
+ Za pravilen izvoz z klasifikacijo je zahtevana uporaba kodiranja. Za GSI datoteke brez kodiranja uporabi opcijo "Seznam Točk (Brez Kodiranja) [PtId E N H]"
+ Kodiranje je opisano v navodilih aplikacije "TPS1100 Convert" za Windows OS.
+
+ TPS1100 Convert: Aplikacija | Prenos | Wiki | Navodila (PDF) +

+
+
-

- Datoteka za procesiranje (GSI) -

-
- +

+ Procesiranje GSI datoteke +

+

+ Naloži GSI datoteko za procesiranje... +


-
-

- Podatki & Format izvoza + Priprava Podatkov

- -
- -
+

+ Izberi način priprave za izvoz podatkov... +

- -
- +
+ +
+ +
+ +
+
+

+ Datoteka GSI mora vsebovati kodiranje podatkov za pravilno procesiranje. (Stojišča, Orientacije, Meritve, ...) +

- Datoteka + Format Datoteke

+

+ Izberi tip datoteke za izvoz... +

-
+


-


+

"; - print "Skripto pripravil: " . $madeby ."
"; + print "Verzija: " . $version . " | Izdelal: " . $madeby; ?>

diff --git a/obdelava.php b/obdelava.php index 85005f5..912fdfe 100644 --- a/obdelava.php +++ b/obdelava.php @@ -1,6 +1,6 @@ - @@ -24,16 +24,37 @@ } body { - background-color: rgba(0, 0, 0, 100.0); + background-color: rgba(30, 30, 30, 100.0); color: #e0e0e0; padding: 10px; font-family: 'Courier New', Courier, monospace; font-size: 12pt; } - h3 { - color: #FFDB23; - font-size: 1.3em; + h1 { + color: deepskyblue; + font-size: 1.8em; + font-weight: bold; + } + + h2 { + color: #FFDB23; + font-size: 1.4em; + margin-top: 25px; + margin-bottom: 15px; + } + + h3 { + color: #FFDB23; + font-size: 1.25em; + margin-top: 20px; + margin-bottom: 15px; + border-bottom: 1px solid #FFDB23; + } + + hr { + color: lightgrey; + border-color: darkorange; } table { @@ -87,7 +108,15 @@ - +

TPS1100 Convert Online

+

+ + MultiBox +

+
+ "; $uploadOk = 0; } else { - echo "Branje datoteke... " . basename($target_file) . "

"; + echo "Procesiranje datoteke >>> " . basename($target_file) . "

"; $uploadOk = 1; } } @@ -147,7 +176,7 @@ $down_url = "https://gps.multibox.nohost.me/points/"; $down_daturl = $down_url . $down_datnova; - print "Nova datoteka: " . basename($down_datnova) . " (Prenos)
Uporabi desni-klik in izberi opcijo 'Skrani kot.../Save As...'


"; + print "Nova datoteka: " . basename($down_datnova) . " (Prenos)

"; print "--------------------------------------------
"; // If the user file in existing directory already exist, delete it if (file_exists($down_datnova)) { @@ -251,7 +280,7 @@ die('file not found'); } else { print "--------------------------------------------
"; - print "Nova datoteka: " . basename($down_datnova) . " (Prenos)
Uporabi desni-klik in izberi opcijo 'Skrani kot.../Save As...'


"; + print "Nova datoteka: " . basename($down_datnova) . " (Prenos)

"; } } @@ -269,7 +298,7 @@ $down_url = "https://gps.multibox.nohost.me/points/"; $down_daturl = $down_url . $down_datnova; - print "Nova datoteka: " . basename($down_datnova) . " (Prenos)
Uporabi desni-klik in izberi opcijo 'Skrani kot.../Save As...'


"; + print "Nova datoteka: " . basename($down_datnova) . " (Prenos)

"; print "--------------------------------------------
"; // If the user file in existing directory already exist, delete it if (file_exists($down_datnova)) { @@ -323,17 +352,17 @@ } if ($merjene == 1) { $lineout = $pointid . "\t" . number_format($pointE, 3, ".", "") . "\t" . number_format($pointN, 3, ".", "") . "\t" . number_format($pointH, 3, ".", "") . "\tMEAS\r\n"; - print '
'. $lineout . '
'; + print '
' . $lineout . '
'; file_put_contents($down_datnova, $lineout, FILE_APPEND | LOCK_EX); } if ($merjene == 2) { $lineout = $pointid . "\t" . number_format($pointE, 3, ".", "") . "\t" . number_format($pointN, 3, ".", "") . "\t" . number_format($pointH, 3, ".", "") . "\tREF\r\n"; - print '
'. $lineout . '
'; + print '
' . $lineout . '
'; file_put_contents($down_datnova, $lineout, FILE_APPEND | LOCK_EX); } if ($merjene == 3) { $lineout = $pointid . "\t" . number_format($pointE, 3, ".", "") . "\t" . number_format($pointN, 3, ".", "") . "\t" . number_format($pointH, 3, ".", "") . "\tORI\r\n"; - print '
'. $lineout . '
'; + print '
' . $lineout . '
'; file_put_contents($down_datnova, $lineout, FILE_APPEND | LOCK_EX); } } @@ -358,7 +387,7 @@ } if ($pointSta == 1) { $lineout = $pointid . "\t" . number_format($pointE, 3, ".", "") . "\t" . number_format($pointN, 3, ".", "") . "\t" . number_format($pointH, 3, ".", "") . "\tSTA\r\n"; - print '
'. $lineout . '
'; + print '
' . $lineout . '
'; file_put_contents($down_datnova, $lineout, FILE_APPEND | LOCK_EX); } $pointSta = 0; @@ -373,7 +402,127 @@ die('file not found'); } else { print "--------------------------------------------
"; - print "Nova datoteka: " . basename($down_datnova) . " (Prenos)
Uporabi desni-klik in izberi opcijo 'Skrani kot.../Save As...'


"; + print "Nova datoteka: " . basename($down_datnova) . " (Prenos)

"; + } + } + + + // Funkcija za izvoz koordinat točk z klasifikacijo (GSI z kodami) + function izvoz_geoskripta($name) + { + $down_dir = "convert/"; + $down_datime = $down_dir . basename($_FILES["fileToUpload"]["name"]); + $down_datnova = str_replace(".GSI", ".GEO", $down_datime); + + $down_url = "https://gps.multibox.nohost.me/points/"; + $down_daturl = $down_url . $down_datnova; + print "Nova datoteka: " . basename($down_datnova) . " (Prenos)

"; + print "--------------------------------------------
"; + // If the user file in existing directory already exist, delete it + if (file_exists($down_datnova)) { + unlink($down_datnova); + } + $this->obdelavaTocke = $name; + $file_handle = fopen($name, "rb"); + $merjene = 0; + $stojisce = 0; + $kode_ok = 0; + + while (!feof($file_handle)) { + $line_of_text = fgets($file_handle); + $parts = explode(' ', $line_of_text); + $word_index = substr($parts[0], 1, 2); + $pointSta = 0; + + if ($word_index == 41) { + $kode_ok = 1; + $koda = ltrim(substr($parts[0], 8), "0"); + if ($koda == 99) { + $merjene = 2; + $stojisce = 0; + } elseif ($koda >= 90) { + $merjene = 1; + $stojisce = 0; + } elseif ($koda >= 80) { + $merjene = 3; + $stojisce = 0; + } elseif ($koda < 80) { + $merjene = 0; + $stojisce = 1; + } else { + $merjene = 0; + $stojisce = 0; + } + } + + if ($word_index == 11 && $merjene >= 1) { + $pointid = ltrim(substr($parts[0], 8), "0"); + + foreach ($parts as $datpart) { + $data_index = substr($datpart, 0, 2); + if ($data_index == 21) { + $pointHz = substr($datpart, 6) / 100000; + } + if ($data_index == 22) { + $pointV = substr($datpart, 6) / 100000; + } + if ($data_index == 31) { + $pointSd = substr($datpart, 6) / 1000; + } + if ($data_index == 87) { + $pointHr = substr($datpart, 6) / 1000; + } + } + if ($merjene == 1) { + $lineout = $pointid . "\t" . number_format($pointHz, 4, ".", "") . "\t" . number_format($pointV, 4, ".", "") . "\t" . number_format($pointSd, 3, ".", "") . "\t" . number_format($pointHr, 3, ".", "") . "\r\n"; + print '
' . $lineout . '
'; + file_put_contents($down_datnova, $lineout, FILE_APPEND | LOCK_EX); + } + // if ($merjene == 2) { + // $lineout = $pointid . "\t" . number_format($pointHz, 4, ".", "") . "\t" . number_format($pointV, 4, ".", "") . "\t" . number_format($pointSd, 3, ".", "") . "\t" . number_format($pointHr, 3, ".", "") . "\r\n"; + // print '
' . $lineout . '
'; + // file_put_contents($down_datnova, $lineout, FILE_APPEND | LOCK_EX); + // } + if ($merjene == 3) { + $lineout = $pointid . "\t" . number_format($pointHz, 4, ".", "") . "\t" . number_format($pointV, 4, ".", "") . "\t" . number_format($pointSd, 3, ".", "") . "\t" . number_format($pointHr, 3, ".", "") . "\r\n"; + print '
' . $lineout . '
'; + file_put_contents($down_datnova, $lineout, FILE_APPEND | LOCK_EX); + } + } + + if ($word_index == 11 && $stojisce == 1) { + $pointid = ltrim(substr($parts[0], 8), "0"); + + foreach ($parts as $datpart) { + $data_index = substr($datpart, 0, 2); + if ($data_index == 25) { + $pointSta = $pointSta + 1; + } + if ($data_index == 88) { + $pointHt = substr($datpart, 6) / 1000; + } + } + if ($pointSta == 1) { + $lineout = $pointid . " " . number_format($pointHt, 3, ".", "") . "\r\n21 759.81\r\n"; + print '
' . $lineout . '
'; + file_put_contents($down_datnova, $lineout, FILE_APPEND | LOCK_EX); + } else { + $lineout = "-1 0 0 0 0\r\n" . $pointid . " " . number_format($pointHt, 3, ".", "") . "\r\n21 759.81\r\n"; + print '
' . $lineout . '
'; + file_put_contents($down_datnova, $lineout, FILE_APPEND | LOCK_EX); + } + } + } + fclose($file_handle); + if ($kode_ok == 0) { + print "Ni podatkov... je datoteka kodirana?"; + } + print "
"; + if (!file_exists($down_datnova)) { // file does not exist + die('file not found'); + } else { + print "--------------------------------------------
"; + print "Nova datoteka: " . basename($down_datnova) . " (Prenos)

"; } } @@ -391,7 +540,7 @@ $down_url = "https://gps.multibox.nohost.me/points/"; $down_daturl = $down_url . $down_datnova; - print "Nova datoteka: " . basename($down_datnova) . " (Prenos)
Uporabi desni-klik in izberi opcijo 'Skrani kot.../Save As...'


"; + print "Nova datoteka: " . basename($down_datnova) . " (Prenos)

"; print "--------------------------------------------
"; // If the user file in existing directory already exist, delete it @@ -468,7 +617,7 @@ die('file not found'); } else { print "--------------------------------------------
"; - print "Nova datoteka: " . basename($down_datnova) . " (Prenos)
Uporabi desni-klik in izberi opcijo 'Skrani kot.../Save As...'


"; + print "Nova datoteka: " . basename($down_datnova) . " (Prenos)

"; } } @@ -496,6 +645,8 @@ $datTocke->izvoz_tocke($target_file); } elseif ($_POST['obdelava'] == "tockebrez") { $datTocke->izvoz_tockebrez($target_file); + } elseif ($_POST['obdelava'] == "geoskripta") { + $datTocke->izvoz_tockebrez($target_file); } else { echo "Izbrana opcija ni na voljo. Se opravičujemo."; }