Profils topographiques multi-sources Mompeo 2025 : Combinaison MNT raster, axes vectoriels SHP et nuage de points lasergrammétriques PLY
收藏资源简介:
1. Résumé (Abstract) Ce data paper décrit un jeu de données et des scripts Python pour la génération automatisée de profils topographiques dans le cadre de fouilles archéologiques. La méthode combine cinq sources : MNT raster (0,1 m), axes SHP, nuage de points 3D PLY (lasergrammétrie), contours XZ de structures souterraines (SHP 3D) et courbes de niveau pour le lissage. Elle produit quatre types de rendus cartographiques à 300 dpi en JPEG et SVG. Les données correspondent à une villa romaine avec cryptoportique, citerne et aqueduc en Italie du sud (EPSG:7792 — IGM95). 2. Contexte scientifique 2.1 Site archéologique Le site est une villa romaine comprenant un cryptoportique (galerie souterraine voûtée), une citerne et un aqueduc enterré. L'articulation entre le terrain naturel extérieur et les espaces souterrains nécessite une représentation graphique multi-sources précise. 2.2 Quatre rendus produits Rendu Fichier Description 1 — Coupe E-O villa Profil_Coupe_EO_villa.jpg/.svg Profil en long E-O court (66,6 m) — cryptoportique PLY 2 — Coupe N-S villa Profil_Coupe_NS_villa.jpg/.svg Profil en long N-S (73,9 m) — cryptoportique PLY 3 — Coupe E-O complète Profil_Coupe_EO_complet_villa.jpg/.svg Profil en long E-O étendu (311 m) — aqueduc SHP, citerne SHP, MNT Est PLY, courbes de niveau 4 — Profils en travers Profils_Travers_EO_complet_villa.jpg/.svg 18 profils en travers ±5 m (stations 3→20) — Nord en haut, absence de données signalée 3. Description des données 3.1 Inventaire des fichiers d'entrée Fichier Type Rôle mnt.tif Raster GeoTIFF MNT terrain naturel Ouest (0,1 m, EPSG:7792) cryptoportique.tif Raster GeoTIFF MNT sol cryptoportique (0,1 m) cryptoportique.ply PLY binaire Nuage 3D cryptoportique — 334 181 pts (sol, murs, plafond) points_sol_aqueduc_.ply PLY binaire Nuage 3D sol naturel Est — 645 626 pts (extension MNT) profil_aqueduc.shp SHP LineString 3D Contour XZ de l'aqueduc — 8 359 pts, Y fixe = 4 679 440,593 profil_citerne.shp SHP LineString 3D Contour XZ de la citerne — 815 pts, Y fixe = 4 679 464,345 CN_Mompeo.shp SHP LineString 2D Courbes de niveau — 216 courbes, Z=[272–303 m], champ 'elevation' profil_e-o.shp SHP LineString Axe coupe E-O court (66,6 m, 2 sommets) profil_n-s.shp SHP LineString Axe coupe N-S (73,9 m, 6 sommets) profil_e-o_complet.shp SHP LineString Axe coupe E-O long (311,0 m, 10 sommets) stations_profil_e-o.shp SHP Point Stations E-O enrichies (champ 'nature') stations_profil_n-s.shp SHP Point Stations N-S enrichies (champ 'nature') stations_profil_e-o_complet.shp SHP Point Stations E-O complet enrichies — 34 pts, nomenclature A-N puis 1-20 encart_cartographique.tif Raster GeoTIFF RGBA Fond cartographique géoréférencé (EPSG:7792) 3.2 Sorties produites Fichier Format Résolution Description Profil_Coupe_EO_villa JPEG + SVG 300 dpi Coupe Est-Ouest villa (9 stations A–I) Profil_Coupe_NS_villa JPEG + SVG 300 dpi Coupe Nord-Sud villa (9 stations A–I) Profil_Coupe_EO_complet_villa JPEG + SVG 300 dpi Coupe E-O complète (34 stations A–N puis 1–20) Profils_Travers_EO_complet_villa JPEG + SVG 300 dpi 18 profils en travers ±5 m — stations 3→20 stations_profil_e-o_complet.shp SHP — Stations E-O complet (champ nature renseigné) tn_profil_e-o_complet_ligne.shp SHP 3D — Profil TN E-O complet (LineString 3D lissé) 4. Méthodes 4.1 Pipeline général Étape Module Entrée Sortie 1. Densification axe build_profile() SHP LineString 500–800 pts équidistants XY 2. TN Ouest sample_z() MNT raster Z par interpolation bilinéaire 3. TN Est MNT PLY 1m points_sol_aqueduc_.ply Grille 1m médiane → Z 4. Combinaison TN sample_z_combined() MNT O + MNT E Z unifié, gap interpolé linéairement 5. Lissage CN griddata + CN_Mompeo Courbes de niveau Z lissé à partir de d≥165 m (station 5) 6. Correction artefacts interp1d Valeurs 288,520m Interpolation linéaire sur pts sains voisins 7. Structures SHP interp1d (XZ) profil_aqueduc, profil_citerne Sol et plafond interpolés en X le long de l'axe 8. Cryptoportique PLY sample_ply_profile() cryptoportique.ply Projection orthogonale bande ±3 m, Z médian 9. Profils en travers build_cross() Axe + normales TN ±5 m, lissage gaussien σ=3 10. Rendu make_figure() Toutes sources JPEG 300 dpi + SVG 4.2 Nomenclature des stations — Coupe E-O complète Les 34 stations suivent une nomenclature mixte : A à N (indices 0–13, tous les 10 m + station E intercalée à d=33,9 m = croisement avec l'axe N-S), puis numérotation 1 à 20 (indices 14–33) pour les stations à partir de d=130 m. Ce basculement évite la confusion avec l'alphabet grec et les dépassements de l'alphabet latin (26 lettres). 4.3 Profils en travers Les profils en travers sont calculés perpendiculairement à l'axe E-O complet pour les 18 stations numérotées 3 à 20 (d=150–311 m). Chaque profil couvre ±5 m de part et d'autre de l'axe avec 200 points d'échantillonnage. L'orientation est Nord en haut (axe Y = distance perpendiculaire, valeurs positives = Nord). Le côté Sud (t_c=−5 m) présente une absence de données signalée. La ligne pointillée rouge indique la position de l'axe du profil en long. 4.4 Exports SVG Chaque rendu est exporté simultanément en JPEG (300 dpi, qualité 95) et en SVG vectoriel. Le format SVG permet une édition ultérieure dans des logiciels de dessin vectoriel (Inkscape, Illustrator, etc.) et une impression sans perte de qualité à toute échelle. 5. Environnement technique 5.1 Scripts Script Rôle Rendus produits gen_profiles_template.py Profils en long N-S et E-O court Rendus 1 et 2 (JPEG + SVG) gen_profil_eo_complet.py Profil en long E-O complet 311 m Rendu 3 (JPEG + SVG) gen_profils_travers.py Profils en travers 18 stations Rendu 4 (JPEG + SVG) 5.2 Dépendances Python Bibliothèque Version Rôle numpy ≥1.24 Calcul numérique rasterio ≥1.3 Lecture rasters GeoTIFF geopandas ≥0.13 Lecture Shapefiles scipy ≥1.10 Interpolation, lissage matplotlib ≥3.7 Rendu graphique JPEG + SVG plyfile ≥0.8 Lecture PLY binaire shapely ≥2.0 Géométrie vectorielle pip install numpy rasterio geopandas scipy matplotlib plyfile shapely 6. Métadonnées Zenodo Champ Zenodo Valeur Upload type Dataset + Software Title Génération automatisée de profils topographiques multi-sources pour sites archéologiques Authors Rassat Sylvain ; Schlernitzauer, Maxime ; Wengler, Florian Affiliation Université de Lorraine ORCID 0000-0002-6451-687X 0009-0006-2998-2177 Description Scripts Python et données pour la génération de profils topographiques (en long et en travers) combinant MNT raster, axes SHP, nuages PLY lasergrammétriques et contours XZ de structures souterraines (aqueduc, citerne, cryptoportique). Exports JPEG 300 dpi et SVG vectoriels. Application à une villa romaine (Italie). EPSG:7792 — IGM95. Keywords topographie; profil; MNT; lasergrammétrie; aqueduc; citerne; cryptoportique; archéologie; Python; SVG; EPSG:7792 License CC BY 4.0 Access right Open Access Version 1.1.0 6.1 Structure du dépôt Zenodo Dossier/Fichier Description README.md Documentation d'utilisation et workflow SIG data_paper_profils_zenodo.docx Ce data paper gen_profiles_template.py Script rendus 1 et 2 gen_profil_eo_complet.py Script rendu 3 gen_profils_travers.py Script rendu 4 donnees_entree/ 14 fichiers sources (TIF, PLY, SHP, courbes de niveau) resultats/*.jpg 4 planches JPEG 300 dpi resultats/*.svg 4 planches SVG vectoriels resultats/tn_profil_e-o_complet_ligne.shp Profil TN LineString 3D 7. Citation recommandée [Auteurs] (2025). Génération automatisée de profils topographiques multi-sources pour sites archéologiques [Dataset + Software]. Zenodo. https://doi.org/10.5281/zenodo.XXXXXXX @dataset{auteurs_2025_profils, author = {[Auteurs]}, title = {Génération automatisée de profils topographiques multi-sources}, year = {2025}, publisher = {Zenodo}, doi = {10.5281/zenodo.XXXXXXX}, url = {https://doi.org/10.5281/zenodo.XXXXXXX}, version = {1.1.0} } Références Gillies, S. et al. (2023). Rasterio: geospatial raster I/O for Python. Jordahl, K. et al. (2023). geopandas/geopandas. Zenodo. https://doi.org/10.5281/zenodo.3946761 Hunter, J. D. (2007). Matplotlib: A 2D graphics environment. Computing in Science & Engineering, 9(3), 90–95. Virtanen, P. et al. (2020). SciPy 1.0. Nature Methods, 17, 261–272. Harris, C. R. et al. (2020). Array programming with NumPy. Nature, 585, 357–362. Driscoll, A. (2023). plyfile. https://github.com/driscoll42/plyfile



