📝 Introduction
Companies that extract gravel and sand from watercourses work under strict rules. They must record every cubic meter. They must also stay within the permitted quota. On top of that, they must respect the permit deadline and pay a fee to the state. A gravel extraction web GIS brings all of this into one place. That is exactly what GeographyTech built.
Today, many companies still track this work on paper or in scattered spreadsheets. That approach works at first. However, it breaks down with one simple question: how much quota remains on this site, and did the company pay last month’s fee? So this custom web application replaces those scattered records. Instead, it gives the team one self-hosted “electronic logbook”. It keeps the spatial data, the records, the quotas, and the payments together.
🗄️ The Database
The system runs on a PostgreSQL/PostGIS database. The design is simple on purpose: one company, one isolated database. There is no shared central server. As a result, the data belongs to the company and stays with the company.
The database stores each extraction site as a MultiPolygon geometry in EPSG:3908. The rest of the model follows how the industry really works:
- a permit sets the contracted quantity, the price, and the deadline;
- one or more annexes can later change the quota or extend the deadline;
- the app pulls in a time-versioned price from the government decision automatically;
- each daily entry stores a price snapshot, so old records never change later.
QGIS handles the site geometry. The web app then treats that geometry as read-only. In short, each tool does the job it does best.
✍️ Daily Extraction Logging
The heart of the app is one simple page. There, the operator logs each day’s extraction. The operator picks a site first. Then a live quota meter appears at once. It shows how much the company took, how much remains, and the current percentage. All of this appears before the operator even saves the entry.
Below the form sit the filters and a table of earlier entries. The operator can edit or delete any record directly. A delete also removes the row for good. Still, the system quietly keeps a copy in a background audit log. So the screen stays clean, and the records stay safe.
🗺️ The Gravel Extraction Web GIS Dashboard
The home screen is a Leaflet dashboard. It draws every site on the map. Then it colors each site by how much of its quota the company has used:
CASE
WHEN procenat <= 40 THEN 'green' WHEN procenat <= 60 THEN 'yellow' WHEN procenat <= 90 THEN 'orange' ELSE 'red'
END AS color
The map and the site cards share the same source. So a red polygon and a card warning about a spent quota always tell the same story. A KPI band sums up the whole operation at a glance. An alarm panel then shows what needs attention. It flags quotas above 90%, deadlines within 30 days, sites with no recent entries, and unpaid fees. Each alarm links straight to the right screen.
💰 Obligations and Payments
The fee to the state is simple: extracted quantity times price. So the app works it out automatically. It also tracks the fee by site and by month.
A separate payments screen uses a year selector. It shows the full picture: total obligation, paid, and remaining debt. A Chart.js graph then splits paid and unpaid by month. Two tables follow, one by month and one by site. As a result, you see at once where the company owes money. You also see which site carries the largest debt. Finally, one click settles an obligation, with a date and a payment-order number.
📄 Configurable Reports
Sometimes the company needs a document to print or share. For that, the app creates PDF reports with a chart and totals. It also creates Excel exports. The user picks the report type, the period, the sites, and the columns. So the same engine makes both a detailed log and a short monthly summary.
✨ Benefits
in short, the move from paper to a purpose-built web GIS gives the company:
- a reliable “quota left” figure at any moment, per site, with no manual counting;
- early warnings on deadlines and near-full quotas, before they grow into a problem;
- automatic fee math and a clear paid or unpaid view, by month and by site;
- one source of truth that every user sees the same way;
- reports on demand, in PDF and Excel, with no rebuilding by hand.
✅ Conclusion
A record-keeping problem turned into a real operational tool. The app now knows where each site sits. It knows how much the company can still take. It also knows when the deadline falls and whether the company paid the fees.
The same stack – PostgreSQL/PostGIS, Leaflet, Chart.js, and Python – fits many other cases too. It suits any team that tracks quantities against spatial assets, quotas, and deadlines. That could be another extraction company. It could also be a public authority that oversees them.
So if your team still runs this work on paper or in spreadsheets, a gravel extraction web GIS like this is exactly what GeographyTech builds. Get in touch through the contact form below, and let’s see how it could fit your workflow.
