Satellite, LiDAR and map data, turned into answers you can check.

Geospatial consulting for teams who need flood extents, terrain models, water-quality trends or automated GIS workflows, delivered with the Python code that produced every number.

UK-based, working remotely. A written scope before any work starts. You keep the code.

Map of the lower Indus in Sindh, Pakistan, with newly flooded land in blue spreading across the plain on 8 September 2022.
Sindh, Pakistan, 8 Sep 2022. Sentinel-1 VV radar against a pre-flood baseline: 1,933 km² newly under water. From the SAR flood-mapping tutorial.

Who this is for

What we can do for you

  1. Python geospatial automation and pipelines

    Repeatable GeoPandas, Shapely and rasterio workflows that replace manual clicking: spatial joins, overlays, format conversion and scheduled processing, with spatial indexes so they stay fast at scale.

    See it done Fast vector geoprocessing in Python: spatial indexes, overlays and modern file formats
  2. Earth observation and remote sensing analysis

    Sentinel-1 SAR flood mapping, Sentinel-2 water and vegetation indices, water-quality proxies and change detection, streamed from STAC catalogues so only the pixels you need are downloaded.

    See it done Sentinel-1 SAR flood mapping in Python: the 2022 Pakistan floods
  3. LiDAR, terrain and DEM processing

    Point-cloud cleaning and classification, DTM, DSM and canopy height models, hillshade, slope, aspect, profiles and zonal statistics from national and global elevation data.

    See it done LiDAR point clouds in Python with laspy: from a LAZ file to a DTM, DSM and canopy height model
  4. Interactive web maps and dashboards

    Shareable Leaflet maps built from your GeoDataFrames: styled layers, tooltips, popups and switchable basemaps, delivered as a single HTML file or embedded in your site.

    See it done Interactive web maps from Python with Folium and GeoPandas .explore()
  5. Data sourcing

    Finding the right boundaries, elevation, imagery and statistics for a country or study area, checking licences and formats, and getting them into a usable, documented shape.

    See it done GIS data sources catalogue
  6. Training and workshops

    Hands-on sessions for analysts moving from desktop GIS to Python, built around worked examples like the ones on this site and adapted to your own data.

    See it done Python geospatial tutorials
  7. 3D-printed terrain models

    Watertight, print-ready STL models of real landscapes from a DEM, scaled to your print size and checked before they reach the printer.

    See it done From DEM to 3D-printable STL with Python and NumPy

What this looks like

All tutorials →

Four worked projects from this site. Each started with a question, used public data, and ends with figures you can reproduce from the published script.

Check the work before you hire

The work is published in the open. There are 10 Python tutorials, 10 of them with their full scripts, requirements and recorded console output on a source code page. Each states the library versions it was tested with, and names every dataset and its licence.

The GIS data catalogue lists 880 sources for 237 countries and territories, link-checked automatically. It's the same groundwork that goes into sourcing data for a client project.

How an engagement works

  1. Discovery call

    A conversation about the question you need answered, the data you have, and what a useful result looks like for you.

  2. Scoped proposal

    A written scope: the deliverables, the data and methods, what is out of scope, the timeline and a quote.

  3. Delivery

    Work in agreed stages with early outputs to check against, so surprises in the data surface while there is still time to adjust.

  4. Handover

    Results, maps and the scripts that produced them, with notes on how to rerun them on new data. Nothing depends on us afterwards.

Ways to work together

Fixed-scope project

A defined question with a clear deliverable: a flood extent, a terrain product, a processing pipeline or a web map.

Quoted for the agreed scope before work starts.

Request a quote →

Ongoing support

Regular processing, maintenance of existing scripts, or a specialist on call for your own GIS team.

Scoped to your workload and reviewed as it changes.

Request a quote →

Workshop or training

Getting analysts productive in Python for GIS, remote sensing or terrain work, using your own data where possible.

Scoped to your group size, level and topics.

Request a quote →

Questions

Who owns the data, code and results?

You do. Everything produced for your project, including the scripts, is handed over at the end, and your own data is used only for your project.

What tools do you use?

Mainly Python: GeoPandas, Shapely, rasterio, rioxarray, pystac-client, laspy, OSMnx and Folium, plus QGIS and ArcGIS Pro where a desktop GIS fits better. If your team already works in a particular stack, the work can fit around it.

Do you use open-source software and open data?

By default, yes. Open libraries and free data such as Copernicus Sentinel, the Copernicus DEM, USGS 3DEP and OpenStreetMap keep costs down and mean you can rerun the work without licences. Commercial data or software can be used when a project needs it.

Will you sign an NDA?

Yes. Confidentiality terms can be agreed before you share any data or details of the project.

Where are you based, and do you work remotely?

TechnicalGIS is based in the UK and works remotely, so projects from clients elsewhere are welcome. The tutorials on this site were produced the same way, from public data and cloud-hosted archives.

How much does it cost?

Each project is scoped individually, so there is no price list. After a short discovery call you receive a written proposal with a quote before any work starts.

Tell us what you need to find out.

Describe the question, the area and any data you already have. You'll get a reply by email and, if it's a good fit, an invitation to a discovery call.

Start a consulting enquiry