GIS Extension for Map Management and Analysis
GEMMA is a QGIS processing plugin developed by the Geospatial Management Division (GMD) of the Philippine Statistics Authority (PSA).
It provides a comprehensive set of GIS tools for map management and analysis activities, including boundary checking, geometry repair, metadata management, enumeration area creation, and field data collection packaging.
For installation guides, tool references, and the changelog, visit the GEMMA Documentation Site.
We welcome contributions from everyone! Choose the workflow that matches your role:
| Role | Workflow | Access Level |
|---|---|---|
| Contributor (external / community) | Fork → PR | No direct repo access needed |
| Developer (GMD team member) | Branch → PR | Push access to the repo |
If you are not a member of the GMD team, follow this fork-based workflow.
- Go to github.com/GMD-Repository/gemma-plugin.
- Click the Fork button (top-right) to create your own copy of the repository under your GitHub account.
- Open VS Code.
- Press
Ctrl + Shift + P→ type Git: Clone → hit Enter. - Paste your fork's URL:
https://github.com/<your-username>/gemma-plugin.git - When prompted to select a folder, navigate to your QGIS plugins directory:
C:\Users\Admin\AppData\Roaming\QGIS\QGIS3\profiles\default\python\plugins\and click Select Repository Location. - Once it finishes downloading, click Open when prompted.
(Note: VS Code will name the folder
gemma-pluginby default. If QGIS needs it to be namedgemma_plugin, you can rename the folder in your File Explorer later).
Before starting new work, sync your fork with the upstream repository:
- Add upstream remote (one-time setup): Open a terminal in VS Code (
Ctrl + ~) and run:git remote add upstream https://github.com/GMD-Repository/gemma-plugin.git
- Fetch & merge upstream changes:
git checkout main git fetch upstream git merge upstream/main git push origin main
- Create a branch: Click on
mainin the bottom-left corner of VS Code → select + Create new branch... → type a descriptive name (e.g.,fix-gap-detectionoradd-export-tool). - Make your changes on this branch.
- Open the Source Control panel (branch icon on the left sidebar).
- Hover over Changes and click the + (Stage All Changes) icon.
- Type a short, descriptive commit message explaining what you changed.
- Click Commit, then click Publish Branch (or Sync Changes) to push to your fork.
- Go to your fork on GitHub — you will usually see a green "Compare & pull request" button. Click it.
- Alternatively, go to the original repo's Pull requests tab → click New pull request → click compare across forks → select your fork and branch.
- Make sure: base repository =
GMD-Repository/gemma-plugin· base =main· head repository =<your-username>/gemma-plugin· compare = your branch. - Add a clear title and description explaining what you changed and why.
- Click Create pull request.
- Wait for a team member to review and approve your PR!
If you are a GMD team member with push access to the repository, use this direct branching workflow.
IMPORTANT: Always do your work on a personal branch. Please use your name for your personal branch (e.g., john-doe) so that it's easy to identify who the pull request belongs to.
Option A: New Users (First-time setup via VS Code)
If you do not have the project on your computer yet:
- Open VS Code.
- Press
Ctrl + Shift + P→ type Git: Clone → hit Enter. - Paste the repository URL:
https://github.com/GMD-Repository/gemma-plugin.git - When prompted to select a folder, navigate to your QGIS plugins directory:
C:\Users\Admin\AppData\Roaming\QGIS\QGIS3\profiles\default\python\plugins\and click Select Repository Location. - Once it finishes downloading, click Open when prompted.
(Note: VS Code will name the folder
gemma-pluginby default. If QGIS needs it to be namedgemma_plugin, you can rename the folder in your File Explorer later). - Create your branch: Click on
mainin the bottom-left corner of VS Code → select + Create new branch... → type your name (e.g.,john-doe).
Option B: Existing Users (Update your code & Switch Branch)
If you already have the project open in VS Code:
- Switch to main: Click your current branch name in the bottom-left corner and select
main. - Pull updates: Open the Source Control panel (branch icon on the left sidebar). Click the … (Views and More Actions) menu → go to Pull, Push → click Pull.
- Switch to (or create) your branch: Click
mainin the bottom-left corner again.- If this is your FIRST time, select + Create new branch... and type your name.
- If you ALREADY have a branch, simply select your branch name from the list.
(Note: If you switched to an existing branch, you can update it by opening the Command Palette (
Ctrl + Shift + P), typing Git: Merge Branch, and selectingmainto merge the new updates into your personal branch.)
Now that you are on your personal branch (double-check the bottom-left corner to ensure it shows your name, not main), you can safely edit, add, or move files.
(Tip: If you need to fix your folder structure by moving files from a subfolder into the root folder, you can simply drag and drop them in the VS Code Explorer!)
- Open the Source Control panel (branch icon on the left sidebar).
- Hover over Changes and click the + (Stage All Changes) icon to stage your files.
- Type a short, descriptive commit message explaining what you changed.
- Click Commit, then click Publish Branch (or Sync Changes) to push your updates to GitHub.
- Go to the repository on GitHub: https://github.com/GMD-Repository/gemma-plugin
- You will usually see a green "Compare & pull request" button for your recently pushed branch. Click it.
- Alternatively, go to the Pull requests tab → click New pull request. Make sure the base is
mainand the compare branch is your personal branch. - Add a clear title and description explaining what you changed and why.
- Click Create pull request.
- Wait for a team member to review and approve your PR!
- Issues & Feature Requests: GitHub Issues
- Email: gmd.support@psa.gov.ph
- Organization: Geospatial Management Division (GMD), Philippine Statistics Authority