Compare commits

...

3 Commits

9 changed files with 499 additions and 8 deletions

52
cloudcompare_workflow.py Normal file
View File

@@ -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("")

View File

@@ -14,7 +14,7 @@
</header>
<aside id="sidebar">
<button id="resetBtn">Zurück auf Nord</button>
<select name="basemap" id="basemap">
<option value="" disabled selected>Hintergrundkarte</option>
<option value="openfree_bright">OpenFreeMap hell</option>
@@ -24,6 +24,12 @@
<option value="terrain">Terrain</option>
<option value="satellite_terrain">Terrain mit Satellitenbild</option>
</select>
<select name="pointcloud" id="pointcloud">
<option value="" disabled selected>Punktwolke auswählen</option>
<option value="first">1. Fläche unten</option>
<option value="second">2. Felswand</option>
<option value="third">3. Fläche oben mit Spuren</option>
</select>
<p>
<input type="checkbox">Punktwolke ausblenden
</p>
@@ -38,7 +44,9 @@
</aside>
<main id="main">
<img id="location" src="standort.png"/>
<div id="map"></div>
</main>
</body>
</html>

35
main.js
View File

@@ -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 })
});

Binary file not shown.

View File

@@ -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

View File

@@ -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]
}
]
}

Binary file not shown.

BIN
standort.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

View File

@@ -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;