# kgalimotumi/project-phoenix-tsf-digital-twin architecture

> Architecture diagram of the GitHub repository kgalimotumi/project-phoenix-tsf-digital-twin, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-30). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/kgalimotumi/project-phoenix-tsf-digital-twin
- Repository: https://github.com/kgalimotumi/project-phoenix-tsf-digital-twin

## Overview

This small script scans a configured image folder, extracts GPS coordinates and a preferred title from each image’s EXIF metadata, creates KML placemarks for geotagged images, and saves a KML file with image references. The implementation is contained in one file; the graph separates its main runtime responsibilities. Relationships are evidenced by that excerpt.

Main entry points: [`Image_placemarker.py`](https://github.com/kgalimotumi/project-phoenix-tsf-digital-twin/blob/main/Image_placemarker.py) (Placemark script)

## Diagram (Mermaid)

```mermaid
flowchart TD

node_script["Placemark script"]
node_images["Image folder"]
node_exif["EXIF extraction"]
node_exifread["exifread"]
node_placemarks["Placemark creation"]
node_simplekml["simplekml"]
node_kmlfile["KML output"]

node_script -->|"scans"| node_images
node_script -->|"extracts metadata"| node_exif
node_exif -->|"parses EXIF"| node_exifread
node_script -->|"creates points"| node_placemarks
node_placemarks -->|"builds KML"| node_simplekml
node_script -->|"saves KML"| node_kmlfile

click node_script "https://github.com/kgalimotumi/project-phoenix-tsf-digital-twin/blob/main/Image_placemarker.py"
click node_exif "https://github.com/kgalimotumi/project-phoenix-tsf-digital-twin/blob/main/Image_placemarker.py"
click node_placemarks "https://github.com/kgalimotumi/project-phoenix-tsf-digital-twin/blob/main/Image_placemarker.py"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_script,node_exif,node_placemarks toneTeal
class node_images,node_exifread,node_simplekml,node_kmlfile toneIndigo
```

## Components

### Other components

- [Placemark script](https://github.com/kgalimotumi/project-phoenix-tsf-digital-twin/blob/main/Image_placemarker.py): `Image_placemarker.py`
- **Image folder**
- [EXIF extraction](https://github.com/kgalimotumi/project-phoenix-tsf-digital-twin/blob/main/Image_placemarker.py): `Image_placemarker.py`
- **exifread**
- [Placemark creation](https://github.com/kgalimotumi/project-phoenix-tsf-digital-twin/blob/main/Image_placemarker.py): `Image_placemarker.py`
- **simplekml**
- **KML output**

## Connections

- Placemark script → Image folder: scans (evidence: `Image_placemarker.py`)
- Placemark script → EXIF extraction: extracts metadata (evidence: `Image_placemarker.py`)
- EXIF extraction → exifread: parses EXIF (evidence: `Image_placemarker.py`)
- Placemark script → Placemark creation: creates points (evidence: `Image_placemarker.py`)
- Placemark creation → simplekml: builds KML (evidence: `Image_placemarker.py`)
- Placemark script → KML output: saves KML (evidence: `Image_placemarker.py`)
