Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 17 additions & 10 deletions cspell.json
Original file line number Diff line number Diff line change
@@ -1,25 +1,32 @@
{
"version": "0.2",
"words": [
"pytest",
"marp",
"Kartoza",
"QGIS",
"visualising",
"Marp",
"colour",
"colours",
"docstrings",
"gource",
"Hefni",
"hefniraera",
"Isochrones",
"kartoza",
"Kartoza",
"marp",
"Marp",
"oversaturatin",
"sandboxed",
"pgdata",
"gource",
"pytest",
"qgis",
"QGIS",
"sandboxed",
"timlinux",
"Visualise",
"docstrings",
"qgis",
"kartoza",
"timlinux",
"Lindie",
"Strijdom",
"linstrijdom"
"linstrijdom",
"visualising"
]
}
}
Binary file added img/culinaryfacilities-collection.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added img/culinaryfacilities-erd.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added img/culinaryfacilities-forms.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added img/culinaryfacilities-model.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added img/culinaryfacilities-results.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added img/interns/hefni-raera.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
128 changes: 128 additions & 0 deletions presentations/3-culinaryfacilities.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,128 @@
---
marp: true
theme: infrastructure
class: _lead
header: 'Infrastructure Mapper'
footer: 'Kartoza (Pty) Ltd. 2025'
---

<!-- Title Slide -->
<!-- _class: lead -->

# 🌍 *Infrastructure Mapper - Culinary Facilities*

## *Hefni Rae R A*

📅 *04/07/2025*

---

## 👩‍💻 About Me

![bg left](../img/interns/hefni-raera.png)

- Intern at **Kartoza**
- Bachelor of Engineering, majored in Geodetic Engineering
- Currently exploring GIS with a growing interest in open-source GIS. Passionate about GIS and map styling.
- Tools used: QGIS, QFieldCloud, PostgreSQL, pgAdmin, VS Code, Marp, GitHub, etc.

---

## 🧱 The Model

![ERD](../img/culinaryfacilities-erd.png)

---

## 📋 The Forms

QGIS smart forms created to collect and validate field data efficiently.

![Forms Collage](../img/culinaryfacilities-forms.png)

---

## 🏞️ Field Collection

> Data collected in the field using mobile GIS apps and GPS-enabled devices.

---

## 🗺️ Collection Results

- **Total features collected:**
- Points: 80
- **Area covered:** 15 km²

![Map of Features](../img/culinaryfacilities-collection.png)

---

## ❓ Analysis Problem

- How can we determine culinary facilities that are reachable within a specific travel time from a central point?
- Which culinary facilities that can be reached within 8 minutes and offer the best combination of **low price**, **high ratings**, specific **facilities** like Wi-Fi and indoor seating, and specific **category** like Cafe/Bakery?

---

## ⚙️ Methodology

- A custom QGIS Model Designer diagram used for repeatable spatial processing.

![QGIS Model](../img/culinaryfacilities-model.png)

---

## 📊 Results

- Isochrones analysis output
- Features within specific travel time and given parameters.
![Results](../img/culinaryfacilities-results.png)

---

## 💡 Insights

- Average Price Range by Category
- Rating Distribution
- Top Categories with High Ratings
- Most common facility
- Most common category
- Facilities Coverage
- Facilities by Category

---

## 🔬 Further Research

If I had more time, I would:

- Develop a specific travel mode for motorcycles to better represent real conditions, possibly using custom routing technology.
- Improve the model so users can select facilities and categories using dropdowns connected to the lookup table, ensuring updates are reflected automatically.
- Increase the study area and collect more data to improve the analysis

---

## 🧳 My Internship Experience

### Highlights

- ✅ Mastered QGIS and explored various GIS tools and workflows
- 🔍 Contributed to impactful projects
- 🌟 Improved problem-solving, adaptability, and critical thinking
- ⏰ Enhanced time management while balancing multiple tasks and responsibilities
- 🌍 Improved English communication skills through professional and collaborative engagements

---

## 📧 Contact Me

👤 Hefni Rae R. A.
📨 [hefniraera17@gmail.com](mailto:hefniraera17@gmail.com)
🔗 [linkedin.com/in/hefniraera](https://www.linkedin.com/in/hefniraera/)
💼 [github.com/hefniraera](https://github.com/hefniraera)

---

> 🤖 **Prompt:** Create a GIS related image for the Analysis Problem slide
>
44 changes: 32 additions & 12 deletions sql/12-culinary.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,38 +6,58 @@ The **Culinary** component models food service infrastructure, such as kitchens,

**Entities from `sql/12-culinary.sql`:**

- `culinary_facility_type`: Lookup table for types of culinary facilities (e.g., kitchen, canteen, pantry).
- `culinary_facility`: Represents individual culinary facilities, with geometry and a reference to `culinary_facility_type`.
- `food_storage`: Represents food storage areas, with geometry and attributes for capacity and type.
- `culinary_category`: Lookup table for culinary categories (e.g., traditional, fast food). Includes attributes such as name, notes, and metadata for updates.

- `culinary_facility`: Represents individual culinary facilities, including attributes like name, description, rating, price range, and location (geometry). Also references `culinary_category` to indicate the category of the facility.

- `facility_type`: Lookup table for types of facilities associated with culinary spots (e.g., parking lot, restroom, playground). Includes descriptive attributes and metadata for updates.

- `culinary_facility_types`: Association table linking `culinary_facility` with `facility_type`. Represents a many-to-many relationship between facilities and their associated types, with additional metadata and optional notes for the association.

```mermaid
erDiagram
culinary_facility_type {
culinary_category {
UUID uuid PK
TEXT name
TEXT notes
TIMESTAMP last_update
TEXT last_update_by
}

culinary_facility {
UUID uuid PK
UUID culinary_facility_type_uuid FK
GEOMETRY geometry
TEXT name
TEXT description
TEXT notes
DECIMAL rating_value
DECIMAL min_price
DECIMAL max_price
GEOMETRY geometry
TIMESTAMP last_update
TEXT last_update_by
UUID culinary_category_uuid FK
}
food_storage {

facility_type {
UUID uuid PK
GEOMETRY geometry
TEXT name
INTEGER capacity_kg
TEXT storage_type
TEXT description
TIMESTAMP last_update
TEXT last_update_by
}

culinary_facility_types {
UUID uuid PK
UUID culinary_facility_uuid FK
UUID facility_type_uuid FK
TEXT notes
TIMESTAMP last_update
TEXT last_update_by
}

culinary_facility_type ||--o{ culinary_facility : "has many"
culinary_facility ||--o{ food_storage : "contains"
culinary_category ||--o{ culinary_facility : "has many"
culinary_facility ||--o{ culinary_facility_types : "has associations"
facility_type ||--o{ culinary_facility_types : "associated with"
```

> 🤖 **Prompt:** Add a subsection to here which has:
Expand Down