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)