Skip to content

About

Windows desktop app to batch-convert files across tabular, GIS/vector, mesh/simulation, and raster/DEM formats. Built for the BVECSM environmental monitoring station.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Multi-Format Converter

Version française plus bas ↓

A small Windows app to batch-convert files between several format families: tabular data (CSV/Excel/Parquet), GIS/vector data (Shapefile, File Geodatabase, ArcGIS Pro .mpkx packages → GeoJSON/KML/GeoPackage), mesh/simulation data (.vtu → CSV/VTK/XDMF/PLY), and raster/DEM data (GeoTIFF → Cloud-Optimized GeoTIFF or per-pixel CSV). Select one or several files, pick an output format, convert — runs off the UI thread so large batches don't freeze the window.

Built for the BVECSM (Bassin Versant Expérimental Campus Sainte-Marthe) research station, but usable for any files in these formats. Author: Maxime Tarka. See LICENSE (MIT).

Download (end users)

Download the latest ready-to-use archive from the Releases page, unzip it anywhere, then double-click run_app.bat. No Python installation, no PowerShell script to run.

Installation (development / maintainers)

  • Windows, no Python installed: run powershell -ExecutionPolicy Bypass -File setup\setup_runtime.ps1 to download an embeddable Python and install dependencies into runtime/, then launch with run_app.bat.
  • With Python 3.12 already installed: create a virtual environment, install setup/requirements.txt, then run python app/main.py.

To build a ready-to-share archive, see setup/package_app.ps1 and RELEASING.md.

Supported formats

Family Input Output
Tabular CSV, Excel (.xlsx/.xls), Parquet CSV, Excel, Parquet
GIS / vector Shapefile (.shp), File Geodatabase (.gdb folder), ArcGIS Pro Map Package (.mpkx) GeoJSON, KML, GeoPackage (.gpkg)
Mesh / simulation VTK unstructured grid (.vtu) CSV (points + point data), VTK legacy, XDMF, PLY
Raster / DEM GeoTIFF (.tif/.tiff) Cloud-Optimized GeoTIFF (.tif), CSV (x, y, value per pixel)

A batch must be a single family at a time (the app rejects mixing e.g. a CSV and a .shp in the same conversion, since they don't share output options) — convert one family, then the next.

Using the app

  1. Add files... (multi-select) or Add folder (.gdb)... for a File Geodatabase, since that's a folder, not a single file.
  2. Pick an output format from the dropdown — the list adapts to the family detected in your selection.
  3. Optionally choose an output folder; leave empty to write each converted file next to its source.
  4. Click Convert. Each file converts in its own background thread (bounded by CPU count), so the window stays responsive even for large batches or large files. Per-file results and a final summary appear below.

GIS notes

  • .mpkx files (ArcGIS Pro Map Packages) are 7z archives containing one or more .gdb/.shp layers. The app extracts them internally using a bundled standalone 7za.exe (see app/bin/LICENSE-7za.txt) — no separate 7-Zip install needed. If a package contains multiple layers, each is written as a separate output file (<name>__<layer>.<ext>).
  • .gdb is a folder, not a file — use the Add folder (.gdb)... button, not Add files....

Raster notes

  • Cloud-Optimized GeoTIFF (COG) is a regular GeoTIFF, reorganized internally (tiled, with resolution overviews) so a web map can request only the pixels/zoom level it needs instead of downloading the whole file — same numeric values, no precision loss.
  • The per-pixel CSV output (one row per pixel: x, y, value) can get very large for high-resolution rasters. If a selected raster exceeds ~10 million pixels, the app warns with an estimated row count before converting.

Light / dark mode

The theme button in the top bar switches the whole interface. The choice is remembered between sessions.

Troubleshooting

  • Application logs are in app\logs\app.log.
  • Unhandled errors (crashes) are written to app\logs\crash.log.

🇫🇷 Convertisseur Multi-Formats (français)

English version above ↑

Petit logiciel Windows pour convertir des fichiers par lots entre plusieurs familles de formats : données tabulaires (CSV/Excel/Parquet), données SIG/vecteur (Shapefile, File Geodatabase, packages ArcGIS Pro .mpkx → GeoJSON/KML/GeoPackage), données de maillage/simulation (.vtu → CSV/VTK/XDMF/PLY), et données raster/DEM (GeoTIFF → Cloud-Optimized GeoTIFF ou CSV par pixel). Sélectionner un ou plusieurs fichiers, choisir un format de sortie, convertir — tourne hors du thread principal pour que les gros lots ne figent pas la fenêtre.

Fait pour la station de recherche BVECSM (Bassin Versant Expérimental Campus Sainte-Marthe), mais utilisable pour n'importe quel fichier dans ces formats. Auteur : Maxime Tarka. Voir LICENSE (MIT).

Télécharger (utilisateurs finaux)

Télécharger la dernière archive prête à l'emploi depuis la page Releases, la décompresser n'importe où, puis double-cliquer sur run_app.bat. Aucune installation de Python, aucun script PowerShell à exécuter.

Installation (développement / mainteneurs)

  • Windows, sans Python installé : exécuter powershell -ExecutionPolicy Bypass -File setup\setup_runtime.ps1 pour télécharger un Python embarqué et installer les dépendances dans runtime/, puis lancer avec run_app.bat.
  • Avec Python 3.12 déjà installé : créer un environnement virtuel, installer setup/requirements.txt, puis lancer python app/main.py.

Pour créer une archive prête à distribuer, voir setup/package_app.ps1 et RELEASING.md.

Formats pris en charge

Famille Entrée Sortie
Tabulaire CSV, Excel (.xlsx/.xls), Parquet CSV, Excel, Parquet
SIG / vecteur Shapefile (.shp), File Geodatabase (dossier .gdb), package ArcGIS Pro (.mpkx) GeoJSON, KML, GeoPackage (.gpkg)
Maillage / simulation VTK unstructured grid (.vtu) CSV (points + données par point), VTK legacy, XDMF, PLY
Raster / DEM GeoTIFF (.tif/.tiff) Cloud-Optimized GeoTIFF (.tif), CSV (x, y, valeur par pixel)

Un lot doit être d'une seule famille à la fois (l'app refuse de mélanger par ex. un CSV et un .shp dans la même conversion, puisqu'ils n'ont pas les mêmes options de sortie) — convertir une famille, puis l'autre.

