diff --git a/cloudcompare_workflow.py b/cloudcompare_workflow.py new file mode 100644 index 0000000..3c4d0c4 --- /dev/null +++ b/cloudcompare_workflow.py @@ -0,0 +1,52 @@ +#------------------------------------------------------------------------- +# automatischer Workflow für die Vorverarbeitung einer las-Datei mit CloudCompare +# +# Arbeitsschritte: +# 1. Subsample - Punktdichte verringern +# 2. SOR - Statistical Outlier Removal - Ausreißer eliminieren +# 3. NOISE FILTER - Isolierte Punkte/Inseln entfernen +# +# zur Benutzung muss die Variable "cloudComprePath" korrekt gesetzt werden! +#------------------------------------------------------------------------- + +import subprocess +from tkinter import Tk +from tkinter.filedialog import askopenfilename + +# die Punktwolken Datei, die verarbeitet wird bestimmen +Tk().withdraw() +filename = askopenfilename() +print("Datei: " + filename) + +# Name der Ausgabedatei +outname = filename.rsplit('/', 1)[-1].rsplit('.', 1)[0] + "_processed.laz" +outname = outname.replace(" ", "_") + +# Wo ist CloudCompare auf diesem Rechner gespeichert? +cloudComprePath = "C:\Program Files\CloudCompare\CloudCompare.exe" + + +#----- Variablen für die Verarbeitungstools ----- + +# minimale Distanz zwischen zwei Punkten (in Meter) +subSampleDistance = "0.01" +# Ausreißer eliminieren - Anzahl der betrachteten Nachbarpunkte +sorPointCount = "20" +# Radius +noiseRadius = "0.02" + +# Verarbeitungsbefehl +command = [ + cloudComprePath, + "-O", filename, + "-SS", "SPATIAL", subSampleDistance, + "-SOR", sorPointCount, "2", + "-NOISE", "RADIUS", noiseRadius, "REL", "1.0", "RIP", + "-C_EXPORT_FMT", "LAS", + "-SAVE_CLOUDS", "FILE", outname +] + +subprocess.run(command) + +print("Verarbeitung fertig - Datei exportiert") +input("") \ No newline at end of file diff --git a/index.html b/index.html index 6619cd8..a505655 100644 --- a/index.html +++ b/index.html @@ -14,7 +14,7 @@
+
+
\ No newline at end of file diff --git a/main.js b/main.js index f2c4658..a6a9bd4 100644 --- a/main.js +++ b/main.js @@ -6,16 +6,25 @@ import {MapboxOverlay} from '@deck.gl/mapbox'; import {COORDINATE_SYSTEM} from '@deck.gl/core'; +const center = [9.209116842757239, 52.26520546238239] + const map = new maplibregl.Map({ container: 'map', style: "https://tiles.openfreemap.org/styles/bright", - center: [9.209116842757239, 52.26520546238239], + center: center, zoom: 17 }); +map.addControl( + new maplibregl.NavigationControl({ + visualizePitch: true, + showZoom: true, + showCompass: true + }) +); const layer = new PointCloudLayer({ - data: '/punktwolke subsample test.laz', + data: 'punktwolke subsample test.laz', loaders: [LASLoader], // 1. Set the coordinate system to meter offsets @@ -32,8 +41,7 @@ const overlay = new MapboxOverlay({ layers: [layer] }); -map.addControl(overlay); - +//map.addControl(overlay); // Hintergrundkarte ändern @@ -160,6 +168,13 @@ function changeBaseMap(newMap){ map.setStyle(basemapStyle); } + +// dargestellte Punktwolke verändern +function changePointCloud(data){ + layer.data = data; +} + + // ausgewähltes Element im BaseMap DropDown Feld const selectElement = document.querySelector('select[name="basemap"]'); selectElement.addEventListener('change', (event) => { @@ -167,8 +182,14 @@ selectElement.addEventListener('change', (event) => { }); -// Karte auf Nord zurücksetzen -document.getElementById("resetBtn").addEventListener("click", () => { - map.resetNorth(); + +// ausgewähltes Element im Punktwolken DropDown Feld +document.querySelector('select[name="pointcloud"]').addEventListener('change', (event) => { + changePointCloud(event.target.value); }); + +// Auf Zentrum zurück zoomen +document.getElementById("location").addEventListener("click", () => { + map.flyTo({center, zoom: 17 }) +}); diff --git a/punktwolke subsample test_converted/hierarchy.bin b/punktwolke subsample test_converted/hierarchy.bin new file mode 100644 index 0000000..b899c7b Binary files /dev/null and b/punktwolke subsample test_converted/hierarchy.bin differ diff --git a/punktwolke subsample test_converted/log.txt b/punktwolke subsample test_converted/log.txt new file mode 100644 index 0000000..d150837 --- /dev/null +++ b/punktwolke subsample test_converted/log.txt @@ -0,0 +1,276 @@ +INFO(chunker_countsort_laszip.cpp:176): counting punktwolke subsample test.laz, first point: 0, num points: 1'000'000 +INFO(chunker_countsort_laszip.cpp:176): counting punktwolke subsample test.laz, first point: 1'000'000, num points: 1'000'000 +INFO(chunker_countsort_laszip.cpp:176): counting punktwolke subsample test.laz, first point: 2'000'000, num points: 1'000'000 +INFO(chunker_countsort_laszip.cpp:176): counting punktwolke subsample test.laz, first point: 3'000'000, num points: 1'000'000 +INFO(chunker_countsort_laszip.cpp:176): counting punktwolke subsample test.laz, first point: 4'000'000, num points: 1'000'000 +INFO(chunker_countsort_laszip.cpp:176): counting punktwolke subsample test.laz, first point: 5'000'000, num points: 1'000'000 +INFO(chunker_countsort_laszip.cpp:176): counting punktwolke subsample test.laz, first point: 6'000'000, num points: 1'000'000 +INFO(chunker_countsort_laszip.cpp:176): counting punktwolke subsample test.laz, first point: 7'000'000, num points: 1'000'000 +INFO(chunker_countsort_laszip.cpp:176): counting punktwolke subsample test.laz, first point: 8'000'000, num points: 1'000'000 +INFO(chunker_countsort_laszip.cpp:176): counting punktwolke subsample test.laz, first point: 9'000'000, num points: 1'000'000 +INFO(chunker_countsort_laszip.cpp:176): counting punktwolke subsample test.laz, first point: 10'000'000, num points: 1'000'000 +INFO(chunker_countsort_laszip.cpp:176): counting punktwolke subsample test.laz, first point: 11'000'000, num points: 1'000'000 +INFO(chunker_countsort_laszip.cpp:176): counting punktwolke subsample test.laz, first point: 12'000'000, num points: 1'000'000 +INFO(chunker_countsort_laszip.cpp:176): counting punktwolke subsample test.laz, first point: 13'000'000, num points: 1'000'000 +INFO(chunker_countsort_laszip.cpp:176): counting punktwolke subsample test.laz, first point: 14'000'000, num points: 1'000'000 +INFO(chunker_countsort_laszip.cpp:176): counting punktwolke subsample test.laz, first point: 15'000'000, num points: 1'000'000 +INFO(chunker_countsort_laszip.cpp:176): counting punktwolke subsample test.laz, first point: 16'000'000, num points: 1'000'000 +INFO(chunker_countsort_laszip.cpp:176): counting punktwolke subsample test.laz, first point: 17'000'000, num points: 1'000'000 +INFO(chunker_countsort_laszip.cpp:176): counting punktwolke subsample test.laz, first point: 18'000'000, num points: 1'000'000 +INFO(chunker_countsort_laszip.cpp:176): counting punktwolke subsample test.laz, first point: 19'000'000, num points: 1'000'000 +INFO(chunker_countsort_laszip.cpp:176): counting punktwolke subsample test.laz, first point: 20'000'000, num points: 958'278 +INFO(indexer.cpp:1656): start indexing chunk r000 +filesize: 18'149'373 +min: -22.855845098868897, 4.3073478540955961, -2.1150015348607347 +max: -18.410095098868897, 8.7530978540955964, 2.3307484651392656 +INFO(indexer.cpp:1656): start indexing chunk r001 +filesize: 16'433'739 +min: -22.855845098868897, 4.3073478540955961, 2.3307484651392656 +max: -18.410095098868897, 8.7530978540955964, 6.7764984651392659 +INFO(indexer.cpp:1656): start indexing chunk r003 +filesize: 23'654'673 +min: -22.855845098868897, 8.7530978540955964, 2.3307484651392656 +max: -18.410095098868897, 13.198847854095597, 6.7764984651392659 +INFO(indexer.cpp:1656): start indexing chunk r002 +filesize: 22'597'704 +min: -22.855845098868897, 8.7530978540955964, -2.1150015348607347 +max: -18.410095098868897, 13.198847854095597, 2.3307484651392656 +INFO(indexer.cpp:1656): start indexing chunk r004 +filesize: 8'444'331 +min: -18.410095098868897, 4.3073478540955961, -2.1150015348607347 +max: -13.964345098868897, 8.7530978540955964, 2.3307484651392656 +INFO(indexer.cpp:1656): start indexing chunk r006 +filesize: 4'140'396 +min: -18.410095098868897, 8.7530978540955964, -2.1150015348607347 +max: -13.964345098868897, 13.198847854095597, 2.3307484651392656 +INFO(indexer.cpp:1656): start indexing chunk r01 +filesize: 4'848'768 +min: -22.855845098868897, 4.3073478540955961, 6.7764984651392659 +max: -13.964345098868897, 13.198847854095597, 15.667998465139267 +INFO(indexer.cpp:1656): start indexing chunk r020 +filesize: 16'824'321 +min: -22.855845098868897, 13.198847854095597, -2.1150015348607347 +max: -18.410095098868897, 17.644597854095597, 2.3307484651392656 +INFO(indexer.cpp:1699): finished indexing chunk r006 +INFO(indexer.cpp:1656): start indexing chunk r021 +filesize: 23'125'581 +min: -22.855845098868897, 13.198847854095597, 2.3307484651392656 +max: -18.410095098868897, 17.644597854095597, 6.7764984651392659 +INFO(indexer.cpp:1699): finished indexing chunk r01 +INFO(indexer.cpp:1656): start indexing chunk r022 +filesize: 6'846'120 +min: -22.855845098868897, 17.644597854095597, -2.1150015348607347 +max: -18.410095098868897, 22.090347854095597, 2.3307484651392656 +INFO(indexer.cpp:1699): finished indexing chunk r004 +INFO(indexer.cpp:1656): start indexing chunk r023 +filesize: 15'689'727 +min: -22.855845098868897, 17.644597854095597, 2.3307484651392656 +max: -18.410095098868897, 22.090347854095597, 6.7764984651392659 +INFO(indexer.cpp:1699): finished indexing chunk r022 +INFO(indexer.cpp:1656): start indexing chunk r024 +filesize: 8'986'491 +min: -18.410095098868897, 13.198847854095597, -2.1150015348607347 +max: -13.964345098868897, 17.644597854095597, 2.3307484651392656 +INFO(indexer.cpp:1699): finished indexing chunk r001 +INFO(indexer.cpp:1656): start indexing chunk r026 +filesize: 17'252'244 +min: -18.410095098868897, 17.644597854095597, -2.1150015348607347 +max: -13.964345098868897, 22.090347854095597, 2.3307484651392656 +INFO(indexer.cpp:1699): finished indexing chunk r000 +INFO(indexer.cpp:1656): start indexing chunk r027 +filesize: 10'591'641 +min: -18.410095098868897, 17.644597854095597, 2.3307484651392656 +max: -13.964345098868897, 22.090347854095597, 6.7764984651392659 +INFO(indexer.cpp:1699): finished indexing chunk r020 +INFO(indexer.cpp:1656): start indexing chunk r03 +filesize: 8'587'080 +min: -22.855845098868897, 13.198847854095597, 6.7764984651392659 +max: -13.964345098868897, 22.090347854095597, 15.667998465139267 +INFO(indexer.cpp:1699): finished indexing chunk r024 +INFO(indexer.cpp:1656): start indexing chunk r04 +filesize: 26'686'557 +min: -13.964345098868897, 4.3073478540955961, -2.1150015348607347 +max: -5.0728450988688962, 13.198847854095597, 6.7764984651392659 +INFO(indexer.cpp:1699): finished indexing chunk r023 +INFO(indexer.cpp:1656): start indexing chunk r060 +filesize: 5'372'514 +min: -13.964345098868897, 13.198847854095597, -2.1150015348607347 +max: -9.5185950988688965, 17.644597854095597, 2.3307484651392656 +INFO(indexer.cpp:1699): finished indexing chunk r002 +INFO(indexer.cpp:1656): start indexing chunk r062 +filesize: 4'815'747 +min: -13.964345098868897, 17.644597854095597, -2.1150015348607347 +max: -9.5185950988688965, 22.090347854095597, 2.3307484651392656 +INFO(indexer.cpp:1699): finished indexing chunk r060 +INFO(indexer.cpp:1656): start indexing chunk r064 +filesize: 11'649'528 +min: -9.5185950988688965, 13.198847854095597, -2.1150015348607347 +max: -5.0728450988688962, 17.644597854095597, 2.3307484651392656 +INFO(indexer.cpp:1699): finished indexing chunk r03 +INFO(indexer.cpp:1656): start indexing chunk r066 +filesize: 12'741'921 +min: -9.5185950988688965, 17.644597854095597, -2.1150015348607347 +max: -5.0728450988688962, 22.090347854095597, 2.3307484651392656 +INFO(indexer.cpp:1699): finished indexing chunk r062 +INFO(indexer.cpp:1656): start indexing chunk r201 +filesize: 1'200'501 +min: -22.855845098868897, 22.090347854095597, 2.3307484651392656 +max: -18.410095098868897, 26.536097854095598, 6.7764984651392659 +INFO(indexer.cpp:1699): finished indexing chunk r021 +INFO(indexer.cpp:1656): start indexing chunk r204 +filesize: 17'466'354 +min: -18.410095098868897, 22.090347854095597, -2.1150015348607347 +max: -13.964345098868897, 26.536097854095598, 2.3307484651392656 +INFO(indexer.cpp:1699): finished indexing chunk r201 +INFO(indexer.cpp:1656): start indexing chunk r205 +filesize: 22'759'812 +min: -18.410095098868897, 22.090347854095597, 2.3307484651392656 +max: -13.964345098868897, 26.536097854095598, 6.7764984651392659 +INFO(indexer.cpp:1699): finished indexing chunk r003 +INFO(indexer.cpp:1656): start indexing chunk r21 +filesize: 9'058'986 +min: -22.855845098868897, 22.090347854095597, 6.7764984651392659 +max: -13.964345098868897, 30.981847854095598, 15.667998465139267 +INFO(indexer.cpp:1699): finished indexing chunk r027 +INFO(indexer.cpp:1699): finished indexing chunk r064 +INFO(indexer.cpp:1656): start indexing chunk r24 +filesize: 11'311'623 +min: -13.964345098868897, 22.090347854095597, -2.1150015348607347 +max: -5.0728450988688962, 30.981847854095598, 6.7764984651392659 +INFO(indexer.cpp:1656): start indexing chunk r400 +filesize: 10'949'526 +min: -5.0728450988688962, 4.3073478540955961, -2.1150015348607347 +max: -0.62709509886889592, 8.7530978540955964, 2.3307484651392656 +INFO(indexer.cpp:1699): finished indexing chunk r066 +INFO(indexer.cpp:1656): start indexing chunk r402 +filesize: 10'623'258 +min: -5.0728450988688962, 8.7530978540955964, -2.1150015348607347 +max: -0.62709509886889592, 13.198847854095597, 2.3307484651392656 +INFO(indexer.cpp:1699): finished indexing chunk r04 +INFO(indexer.cpp:1656): start indexing chunk r404 +filesize: 14'041'242 +min: -0.62709509886889592, 4.3073478540955961, -2.1150015348607347 +max: 3.8186549011311044, 8.7530978540955964, 2.3307484651392656 +INFO(indexer.cpp:1699): finished indexing chunk r026 +INFO(indexer.cpp:1656): start indexing chunk r406 +filesize: 11'431'071 +min: -0.62709509886889592, 8.7530978540955964, -2.1150015348607347 +max: 3.8186549011311044, 13.198847854095597, 2.3307484651392656 +INFO(indexer.cpp:1699): finished indexing chunk r21 +INFO(indexer.cpp:1656): start indexing chunk r407 +filesize: 648 +min: -0.62709509886889592, 8.7530978540955964, 2.3307484651392656 +max: 3.8186549011311044, 13.198847854095597, 6.7764984651392659 +INFO(indexer.cpp:1699): finished indexing chunk r407 +INFO(indexer.cpp:1656): start indexing chunk r41 +filesize: 27 +min: -5.0728450988688962, 4.3073478540955961, 6.7764984651392659 +max: 3.8186549011311044, 13.198847854095597, 15.667998465139267 +INFO(indexer.cpp:1699): finished indexing chunk r41 +INFO(indexer.cpp:1656): start indexing chunk r420 +filesize: 12'075'264 +min: -5.0728450988688962, 13.198847854095597, -2.1150015348607347 +max: -0.62709509886889592, 17.644597854095597, 2.3307484651392656 +INFO(indexer.cpp:1699): finished indexing chunk r400 +INFO(indexer.cpp:1699): finished indexing chunk r24 +INFO(indexer.cpp:1656): start indexing chunk r422 +filesize: 14'606'919 +min: -5.0728450988688962, 17.644597854095597, -2.1150015348607347 +max: -0.62709509886889592, 22.090347854095597, 2.3307484651392656 +INFO(indexer.cpp:1656): start indexing chunk r424 +filesize: 14'201'622 +min: -0.62709509886889592, 13.198847854095597, -2.1150015348607347 +max: 3.8186549011311044, 17.644597854095597, 2.3307484651392656 +INFO(indexer.cpp:1699): finished indexing chunk r402 +INFO(indexer.cpp:1656): start indexing chunk r426 +filesize: 16'004'223 +min: -0.62709509886889592, 17.644597854095597, -2.1150015348607347 +max: 3.8186549011311044, 22.090347854095597, 2.3307484651392656 +INFO(indexer.cpp:1699): finished indexing chunk r406 +INFO(indexer.cpp:1656): start indexing chunk r427 +filesize: 540 +min: -0.62709509886889592, 17.644597854095597, 2.3307484651392656 +max: 3.8186549011311044, 22.090347854095597, 6.7764984651392659 +INFO(indexer.cpp:1699): finished indexing chunk r427 +INFO(indexer.cpp:1699): finished indexing chunk r404 +INFO(indexer.cpp:1656): start indexing chunk r440 +filesize: 12'428'910 +min: 3.8186549011311044, 4.3073478540955961, -2.1150015348607347 +max: 8.2644049011311047, 8.7530978540955964, 2.3307484651392656 +INFO(indexer.cpp:1656): start indexing chunk r441 +filesize: 1'809 +min: 3.8186549011311044, 4.3073478540955961, 2.3307484651392656 +max: 8.2644049011311047, 8.7530978540955964, 6.7764984651392659 +INFO(indexer.cpp:1699): finished indexing chunk r441 +INFO(indexer.cpp:1656): start indexing chunk r442 +filesize: 8'659'575 +min: 3.8186549011311044, 8.7530978540955964, -2.1150015348607347 +max: 8.2644049011311047, 13.198847854095597, 2.3307484651392656 +INFO(indexer.cpp:1699): finished indexing chunk r420 +INFO(indexer.cpp:1656): start indexing chunk r444 +filesize: 13'336'731 +min: 8.2644049011311047, 4.3073478540955961, -2.1150015348607347 +max: 12.710154901131105, 8.7530978540955964, 2.3307484651392656 +INFO(indexer.cpp:1699): finished indexing chunk r424 +INFO(indexer.cpp:1699): finished indexing chunk r422 +INFO(indexer.cpp:1656): start indexing chunk r446 +filesize: 11'032'902 +min: 8.2644049011311047, 8.7530978540955964, -2.1150015348607347 +max: 12.710154901131105, 13.198847854095597, 2.3307484651392656 +INFO(indexer.cpp:1656): start indexing chunk r447 +filesize: 351 +min: 8.2644049011311047, 8.7530978540955964, 2.3307484651392656 +max: 12.710154901131105, 13.198847854095597, 6.7764984651392659 +INFO(indexer.cpp:1699): finished indexing chunk r447 +INFO(indexer.cpp:1656): start indexing chunk r460 +filesize: 11'094'624 +min: 3.8186549011311044, 13.198847854095597, -2.1150015348607347 +max: 8.2644049011311047, 17.644597854095597, 2.3307484651392656 +INFO(indexer.cpp:1699): finished indexing chunk r426 +INFO(indexer.cpp:1656): start indexing chunk r462 +filesize: 13'827'510 +min: 3.8186549011311044, 17.644597854095597, -2.1150015348607347 +max: 8.2644049011311047, 22.090347854095597, 2.3307484651392656 +INFO(indexer.cpp:1699): finished indexing chunk r442 +INFO(indexer.cpp:1656): start indexing chunk r463 +filesize: 162 +min: 3.8186549011311044, 17.644597854095597, 2.3307484651392656 +max: 8.2644049011311047, 22.090347854095597, 6.7764984651392659 +INFO(indexer.cpp:1699): finished indexing chunk r463 +INFO(indexer.cpp:1656): start indexing chunk r464 +filesize: 10'285'218 +min: 8.2644049011311047, 13.198847854095597, -2.1150015348607347 +max: 12.710154901131105, 17.644597854095597, 2.3307484651392656 +INFO(indexer.cpp:1699): finished indexing chunk r204 +INFO(indexer.cpp:1656): start indexing chunk r465 +filesize: 378 +min: 8.2644049011311047, 13.198847854095597, 2.3307484651392656 +max: 12.710154901131105, 17.644597854095597, 6.7764984651392659 +INFO(indexer.cpp:1699): finished indexing chunk r465 +INFO(indexer.cpp:1656): start indexing chunk r466 +filesize: 11'285'757 +min: 8.2644049011311047, 17.644597854095597, -2.1150015348607347 +max: 12.710154901131105, 22.090347854095597, 2.3307484651392656 +INFO(indexer.cpp:1699): finished indexing chunk r440 +INFO(indexer.cpp:1656): start indexing chunk r467 +filesize: 108 +min: 8.2644049011311047, 17.644597854095597, 2.3307484651392656 +max: 12.710154901131105, 22.090347854095597, 6.7764984651392659 +INFO(indexer.cpp:1699): finished indexing chunk r467 +INFO(indexer.cpp:1656): start indexing chunk r60 +filesize: 19'867'356 +min: -5.0728450988688962, 22.090347854095597, -2.1150015348607347 +max: 3.8186549011311044, 30.981847854095598, 6.7764984651392659 +INFO(indexer.cpp:1699): finished indexing chunk r446 +INFO(indexer.cpp:1656): start indexing chunk r64 +filesize: 20'882'043 +min: 3.8186549011311044, 22.090347854095597, -2.1150015348607347 +max: 12.710154901131105, 30.981847854095598, 6.7764984651392659 +INFO(indexer.cpp:1699): finished indexing chunk r205 +INFO(indexer.cpp:1699): finished indexing chunk r460 +INFO(indexer.cpp:1699): finished indexing chunk r444 +INFO(indexer.cpp:1699): finished indexing chunk r464 +INFO(indexer.cpp:1699): finished indexing chunk r462 +INFO(indexer.cpp:1699): finished indexing chunk r466 +INFO(indexer.cpp:1699): finished indexing chunk r60 +INFO(indexer.cpp:1699): finished indexing chunk r64 diff --git a/punktwolke subsample test_converted/metadata.json b/punktwolke subsample test_converted/metadata.json new file mode 100644 index 0000000..a32f022 --- /dev/null +++ b/punktwolke subsample test_converted/metadata.json @@ -0,0 +1,123 @@ +{ + "version": "2.0", + "name": "punktwolke subsample test", + "description": "", + "points": 20958278, + "projection": "", + "hierarchy": { + "firstChunkSize": 7018, + "stepSize": 4, + "depth": 7 + }, + "offset": [-22.855845098868897, 4.3073478540955961, -2.1150015348607347], + "scale": [0.001, 0.001, 0.001], + "spacing": 0.27785937500000002, + "boundingBox": { + "min": [-22.855845098868897, 4.3073478540955961, -2.1150015348607347], + "max": [12.710154901131105, 39.873347854095599, 33.450998465139264] + }, + "encoding": "DEFAULT", + "attributes": [ + { + "name": "position", + "description": "", + "size": 12, + "numElements": 3, + "elementSize": 4, + "type": "int32", + "min": [-22.855845098868897, 4.3073478540955961, -2.1150015348607347], + "max": [12.710154901131105, 25.310347854095596, 10.559998465139266], + "scale": [1, 1, 1], + "offset": [0, 0, 0] + },{ + "name": "intensity", + "description": "", + "size": 2, + "numElements": 1, + "elementSize": 2, + "type": "uint16", + "min": [0], + "max": [65534], + "scale": [1], + "offset": [0] + },{ + "name": "return number", + "description": "", + "size": 1, + "numElements": 1, + "elementSize": 1, + "type": "uint8", + "min": [1], + "max": [1], + "scale": [1], + "offset": [0] + },{ + "name": "number of returns", + "description": "", + "size": 1, + "numElements": 1, + "elementSize": 1, + "type": "uint8", + "min": [1], + "max": [1], + "scale": [1], + "offset": [0] + },{ + "name": "classification", + "description": "", + "size": 1, + "numElements": 1, + "elementSize": 1, + "type": "uint8", + "histogram": [20958278, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + "min": [0], + "max": [0], + "scale": [1], + "offset": [0] + },{ + "name": "scan angle rank", + "description": "", + "size": 1, + "numElements": 1, + "elementSize": 1, + "type": "uint8", + "min": [0], + "max": [0], + "scale": [1], + "offset": [0] + },{ + "name": "user data", + "description": "", + "size": 1, + "numElements": 1, + "elementSize": 1, + "type": "uint8", + "min": [0], + "max": [0], + "scale": [1], + "offset": [0] + },{ + "name": "point source id", + "description": "", + "size": 2, + "numElements": 1, + "elementSize": 2, + "type": "uint16", + "min": [0], + "max": [0], + "scale": [1], + "offset": [0] + },{ + "name": "rgb", + "description": "", + "size": 6, + "numElements": 3, + "elementSize": 2, + "type": "uint16", + "min": [0, 512, 0], + "max": [57856, 57600, 62464], + "scale": [1, 1, 1], + "offset": [0, 0, 0] + } + ] +} diff --git a/punktwolke subsample test_converted/octree.bin b/punktwolke subsample test_converted/octree.bin new file mode 100644 index 0000000..42cae88 Binary files /dev/null and b/punktwolke subsample test_converted/octree.bin differ diff --git a/standort.png b/standort.png new file mode 100644 index 0000000..dac4d72 Binary files /dev/null and b/standort.png differ diff --git a/style.css b/style.css index b840dc1..fb1c870 100644 --- a/style.css +++ b/style.css @@ -43,6 +43,17 @@ body { } +#location { + position: absolute; + right: 0%; + top: 22%; + width: 4%; + height: auto; + margin: 0.45%; + z-index: 10; +} + + #sidebar { grid-area: sidebar; padding: 20px;