J'ai une énorme quantité de données sous la forme de CSV contenant les coordonnées UTM en X
et Y
et une valeur d'élévation comme Z
information. J'ai besoin de convertir ces données en DEM en tant que GeoTIFF pour une analyse plus approfondie. Dans ce cas, une énorme quantité signifie 16 m. lignes, avec un point dans X
, Y
et Z
par ligne. Les points sont également répartis, donc une interpolation n'est pas nécessaire; chaque point doit simplement être converti en cellule raster.
Les données d'origine étaient fournies sans séparateur, avec des largeurs de colonne fixes. J'ai déjà compris comment convertir la syntaxe du fichier pour utiliser un séparateur au lieu de largeurs fixes et éliminer tous les caractères d'espace, en utilisant l'éditeur de texte de flux sed . A partir de là, normalement mon flux de travail serait d'importer les données dans ArcGIS en créant une classe d'entités des X
, Y
et des Z
données et en tant que deuxième étape, la conversion du point shapefile en GeoTIFF, en utilisant le point à Raster outil. Cependant, le fichier que j'ai actuellement est trop volumineux pour ce processus.
Au lieu du workflow décrit ci-dessus, je cherchais une alternative efficace et j'ai découvert GDAL. Cependant, dans gdal_translate
, le format pris en charge le plus proche que je peux trouver dans la liste des types de fichiers pris en charge, est la grille ASCII mais pas de XYZ séparé par des virgules. Une autre difficulté est que j'ai des coordonnées UTM , alors que la plupart des exemples semblent utiliser des coordonnées en degrés décimaux. Cependant, je dois rester dans le système UTM (ou au moins, ma sortie GeoTIFF doit être dans un système de coordonnées UTM).
Je cherche donc un moyen de convertir le CSV XYZ en GeoTIFF, en utilisant GDAL , mais jusqu'à présent je n'ai pas pu trouver d'exemples traitant de ce problème exact. Je serais très heureux pour quelques conseils ou même des exemples de code.
Réponses:
Vous pouvez le faire en utilisant GDAL, il prend directement en charge le format XYZ . Peu importe si vos coordonnées sont UTM, gdal_translate sortira dans le même système de coordonnées.
Donc, convertir en GeoTIFF est aussi simple que:
Regardez le doc GeoTIFF pour les options de sortie (comme la compression) et le doc gdal_translate pour plus d'informations d'utilisation. En particulier, vous devez spécifier le système de coordonnées avec le
-a_srs
paramètre.Les largeurs de colonne séparées par des virgules / espaces et avec ou sans ligne d'en-tête sont prises en charge.
Les seuls problèmes que je connaisse sont:
Le fichier doit être trié correctement (par Y, puis X).
la source
-a_srs EPSG:12345
Open Data DGM200 d'Allemagne: https://gdz.bkg.bund.de/index.php/default/open-data/digitales-gelandemodell-gitterweite-200-m-dgm200.html
Téléchargez le fichier xyz: https://daten.gdz.bkg.bund.de/produkte/dgm/dgm200/aktuell/dgm200.utm32s.xyzascii.zip
Convertissez xyz en fichier GeoTIFF:
la source