J'ai des fichiers sortie: p> dxf code> et que vous souhaitez les transformer en fichiers code> geojson code>:
input_file = 'BJ-SZZDS-1010084246-dongta-11.dxf'
output_file = 'BJ-SZZDS-1010084246-dongta-11.geojson'
def dxf2geojson(output_file, input_file):
command = ['ogr2ogr', '-f', 'GeoJSON', output_file, input_file]
p = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
return p
dxf2geojson(output_file, input_file)
3 Réponses :
Tout d'abord, vous pouvez enregistrer tous les noms de fichiers dans une liste, par exemple, puis, exécutez chaque fichier à partir de la file_list code>:
File_List Code>: p>
Génial. Heureux d'aider.
Vous pouvez enregistrer tous les fichiers dans une liste, puis itérer sur elle.
NomError: Nom 'Input_File' n'est pas défini. Je pense que vous avez manqué la pièce de définir INPUT_FILE code> et
de sortie_file code>.
J'ai corrigé ça. Je viens de devoir remplacer le INPUT_FILE code> avec
dex_file code>
Vous pouvez le faire en remplaçant votre fonction d'impression dans le code d'itération de fichier à la fonction de conversion.
import subprocess from subprocess import call import os working_directory = 'D:/dxf_files/' for subdir, dirs, files in os.walk(working_directory): for file in files: if file.endswith('.dxf'): input_file = file output_file = file[:-3]+'geojson' P = dxf2geojson(output_file, input_file)