Il s'agit de la commande r.in.xyzgrass qui peut être exécutée dans le fournisseur d'hébergement gratuit OnWorks en utilisant l'un de nos multiples postes de travail en ligne gratuits tels que Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS
PROGRAMME:
Nom
r.in.xyz - Crée une carte raster à partir d'un assemblage de nombreuses coordonnées à l'aide d'une variable univariée
statistiques.
MOTS-CLÉS
raster, importation, conversion, agrégation, ASCII, LIDAR
SYNOPSIS
r.in.xyz
r.in.xyz --Aidez-moi
r.in.xyz [-sgi] contribution=prénom sortie=prénom [méthode=un magnifique] [type=un magnifique]
[séparateur=caractère] [x=entier] [y=entier] [z=entier] [sauter=entier]
[zrange=min max] [échelle z=flotter] [valeur_colonne=entier] [vrange=min max]
[échelle virtuelle=flotter] [pour cent=entier] [pth=entier] [réduire=flotter] [--écraser]
[--vous aider] [--verbeux] [--calme] [--ui]
Drapeaux:
-s
Analyser le fichier de données pour l'étendue puis quitter
-g
En mode numérisation, imprimez à l'aide du style de script shell
-i
Ignorer les lignes brisées
--écraser
Autoriser les fichiers de sortie à écraser les fichiers existants
--Aidez-moi
Imprimer le récapitulatif d'utilisation
--verbeux
Sortie du module verbeux
--silencieux
Sortie module silencieuse
--interface utilisateur
Forcer le lancement de la boîte de dialogue GUI
Paramètres:
contribution=prénom [obligatoire]
Fichier ASCII contenant les données d'entrée (ou "-" pour lire depuis stdin)
sortie=prénom [obligatoire]
Nom de la carte raster en sortie
méthode=un magnifique
Statistique à utiliser pour les valeurs raster
Options: n, min max gamme, somme, signifier, stdev, variance, coeff_var, médian,
centile, asymétrie, rogner
Valeur par défaut: signifier
type=un magnifique
Type de stockage pour la carte raster résultante
Options: CELLULE, FCELL, DCELL
Valeur par défaut: FCELL
séparateur=caractère
Séparateur de champs
Caractères spéciaux : barre verticale, virgule, espace, tabulation, nouvelle ligne
Valeur par défaut: pipe
x=entier
Numéro de colonne des coordonnées x dans le fichier d'entrée (la première colonne est 1)
Valeur par défaut: 1
y=entier
Numéro de colonne des coordonnées y dans le fichier d'entrée
Valeur par défaut: 2
z=entier
Numéro de colonne des valeurs de données dans le fichier d'entrée
Si une colonne de valeur distincte est fournie, cette option fait référence à la colonne de coordonnées z à
être filtré par l'option zrange
Valeur par défaut: 3
sauter=entier
Nombre de lignes d'en-tête à sauter en haut du fichier d'entrée
Valeur par défaut: 0
zrange=min max
Plage de filtre pour les données z (min, max)
échelle z=flotter
Échelle à appliquer aux données z
Valeur par défaut: 1.0
valeur_colonne=entier
Numéro de colonne alternatif des valeurs de données dans le fichier d'entrée
S'il n'est pas fourni (ou défini sur 0), les données de la colonne z sont utilisées
Valeur par défaut: 0
vrange=min max
Plage de filtre pour les données de colonne de valeur alternative (min, max)
échelle virtuelle=flotter
Échelle à appliquer aux données de colonne de valeur alternative
Valeur par défaut: 1.0
pour cent=entier
Pourcentage de carte à garder en mémoire
Options: 1-100
Valeur par défaut: 100
pth=entier
pième centile des valeurs
Options: 1-100
réduire=flotter
Jeter pour cent de la plus petite et pourcentage des plus grandes observations
Options: 0-50
DESCRIPTION
La r.in.xyz Le module chargera et binera les données ASCII x,y,z non maillées dans une nouvelle carte raster.
L'utilisateur peut choisir parmi une variété de méthodes statistiques pour créer le nouveau raster.
Les données maillées fournies sous forme de flux de points x,y,z peuvent également être importées.
Veuillez noter que l'étendue et la résolution de la région actuelle sont utilisées pour l'importation. Il est
donc recommandé d'utiliser d'abord le -s flag pour obtenir l'étendue des points d'entrée vers
être importé, puis ajustez la région actuelle en conséquence, et ensuite seulement continuez avec le
importation réelle.
r.in.xyz est conçu pour traiter des ensembles de données de nuages de points massifs, par exemple LIDAR brut ou
données de fauchée du sonar à balayage latéral. Il a été testé avec des ensembles de données pouvant atteindre des dizaines de milliards de
points (705 Go dans un seul fichier).
Les statistiques disponibles pour le remplissage du raster sont :
n nombre de points dans la cellule
m. valeur minimale des points dans la cellule
max valeur maximale des points dans la cellule
gamme plage de points dans la cellule
somme somme des points dans la cellule
signifier valeur moyenne des points dans la cellule
stddev écart type des points dans la cellule
variance variance des points dans la cellule
coeff_var coefficient de variance des points dans la cellule
médiane valeur médiane des points dans la cellule
centile pth centile de points dans la cellule
asymétrie asymétrie des points dans la cellule
rogner moyenne tronquée des points dans la cellule
· Variance et les dérivés utilisent l'estimateur biaisé (n). [sous réserve de modifications]
· Coefficient of variance est donné en pourcentage et défini comme (stddev/mean)*100.
Il est également possible de classer et de stocker une autre colonne de données (par exemple, rétrodiffusion) tout en
filtrer et mettre à l'échelle simultanément les valeurs des colonnes de données et la plage z.
NOTES
Grillé données,
Si les données sont connues pour être sur une grille régulière r.in.xyz peut reconstruire parfaitement la carte car
tant que l'on prend soin de configurer correctement la région et que la carte native des données
la projection est utilisée. Une méthode typique consisterait à déterminer la résolution de la grille soit
en examinant la documentation associée aux données ou en étudiant le fichier texte. Analyse suivante
les données avec r.in.xyz's -s (ou -g) pour trouver les limites des données d'entrée. GRASS utilise le
convention raster de centre de cellule où les points de données se trouvent au centre d'une cellule, comme
opposé à la convention de nœud de grille. Par conséquent, vous devrez développer la région en
une demi-cellule dans toutes les directions au-delà de ce que l'analyse a trouvé dans le fichier. Après la région
les limites et la résolution sont définies correctement avec g.région, courir r.in.xyz en utilisant l' n méthode et
vérifier que n=1 à tous les endroits. r.univar peut aider. Une fois que vous êtes sûr que la région
correspond exactement aux données procéder à l'exécution r.in.xyz en utilisant l'un des signifier, min max, ou
médiane méthodes. Avec n=1 partout, le résultat devrait être identique quel que soit le
ces méthodes sont utilisées.
Mémoire utilisé
Tandis que le contribution le fichier peut être arbitrairement volumineux, r.in.xyz utilisera une grande quantité de système
mémoire pour les grandes régions raster (10000x10000). Si le module refuse de commencer à se plaindre
qu'il n'y a pas assez de mémoire, utilisez le pour cent paramètre pour exécuter le module dans plusieurs
passe. De plus en utilisant un format de carte moins précis (CELL [entier] ou FCELL [floating
point]) utilisera moins de mémoire qu'un DCELL [virgule flottante double précision] sortie carte
Des méthodes telles que n, min max somme utilisera également moins de mémoire, tandis que stdev, variance, et
coeff_var utilisera plus. Les fonctions d'agrégat médian, centile, asymétrie et garnis
signifier utilisera encore plus de mémoire et peut ne pas être approprié pour une utilisation avec une taille arbitrairement grande
fichiers d'entrée.
La carte par défaut type=FCELL est conçu comme un compromis entre la préservation de la précision des données et
limiter la consommation des ressources système. Si vous lisez des données à partir d'un flux stdin, le programme
ne peut fonctionner qu'avec un seul passage.
Paramètres région bornes et RAPIDE
Vous pouvez utiliser le -s indicateur de balayage pour trouver l'étendue des données d'entrée (et donc la densité de points)
avant d'effectuer l'importation complète. Utilisation g.région pour ajuster les limites de la région pour qu'elles correspondent. Les
-g l'indicateur de style shell imprime l'étendue appropriée en tant que paramètres pour g.région. Un convenable
La résolution peut être trouvée en divisant le nombre de points d'entrée par la zone couverte. par exemple
wc -l fichierentrée.txt
g.région -p
# points_per_cell = n_points / (lignes * colonnes)
g.région -e
# Emplacement UTM :
# points_per_sq_m = n_points / (ns_extent * ew_extent)
# Lat/Lon emplacement :
# points_per_sq_m = n_points / (ns_extent * ew_extent*cos(lat) * (1852*60)^2)
Si vous avez seulement l'intention d'interpoler les données avec r.à.vect et v.surf.première, ensuite il y a
peu d'intérêt à régler la résolution de la région si fine que vous n'attrapez qu'un seul point de données
par cellule - vous pouvez aussi bien utiliser "v.in.ascii -zbt" directement.
Filtration
Les points situés en dehors de la région actuelle seront ignorés. Cela inclut les points tombant
exactement sur la région sud liée. (pour les capturer, ajustez la région avec "g.region
s=s-0.000001" ; voir g.région)
Les lignes vides et les lignes de commentaires commençant par le symbole dièse (#) seront ignorées.
La zrange peut être utilisé pour filtrer les données d'entrée par étendue verticale. Exemple
les utilisations peuvent inclure la préparation de plusieurs sections raster à combiner dans un raster 3D
tableau avec r.à.rast3, ou pour filtrer les valeurs aberrantes sur un terrain relativement plat.
En terrain varié, l'utilisateur peut trouver que m. les cartes constituent un bon filtre de bruit comme la plupart
Le bruit LIDAR provient de coups prématurés. Les m. carte peut également être utile pour trouver le sous-jacent
topographie en milieu forestier ou urbain si les cellules sont suréchantillonnées.
L'utilisateur peut utiliser une combinaison de r.in.xyz sortie cartes pour créer des filtres personnalisés. par exemple utiliser
r.mapcalc pour créer une carte moyenne-(2*stddev). [Dans cet exemple, l'utilisateur peut vouloir inclure un
filtre de limite inférieure dans r.mapcalc supprimer des points très variables (petits n) ou exécutez
r.voisins pour lisser la carte stddev avant une utilisation ultérieure.]
Autre Plus-value colonne
La valeur_colonne paramètre peut être utilisé dans des cas particuliers lorsque vous souhaitez filtrer par
z-range mais bin et stocke les données d'une autre colonne. Par exemple si vous vouliez regarder
valeurs de rétrodiffusion entre 1000 et 1500 mètres d'altitude. Ceci est particulièrement utile
lors de l'utilisation r.in.xyz pour préparer des tranches de profondeur pour un raster 3D — le zrange option
définit la tranche de profondeur mais les valeurs de données stockées dans les voxels décrivent une
dimension. Comme pour la colonne z, une plage de filtrage et un facteur d'échelle peuvent être appliqués.
Reproduction
Si la carte raster doit être reprojetée, il peut être plus approprié de reprojeter l'entrée
pointe avec m.proj or cs2cs avant de courir r.in.xyz.
interpolation développement a L'
Les capacités topographiques du moteur vectoriel introduisent une surcharge mémoire finie par vecteur
point qui limitera généralement une carte vectorielle à environ 3 millions de points (~ 1750^2
cellules). Si vous en voulez plus, utilisez le r.à.vect -b indicateur pour ignorer la topologie de construction. Sans
topologie, cependant, tout ce que vous pourrez faire avec la carte vectorielle est d'afficher avec d.vect et
interpoler avec v.surf.première. Courir r.univar sur votre carte raster pour vérifier le nombre de
cellules non NULL et ajustez les limites et/ou la résolution au besoin avant de continuer.
Commandes typiques pour créer un DEM à l'aide d'un ajustement de spline régularisé :
r.univar lidar_min
r.to.vect -z type=point in=lidar_min out=lidar_min_pt
v.surf.rst in=lidar_min_pt elev=lidar_min.rst
Importer of x,y,chaîne données,
r.in.xyz attend des valeurs numériques dans la colonne z. Pour effectuer un comptage d'occurrences
opération même sur des données x,y avec des attributs non numériques, les données peuvent être importées en utilisant
soit la coordonnée x ou y comme une fausse colonne z pour méthode=n (compter le nombre de points par
cellule de grille), les valeurs z sont ignorées de toute façon.
EXEMPLE
Importez le jeu de données Jockey's Ridge, NC, LIDAR (fichier compressé "lidaratm2.txt.gz"), et
traitez-le dans un DEM propre :
# analyser et définir les limites de la région
r.in.xyz -s separator="," in=lidaratm2.txt out=test
g.région n=35.969493 s=35.949693 e=-75.620999 w=-75.639999
g.région res=0:00:00.075 -a
# créer une carte "n" contenant le nombre de points par cellule pour vérifier la densité
r.in.xyz in=lidaratm2.txt out=lidar_n separator="," method=n zrange=-2,50
# densité de points de contrôle [rho = n_sum / (rows*cols)]
r.univar lidar_n | somme grep
# créer une carte "min" (altitude filtrée pour les coups prématurés)
r.in.xyz in=lidaratm2.txt out=lidar_min separator="," method=min zrange=-2,50
# définir la région de calcul sur la zone d'intérêt
g.region n=35:57:56.25N s=35:57:13.575N w=75:38:23.7W e=75:37:15.675W
# vérifier le nombre de cellules non nulles (essayez de ne pas dépasser quelques millions)
r.univar lidar_min | grep '^n:'
# convertir en points
r.to.vect -z type=point in=lidar_min out=lidar_min_pt
# interpolation à l'aide d'un ajustement de spline régularisé
v.surf.rst in=lidar_min_pt elev=lidar_min.rst
# définir l'échelle de couleurs sur quelque chose d'intéressant
r.colors lidar_min.rst règle=bcyr -n -e
# préparer une version à l'échelle 1:1:1 pour la visualisation NVIZ (pour l'entrée lat/lon)
r.mapcalc "lidar_min.rst_scaled = lidar_min.rst / (1852*60)"
r.colors lidar_min.rst_scaled règle=bcyr -n -e
TOUT
· Prise en charge de la sortie de plusieurs cartes à partir d'une seule exécution.
méthode=chaîne[,chaîne,...] sortie=nom[,nom,...]
Cela peut être facilement géré par un script wrapper, avec l'avantage supplémentaire d'être
très simple à paralléliser de cette façon.
· Ajout de deux nouveaux indicateurs pour la prise en charge de l'entrée binaire directe de libLAS pour les données LIDAR
et mbio de MB-System pour les données bathymétriques multifaisceaux.
noter: Voir le nouveau r.in.lidar module pour cela.
CONNUE QUESTIONS
· n map sum peut être légèrement supérieur à `wc -l` avec par exemple percent=10 ou moins.
Cause inconnue.
· n les cartes percent=100 et percent=xx diffèrent légèrement (le point tombera au-dessus/au-dessous
la ligne de segmentation)
Enquêter avec "r.mapcalc diff = bin_n.100 - bin_n.33" etc.
Cause inconnue.
· "nan" peut s'infiltrer dans coeff_var Plans.
Cause inconnue. Solution de contournement possible : "r.null setnull=nan"
Si vous rencontrez des problèmes (ou des solutions !), veuillez contacter l'équipe de développement GRASS.
Utilisez r.in.xyzgrass en ligne en utilisant les services onworks.net