Outils pour utilisateurs

Outils du site


informatique:ign_bdortho

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
informatique:ign_bdortho [23/02/2026 20:54] – [Outils] cyrilleinformatique:ign_bdortho [08/03/2026 13:05] (Version actuelle) – [Outils] cyrille
Ligne 20: Ligne 20:
 <code python> <code python>
 """ """
- 
 Installation: Installation:
 pip install rasterio pillow numpy tqdm pip install rasterio pillow numpy tqdm
- 
 """ """
 import rasterio import rasterio
Ligne 34: Ligne 32:
 from tqdm import tqdm from tqdm import tqdm
 from concurrent.futures import ThreadPoolExecutor, as_completed from concurrent.futures import ThreadPoolExecutor, as_completed
- +import argparse 
 +import sys 
 def decouper_fichier_jp2(fichier, dossier_sortie, taille=640): def decouper_fichier_jp2(fichier, dossier_sortie, taille=640):
     nom_base = os.path.splitext(os.path.basename(fichier))[0]     nom_base = os.path.splitext(os.path.basename(fichier))[0]
     sous_dossier = os.path.join(dossier_sortie, nom_base)     sous_dossier = os.path.join(dossier_sortie, nom_base)
     os.makedirs(sous_dossier, exist_ok=True)     os.makedirs(sous_dossier, exist_ok=True)
-    # Copie du fichier .tab correspondant+    # Copie du fichier .tab
     fichier_tab = fichier.replace('.jp2', '.tab')     fichier_tab = fichier.replace('.jp2', '.tab')
     if os.path.exists(fichier_tab):     if os.path.exists(fichier_tab):
Ligne 61: Ligne 61:
                         img.save(f"{sous_dossier}/{nom_base}_x{x}_y{y}.jpg")                         img.save(f"{sous_dossier}/{nom_base}_x{x}_y{y}.jpg")
                         pbar.update(1)                         pbar.update(1)
- +
 def decouper_jp2_en_tuiles_parallele(dossier_entree, dossier_sortie, taille=640, nb_threads=4): def decouper_jp2_en_tuiles_parallele(dossier_entree, dossier_sortie, taille=640, nb_threads=4):
     os.makedirs(dossier_sortie, exist_ok=True)     os.makedirs(dossier_sortie, exist_ok=True)
Ligne 72: Ligne 72:
  
 if __name__ == "__main__": if __name__ == "__main__":
 +
 +    parser = argparse.ArgumentParser(description="Découp les images BDOrtho IGN en tuiles de 640 pixels.")
 +    parser.add_argument("folder_in", help="Dossier des images à traiter (obligatoire)")
 +    parser.add_argument("folder_out", help="Dossier de sorties pour les tuiles découpées (obligatoire)")
 +    parser.add_argument("--threads", type=int, default=4, help="Combien de threads pour la découpe(défaut: 4).")
 +    args = parser.parse_args()
 +
 +    if not os.path.isdir(args.folder_in):
 +        print(f"Error: Folder '{args.folder_in}' not found.")
 +        sys.exit(1)
  
     decouper_jp2_en_tuiles_parallele(     decouper_jp2_en_tuiles_parallele(
-        "BDORTHO_2-0_RVB-0M20_JP2-E080_LAMB93_D003_2025-01-01/ORTHOHR/1_DONNEES_LIVRAISON_2026-01-00061/OHR_RVB_0M20_JP2-E080_LAMB93_D03-2025/", +        #"/media/cyrille/Seagate Backup Plus Drive/BDORTHO_2-0_RVB-0M20_JP2-E080_LAMB93_D032_2025-01-01/ORTHOHR/1_DONNEES_LIVRAISON_2025-10-00030/OHR_RVB_0M20_JP2-E080_LAMB93_D32-2025/", 
-        "BDORTHO_tuiles-640_03/", +        #"/mnt/nas/IGN_BDOrtho/BDORTHO_2-0_RVB-0M20_JP2-E080_LAMB93_D005_2025-01-01/ORTHOHR/1_DONNEES_LIVRAISON_2026-01-00129/OHR_RVB_0M20_JP2-E080_LAMB93_D05-2025/", 
-        nb_threads=4,+        args.folder_in, 
 +        #"/mnt/nas/IGN_BDOrtho/BDORTHO_tuiles-640_05/"
 +        args.folder_out
 +        nb_threads=args.threads,
     )     )
 </code> </code>
  
informatique/ign_bdortho.txt · Dernière modification : de cyrille

Sauf mention contraire, le contenu de ce wiki est placé sous les termes de la licence suivante : CC0 1.0 Universal
CC0 1.0 Universal Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki