#1 Fri 08 February 2013 09:24
- benjamin_68
- Participant assidu
- Lieu: Lapoutroie
- Date d'inscription: 3 May 2010
- Messages: 200
convertir des données xyz en raster
Bonjour,
Je planche depuis plusieurs jours sur un problème.
Je travaille sur des données Lidar, livrées en plusieurs fichiers XYZ (plusieurs millions de points, certains fichiers dépassent les 100 Mo). Je souhaite tout simplement obtenir, à partir de ces données, un seul fichier raster pour mon MNT.
J'ai testé les méthodes suivantes :
-QGis : J'ai pensé importer les données XYZ pour les convertir en SHP (je travaille sur ArcGis), pour au final faire une conversion "points vers raster". Malheureusement, l'import des XYZ fait planter QGIS pour certains fichiers (erreur "Exception : bad allocation")
-GlobalMapper (payant) : Il est possible d'exporter directement les fichiers sous n'importe quel format raster. Malheureusement, en ouvrant mon raster sur ArcGis, il présente des valeurs d'altitude incohérentes (de l'ordre de 10 exposant 38....). Etonnamment, ce meme raster est cohérent si je l'ouvre sur GlobalMapper.
Quelqu'un connait-il un logiciel libre pour résoudre ce problème ? (de préférence un logiciel dédié au traitement de données lidar)
Merci d'avance 1000 fois !
Benjamin
Hors ligne
#2 Fri 08 February 2013 09:58
- chanteclair
- Participant assidu
- Lieu: Pau
- Date d'inscription: 3 Jan 2007
- Messages: 726
Re: convertir des données xyz en raster
Essaie Saga Gis
Hors ligne
#3 Fri 08 February 2013 10:53
- benjamin_68
- Participant assidu
- Lieu: Lapoutroie
- Date d'inscription: 3 May 2010
- Messages: 200
Re: convertir des données xyz en raster
C'est déjà fait pour Saga Gis : impossible d'importer des XYZ, à moins qu'il yait une astuce ? j'ai essayé avec "import tables" ...
Hors ligne
#4 Fri 08 February 2013 11:50
- fbecir
- Participant assidu
- Lieu: Saint-Mandé
- Date d'inscription: 16 Sep 2008
- Messages: 519
Re: convertir des données xyz en raster
Bonjour
Vous pouvez peut être essayé avec IGNMap (http://ignmap.ign.fr). IGNMap peut importer du XYZ mais forcement avec des gros fichiers on peut avoir de mauvaises surprises ...
Cordialement
Hors ligne
#5 Fri 08 February 2013 13:56
- Sylvain_M
- Membre
- Lieu: Lyon
- Date d'inscription: 3 Aug 2009
- Messages: 298
Re: convertir des données xyz en raster
Bonjour,
il est possible de faire ça avec Grass:
- import des fichiers avec v.in.ascii, ne pas oublier l'option -z "créer un vecteur 3D" ainsi que -b "ne pas construire la topologie" (l'import sera bien plus rapide)
- assembler les vecteurs avec v.patch
- filtrer tout ce qui dépasse du sol (bâtiments, arbres, ...) avec dans l'ordre v.lidar.edgedetection, puis v.lidar.growing, puis v.lidar.correction
- interpoler le raster mnt avec v.surf.bspline
les détails pour chaque commande sont expliqués dans le manuel (onglet "manual" dans la boite de dialogue de la commande).
Grass est capable de traiter de très gros jeux de données, il faut juste faire attention à ne pas être trop optimiste sur la quantité de mémoire diponible, et ne pas hésiter à effectuer les traitements par morceaux et faire l'assemblage des dalles mnt tout à la fin.
Hors ligne
#6 Sat 09 February 2013 16:26
- bernard lortic
- Participant assidu
- Lieu: crest 26
- Date d'inscription: 23 Jan 2006
- Messages: 549
- Site web
Re: convertir des données xyz en raster
Bonjour,
je pense qu'avec SavGis il n'y aurait pas de problèmes.
Bernard LORTIC IRD 93143 Bondy
http://www.bdvilles.ird.fr/lortic_pages … index.php3
http://www.bdvilles.ird.fr/lortic_pages … index.html
Hors ligne
#7 Wed 23 April 2014 15:22
- baudon
- Participant occasionnel
- Lieu: Caluire-et-Cuire
- Date d'inscription: 27 Jan 2014
- Messages: 16
Re: convertir des données xyz en raster
Bonjour,
J'ai fait l'acquisition d'un MNT au format XYZ à partir du CRIGE PACA. Le problème est que je n'arrive pas à l'ouvrir. En effet j'ai essayé diverses procédures :
Import sous QGIS (via Couche - Importer une couche raster). Cela donne le message d'erreur :
Code:
Emplacement\fichier n'est pas une source de données raster gérées Ungridded dataset: At line 2, X spacing was 0.000000. Expected >0 value
Import sous GRASS (interface QGIS) :
Code:
r.in.xyz "input=Emplacement\fichier" method=n type=FCELL fs=space x=1 y=2 z=3 output=couche
Le fichier raster semble bien importé mais on a un gros rectangle plein de valeurs 0 de la taille du secteur (France) sauf une quinzaine de pixels à l'emplacement normal de la couche avec des valeurs z autour de 50000.
Import sous IGN Map (Fichier : Import de MNT) : rien ne s'affiche.
Import sous IGN Map (Fichier : Import de CSV/TXT) : de nombreux points s'affichent, on peut interroger les points, on trouve l'altitude, mais, pour avoir les couches en TIF le travail est bien trop long (257 fichiers)
Pour info les données se présentent ainsi.
Pour les MNT.
La structure du MNT (XYZ) est la suivante (4 premières et 4 dernières lignes du fichier) :
Code:
1004003.010 6284997.500 331.330 1004003.010 6284992.500 332.320 1004003.010 6284987.500 333.300 1004003.010 6284982.500 334.290 1008998.010 6280017.500 159.060 1008998.010 6280012.500 160.290 1008998.010 6280007.500 161.580 1008998.010 6280002.500 162.920
Il y a 257 fichiers en tout, ayant la même structure (longitude latitude Lambert 93 et altitude).
Pour le shapefile.
Un shapefile est aussi livré, c'est une grille d'assemblage des rasters, avec les champs XMIN, XMAX, YMIN, YMAX (coordonnées Lambert 93), TILE_NAME et OLD_NAME (nom du fichier XYZ actuel). C'est peut-être la clé du problème.
Y a-t-il un moyen d'importer ce raster pour pouvoir le convertir en tif?
Je vous remercie d'avance.
Cordialement,
BAUDON Étienne
Hors ligne
#8 Fri 03 October 2014 17:41
- Didier Bétored
- Participant occasionnel
- Lieu: Avignon
- Date d'inscription: 29 Aug 2008
- Messages: 22
Re: convertir des données xyz en raster
Bonjour,
la question reste entière ...
Je suis en plein dedans et si qqun avait une idée, je serais preneur !
Je crains qu'en plus, il y ait un soucis de taille de fichier : n'y arrivant pas avec postgis, je suis revenu à GRASS et que ce soit avec r.in.xyz ou v.in .xyz puis v.t.rast : c'est vraiment trop long
Donc, j'aimerais vraiemnt tenter sous postgis pour voir la rapidité
Merci
Hors ligne
#9 Fri 03 October 2014 18:48
- VianneyD
- Participant assidu
- Date d'inscription: 30 May 2011
- Messages: 153
Re: convertir des données xyz en raster
Bonjour,
As-tu essayé avec Gdal ?
Code:
gdal_translate -of GTiff ton_fichier.xyz ton_fichier.tif
Si tu trouves le fichier en sortie trop lourd, tu peux même en profiter pour le réechantillonner avec l'option -outsize
La doc est dispo ici
Vianney Dugrain
Hors ligne
#10 Mon 06 October 2014 10:39
- HotShot
- Participant occasionnel
- Date d'inscription: 3 Apr 2006
- Messages: 24
Re: convertir des données xyz en raster
GDAL aura le même problème : il attend un fichier "par lignes successives" (comme dans une image raster classique, en somme) tandis qu'ici c'est l'inverse à savoir par colonnes successives. On peut s'en sortir en réorganisant le fichier : tri d'abord par Y (décroissant, "du nord vers le sud") suivi de X (croissant, "de l'ouest vers l'est") (on va dire que c'est du Lambert en France, à vue de nez). Ce qui donnerait :
1004003.010 6284997.500 ZZZ
1004008.010 6284997.500 ZZZ
1004013.010 6284997.500 ZZZ
...
...
1008993.010 6280002.500 ZZZ
1008998.010 6280002.500 ZZZ
Excel/OOCalc sait faire ça s'il n'y a pas des millions de lignes, divers outils existent également en ligne de commande ; et après s'il ne manque pas de point dans cette grille régulière, GDAL/QGIS arrêtera de couiner.
Hors ligne
#11 Tue 07 October 2014 08:03
- bernard lortic
- Participant assidu
- Lieu: crest 26
- Date d'inscription: 23 Jan 2006
- Messages: 549
- Site web
Re: convertir des données xyz en raster
bonjour,
je dois dire que je reste étonné par la façon dont vous inventez des problèmes.
Je reste persuadé qu'avec Savgis on résoud le problème facilement.
Si l'on veut bien m'envoyer une copie des 300 fichiers, j'en ferais volontiers la démonstration.
Bon, je suppose que cela doit faire quelques gigas, c'est pour cela que c'est intéressant.
Cordialement.
Bernard LORTIC IRD 93143 Bondy
http://www.bdvilles.ird.fr/lortic_pages … index.php3
http://www.bdvilles.ird.fr/lortic_pages … index.html
Hors ligne
#12 Mon 01 December 2014 08:52
- sincérité
- Juste Inscrit !
- Date d'inscription: 1 Dec 2014
- Messages: 1
Re: convertir des données xyz en raster
je te recommande Saga Gis aussi ..
-----------------------
SPAM !
Dernière modification par Yves (Mon 25 July 2016 15:05)
Hors ligne
#13 Tue 02 December 2014 11:56
- Julien83Mrs
- Juste Inscrit !
- Date d'inscription: 14 Oct 2014
- Messages: 4
Re: convertir des données xyz en raster
Bonjour,
Personnellement j'ai eu le même souci avec des données XYZ, je vous écrit une méthode qui a bien marché pour moi, seul problème, ça s'adapte à une utilisation d'Arcgis avec toutes ses fonctionnalités, donc je ne réponds pas ici pour les logiciels libres mais pour les utilisateurs d'Arcgis ça peut vous faire économiser de bonnes heures.
Donc,
Préparation de la donnée
Etape 1:Sélection des dalles (par exemple Marseille, ou MPM etc.)
Etape 2:Ouverture des différents fichiers xyz avec le bloc note, conversion des points par des virgules.
Etape 3:Importation des fichiers xyz dans Excel, enregistrement sous format excel 2007, décaler les colonnes vers le bas, ajouter des entêtes F1, F2 et F3
Opérations dans Arcgis
Etape 4:Dans Arcgis, aller dans add data > add XY value, désigner F1 et F2 comme les valeurs X et Y et F3 comme Z. Réitérer l'opération sur l'ensemble des fichiers, normalement on doit avoir des séries de points
Etape 5:Reprojection des points sous format Lambert 93 (optionnel si vous travaillez en CC44)
Etape 6: interpolation des dalles de points avec la méthode de votre choix (personnellement, voisin naturel puisque les données sont très régulières et également réparties), j'ai utilisé model builder pour aller plus vite
Etape 7, normalement vous avez une série de dalles sous format GRID arcgis, vous n'avez plus qu'à créer un raster dataset (à ne pas confondre avec la mosaïque, qui peut aussi être une option selon ce que vous recherchez), rentrer les paramètres de sortie (par exemple 16 bit unsigned si vous voulez éviter les valeurs sous 0, définir -9999 comme le NoData etc.)
Etape 8: Load rasters avec le clic droit sur votre icône raster dataset, chargez vos dalles raster, normalement vous avez un assemblage noir car les statistiques n'ont pas été calculées avec des valeurs hautes automatiques qui faussent l'échantillonnage de couleur, pour y remédier (ça m'a pris quelques temps avant de comprendre), simplement clic droit sur votre raster dataset > calculate statistics et votre raster est reclassé et visuellement utilisable.
Etape 9: dernier problème, normalement l'interpolation dalle par dalle donne des limites avec du nodata entre une dalle A et une dalle B(normal puisque le calcul d'interpolation n'a pas porté sur les points hors de la dalle), pour y remédier toujours sous Arcgis, j'ai rentré cette formule dans la calculatrice raster
Con(IsNull("myraster"), FocalStatistics("myraster", NbrRectangle(2,2, "CELL"), "MEAN"), "myraster")
2,2 signifie que la recherché autour de la cellule Nodata se fait dans un rayon de 2x2 carrés (cell), à vous de la faire varier selon vos données
Normalement vous avez un MNT tout beau tout propre et utilisable pour les tâches courantes, la méthode pourrait être encore perfectionnée mais ça a bien marché pour moi.
En espérant que ça vous aide
Hors ligne
#14 Fri 15 April 2016 06:57
- Eissa
- Juste Inscrit !
- Date d'inscription: 17 May 2011
- Messages: 1
Re: convertir des données xyz en raster
Il suffit de glisser le fichier de points xyz qui représente le MNT dans QGIS
et le raster est automatiquement généré.
Hors ligne