About geospatial-viewers
geospatial-viewers is a set of tools for quick inspection of geospatial data, intended for people working with raster, vector, and tabular files. It combines interactive Qt viewers with a terminal-inline preview tool, run using uvx.
Key features
- 01Interactive raster viewing
- 02Interactive vector viewing
- 03Terminal-inline previews
- 04CSV and Parquet analysis
- 05Vector table viewing and filtering
Use cases
- 01Inspect GeoTIFF, HDF, or NetCDF rasters
- 02Browse vector datasets interactively
- 03Preview CSV or Parquet in a terminal
- 04View geospatial data over SSH
Install
Copy the command and run it in a terminal.
$
npx skills add https:/ / github.com/ isaaccorley/ geospatial-skills --skill geospatial-viewersAfter installing, type/geospatial-viewersin Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
references/viewgeom.mdviewinline.mdviewtif.mdDetails
From the project READMEGeospatial Viewers
Three CLI tools for quick-look inspection of geospatial data. Always run them via uvx so they are auto-installed without polluting the project environment.
| Tool | Purpose | PyPI |
|---|---|---|
| viewtif | Interactive Qt viewer for rasters (GeoTIFF, HDF, NetCDF, FileGDB) | uvx viewtif |
| viewgeom | Interactive Qt viewer for vector datasets | uvx viewgeom |
| viewinline | Non-interactive terminal-inline viewer (rasters, vectors, CSV, Parquet) | uvx viewinline |
Choosing the Right Tool
- Need interactive zoom/pan/contrast? Use
viewtif(rasters) orviewgeom(vectors). - Quick inline preview in iTerm2/WezTerm/Konsole? Use
viewinline(no GUI window, renders in terminal). - CSV/Parquet analysis (stats, histograms, SQL)? Use
viewinline. - Vector file as table (describe, filter, sort)? Use
viewinline --table. - Headless server / SSH / HPC? Use
viewinline(renders on local terminal, no X11 needed).
Running with uvx
Always prepend uvx to auto-install and run without modifying the local environment:
uvx viewtif file.tif
uvx viewgeom boundaries.geojson
uvx viewinline file.tif
For optional extras, use the --from flag:
uvx --from "viewtif[geo]" viewtif raster.tif --shapefile overlay.shp
uvx --from "viewtif[netcdf]" viewtif data.nc
uvx --from "viewgeom[parquet]" viewgeom data.geoparquet
Quick Reference
# Raster inspection
uvx viewtif image.tif
uvx viewtif image.tif --shapefile boundaries.shp
uvx viewtif image.tif --rgb 4 3 2
uvx viewtif image.tif --vmin 280 --vmax 320
uvx viewtif huge_raster.tif --scale 10
# NetCDF / HDF
uvx --from "viewtif[netcdf]" viewtif data.nc --subset 1 --timestep 100
# FileGDB raster
uvx viewtif "OpenFileGDB:/path/to.gdb:RasterName"
# Remote files
AWS_NO_SIGN_REQUEST=YES uvx --from "viewtif[geo]" viewtif s3://bucket/raster.tif --shapefile local.shp
# Vector inspection
uvx viewgeom boundaries.geojson
uvx viewgeom landuse.shp --column area_sqkm
uvx viewgeom earthquake.geojson --filter "mag > 5"
uvx viewgeom earthquake.geojson --duckdb "SELECT * FROM data WHERE mag > 5"
uvx viewgeom earthquake.geojson --duckdb "SELECT mag FROM data WHERE mag > 5" --save filtered.geojson
# Terminal-inline preview
uvx viewinline file.tif --colormap
uvx viewinline sentinel2.tif --rgb 4 3 2
uvx viewinline boundaries.geojson --color-by population
uvx viewinline file.nc --subset 1 --timestep 10
# CSV / Parquet analysis
uvx viewinline data.csv --describe
uvx viewinline data.csv --hist area_km2 --bins 30
uvx viewinline data.csv --scatter longitude latitude
uvx viewinline data.csv --sql "SELECT State, AVG(Income) FROM data GROUP BY State"
# Vector as table
uvx viewinline counties.shp --table --describe
uvx viewinline data.geoparquet --table --where "POP > 100000" --sort POP --desc
# Image gallery
uvx viewinline outputs/ --gallery 4x3
References
references/viewtif.mdreferences/viewgeom.mdreferences/viewinline.md
Comments
Markdown supported