[PYTHON] Conversion GSI_DEM en geotiff → conversion UTM → conversion ascii uniquement sur la ligne de commande Ubuntu

Je souhaite convertir le DEM du National Land Research Institute dans un format facile à utiliser avec le SIG uniquement sur la ligne de commande de Linux (Ubuntu).

S'il y a quelque chose comme une carte d'élévation ou une carte d'ombrage du terrain lue à partir d'un modèle numérique d'élévation (DEM) comme base pour placer des informations SIG, les informations SIG seront bonnes. Dans le cas du Japon, le National Land Research Institute (GSI) publie des DEM de 5 m et 10 m de maille en tant qu'informations sur l'infrastructure terrestre nationale. GSI DEM est fourni sous la forme du format JPGIS (GML) fourni. Si vous l'ouvrez avec un éditeur de texte tel que Metadata, vous trouverez des informations sur les données telles que la taille des pixels DEM et la latitude / longitude en haut du fichier.

Personnellement, il est très pratique d'utiliser le format geotiff, mais si vous jetez un coup d'œil à la conversion de format au format geotiff, vous trouverez un logiciel qui convertit dans l'environnement Windows. Cependant, en tant qu'utilisateur Linux, il est difficile de démarrer un logiciel externe et de convertir le format de fichier un par un.

Ici, j'ai montré comment terminer la conversion au format geotiff + conversion au format alpha uniquement sur le terminal à partir de l'endroit où GSI DEM a été téléchargé.

Cette fois, c'est un exemple d'environnement bash. Une explication détaillée est donnée sous le script.

gsidem2geotiff.sh


#!/bin/bash

#Ajout de ce qui manquait dans mon environnement.
#S'il manque quelque chose, ajoutez-le vous-même.
#sudo apt-get install git osmium-tool gdal-bin python python-pip python-numpy python-gdal python-matplotlib python-beautifulsoup python-lxml
#pip install gdal 
#git clone https://github.com/minorua/fgddemImporter.git

#unzip GSIDEM zip file
unzip PackDLMap.zip

#GSI DEM->geotiff #GSI DEM a été DL FG*Comme zip.
python fgddemImporter/fgddem.py FG-GML-*zip

#fichier geotiff mosaïque(merge.tif).. La valeur de la zone maritime-De 9999 à 0.
#-9999 (-spécification srcnodata)Valeur de 0(-spécification dtsnodata)À.
gdalwarp -of "ENVI" -srcnodata -9999 -dstnodata 0 FG*tif merge.tif

#transform EQA2UTM
#EPSG code| EQA:4326, UTMzone52:32652, UTMzone53:32653, UTMzone54:32654 
gdalwarp -s_srs EPSG:"4326" -t_srs EPSG:"32652" merge.tif merge_utm.tif

#Afficher le contenu de geotiff
gdalinfo merge.tif

#Je ne pense pas que ce soit nécessaire, mais geotiff->Converti au format ESRI ascii.-Soit 9999 NaN.
#-Il est découpé avec projwin. Coordonnées des bords dans le sens des aiguilles d'une montre depuis l'ouest(Mètre)Est spécifié.
gdal_translate -projwin ${west} ${north} ${east} ${south} -a_nodata -9999 -of AAIGrid merge.tif dem.asc

#EOF

L'important est ** Convertir le fichier DEM téléchargé depuis le National Land Research Institute d'un fichier zip en geotiff, convertir geotiff en mosaïque, format ESRI ascii (découpé) sur le terminal (cette fois Ubuntu 18.04 LTS, environnement bash) Il peut être complété par **.

Exemple pratique-je veux fusionner GSI DEM et ne découper qu'une partie de la zone-

Prenons Sakurajima comme exemple cette fois. C'est une révision de la procédure.

    1. Télécharger le fichier DEM de GSI HP
  1. Conversion du format JPGIS (GML) au format Geotiff
    1. Convertir en coordonnées UTM Quatre. Découpez en spécifiant les coordonnées UTM et convertissez au format ESRI ascii

Cette fois, nous utiliserons les données de la zone ci-dessous. Screenshot from 2020-09-02 08-58-28.png

Je viens de mettre une valeur concrète pour spécifier la zone de découpe dans le script ci-dessus. La zone de découpe cette fois est les coordonnées UTM (ouest, nord, est, sud) = (650500 3515000 665300 3490000).

Résultat (dessiné avec QGIS)

Screenshot from 2020-09-02 09-57-12.png Pour le moment, comme demandé, je n'ai pu découper que la zone où je voulais que le DEM GSI soit amené dans une large zone et le convertir en coordonnées UTM. Ici, la commande gdalwarp est utilisée pour convertir la mosaïque et l'UTM, mais si vous n'avez pas besoin du fichier géotiff mosaïque des coordonnées EQA, vous pouvez convertir les coordonnées UTM de la mosaïque en une seule fois en connectant les options.

gdalwarp -s_srs EPSG:"4326" -t_srs EPSG:"32652" -of "ENVI" -srcnodata -9999 -dstnodata 0 FG*tif merge_utm.tif

Découpez en spécifiant d'abord les coordonnées EQA → essayez la conversion des coordonnées UTM

Auparavant, la zone de spécification de coordonnées EQA-> UTM -> UTM était coupée, mais si vous osez couper dans la zone EQA-> conversion de coordonnées UTM, l'apparence changera un peu.

gsidem4sakurajima.sh


#!/bin/bash

#GSIDEM2geotiff
python fgddemImporter/fgddem.py FG-GML-*zip

#mosaic geotiff files -> merge.tif
gdalwarp -of "ENVI" -srcnodata -9999 -dstnodata 0 FG*tif merge.tif

#show geotiff information
gdalinfo merge.tif

#Extract Sakurajima region
gdal_translate -projwin 130.5870 31.6389 130.7414 31.5371 -a_nodata -9999 merge.tif merge_ex.tif

#transform EQA2UTM
#EPSG code| EQA:4326, UTMzone52:32652, UTMzone53:32653, UTMzone54:32654 
gdalwarp -s_srs EPSG:"4326" -t_srs EPSG:"32652" merge_ex.tif merge_utm.tif

#show merge_utm.tif information
gdalinfo merge_utm.tif

#Convert geotiff2ascii
gdal_translate -of AAIGrid merge_utm.tif dem.asc



Résultat (dessiné avec QGIS)

Screenshot from 2020-09-02 09-37-10.png Recadrage spécifié par latitude / longitude → conversion des coordonnées EQA en UTM, de sorte que les coordonnées ont été converties correctement, mais la zone a été tournée dans le sens inverse des aiguilles d'une montre. Si vous souhaitez l'utiliser davantage, cela peut être un peu difficile à utiliser.

finalement

Il est difficile de charger un script python avec un script shell. Vous devriez pouvoir bien le faire avec python seul ...

Recommended Posts

Conversion GSI_DEM en geotiff → conversion UTM → conversion ascii uniquement sur la ligne de commande Ubuntu
Convertir XLSX en CSV sur la ligne de commande
Multiplier PDF par OCR en ligne de commande sous Linux (Ubuntu)
Créer des raccourcis de commande sur Ubuntu 16.04
Procédure pour obtenir la clé KeePassX avec une ligne de commande sous OSX