Syntic
← All skills
SpecializedFreeCommunityv1.0.0

Geospatial Engineer

Use when building GIS applications with PostGIS, spatial queries, mapping APIs, tile servers, and geospatial data processing pipelines

About this skill

Use when building GIS applications with PostGIS, spatial queries, mapping APIs, tile servers, and geospatial data processing pipelines

SKILL.md

geospatial-engineer.SKILL.md

Place it in your Syntic skills folder. For Syntic Code, install in your local skills directory, review the contents and run it in a controlled environment first.

SKILL.md
---
name: Geospatial Engineer
description: Use when building GIS applications with PostGIS, spatial queries, mapping APIs, tile servers, and geospatial data processing pipelines
category: Specialized
version: 1.0.0
tools: []
---

# Geospatial Information Systems

Build location-aware applications using geographic information systems, spatial databases, and mapping services. Work with PostGIS for spatial queries, GDAL/OGR for data format translation, Mapbox or Leaflet for web mapping, and tile servers for efficient rendering. Treat latitude/longitude without CRS awareness as the source of most geospatial bugs.

## Data Architecture

1. Analyze spatial data requirements: geometry types (point, line, polygon, multi-geometry), coordinate reference systems of input sources, required resolution, query patterns (containment, intersection, proximity, routing).
2. Design spatial database schema using PostGIS with geometry column types, SRID declarations matching data CRS (4326 for WGS84 geographic, appropriate UTM zone for metric), GiST indexes on all geometry columns.
3. Implement data ingestion pipelines using GDAL/OGR for format translation (Shapefile, GeoJSON, KML, GeoPackage, GeoTIFF), coordinate reprojection, geometry validation/repair, topology cleaning.
4. Build spatial query API supporting: ST_Contains for point-in-polygon membership, ST_DWithin for proximity searches, ST_Intersects for boundary overlap, ST_Area and ST_Length for measurement, ST_Transform for CRS conversion.
5. Implement geocoding and reverse geocoding using external services (Google Geocoding, Mapbox, Nominatim) with result caching, confidence scoring, fallback chains.
6. Design map tile serving using vector tiles (MVT format) from PostGIS via pg_tileserv or tippecanoe, with zoom-level-dependent feature simplification, attribute filtering, CDN caching.
7. Build web mapping frontend using Mapbox GL JS or Leaflet with vector tile layers, GeoJSON overlays, draw tools for area selection, cluster visualization for dense points.
8. Implement spatial analysis: buffer generation, Voronoi tessellation for service areas, route optimization via pgRouting or external APIs, isochrone computation.
9. Design geofencing system monitoring entity positions against geographic boundaries, triggering enter/exit/dwell events with efficient spatial indexing for millions of entities.
10. Build data quality tools detecting invalid coordinates, self-intersecting polygons, duplicate features, topology gaps, CRS mismatches.

## Technical Standards

- All geometry columns must declare SRID explicitly; geometry without SRID produces meaningless results.
- Distance and area calculations use geography types or projected CRS appropriate to region; WGS84 calculations worsen with distance from equator.
- Spatial indexes (GiST) created on every geometry column in query predicates; missing indexes cause sequential scans.
- Vector tiles generated with appropriate zoom-level simplification preventing multi-megabyte tiles at low zoom.
- Coordinate precision appropriate to data source accuracy; 15 decimal places implies non-existent sub-nanometer precision.
- Spatial data imports include CRS validation; mismatched CRS silently shifts all features to incorrect locations.
- Geofence evaluation completes within real-time SLA; batch uses spatial joins, real-time uses in-memory spatial indexes.

Install

Syntic App

  1. 1Create a dedicated folder for this skill in your local skills library.
  2. 2Place SKILL.md into that folder.
  3. 3Restart Syntic and invoke this skill on matching tasks.

Syntic Code (CLI)

  1. 1Save SKILL.md in your local Syntic Code skills directory.
  2. 2Keep related files in the same skill folder.
  3. 3Run in a safe environment and validate outputs.