Utiliser l'application

  1. Add files... (sélection multiple) ou Add folder (.gdb)... pour une File Geodatabase, puisque c'est un dossier, pas un fichier unique.
  2. Choisir un format de sortie dans le menu déroulant — la liste s'adapte à la famille détectée dans la sélection.
  3. Choisir optionnellement un dossier de sortie ; laisser vide pour écrire chaque fichier converti à côté de sa source.
  4. Cliquer sur Convert. Chaque fichier se convertit dans son propre thread en arrière-plan (borné par le nombre de cœurs CPU), donc la fenêtre reste réactive même pour de gros lots ou de gros fichiers. Le résultat par fichier et un résumé final s'affichent en bas.

Remarques SIG

  • Les fichiers .mpkx (packages ArcGIS Pro) sont des archives 7z contenant une ou plusieurs couches .gdb/.shp. L'application les extrait en interne via un 7za.exe autonome fourni (voir app/bin/LICENSE-7za.txt) — aucune installation séparée de 7-Zip n'est nécessaire. Si un package contient plusieurs couches, chacune est écrite dans un fichier de sortie séparé (<nom>__<couche>.<ext>).
  • .gdb est un dossier, pas un fichier — utiliser le bouton Add folder (.gdb)..., pas Add files....

Remarques raster

  • Le Cloud-Optimized GeoTIFF (COG) est un GeoTIFF classique, réorganisé en interne (tuilé, avec des pyramides de résolution) pour qu'une carte web puisse demander uniquement les pixels/le niveau de zoom nécessaire au lieu de télécharger tout le fichier — mêmes valeurs numériques, aucune perte de précision.
  • La sortie CSV par pixel (une ligne par pixel : x, y, valeur) peut devenir très volumineuse pour des rasters haute résolution. Si un raster sélectionné dépasse ~10 millions de pixels, l'application avertit avec une estimation du nombre de lignes avant de convertir.

Mode clair / sombre

Le bouton de thème dans la barre du haut bascule toute l'interface. Le choix est mémorisé entre les sessions.

Dépannage

  • Les logs applicatifs sont dans app\logs\app.log.
  • Les erreurs non gérées (crash) sont écrites dans app\logs\crash.log.

About

Windows desktop app to batch-convert files across tabular, GIS/vector, mesh/simulation, and raster/DEM formats. Built for the BVECSM environmental monitoring station.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages