npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@dsh-gis/dsh-gis-gdal

v0.1.0

Published

GDAL and QGIS integration: binary detection, confined execution, and the settings that make system environment variables unnecessary

Readme

@dsh-gis/dsh-gis-gdal

GDAL 与 QGIS 的对接层:探测二进制、在沙箱里受限执行,并提供那套让系统环境变量变得不必要的设置。 用户装上 OSGeo4W 或 QGIS、在插件里告诉它路径就结束了 —— 配置目录被 PREPEND 到子进程的 PATH,环境里原有的 PATH 保留在其后。

dsh-gis 的一部分:给 DeepSeek Harness 的 GIS 能力插件(读空间数据、画地图卡片、查询、CRS 换算、OGC 服务)。

安装

通常是随 bundle 一起装进来的:

dsh plugin --profile <profile> add @dsh-gis/dsh-gis

然后把 @dsh-gis/dsh-gis 加进 profile 的 dsh.profile.bundles 并重启 dsh。 单独挂这一行(而不是 bundle)时,才需要显式 add 这个包本身。

这一层做什么

  • 发布 ctx.gisRuntime:探测 gdalinfo/ogrinfo/ogr2ogr 与 qgis_process 的版本和目录;探测从不抛错、也不阻塞启动,没装 GDAL 是受支持的配置。
  • gis_doctor 工具报告这台机器上 GDAL/QGIS 到底能不能跑、跑不了的原因,以及实际交给子进程的 PATH。
  • 配置目录被前置到子进程 PATH,extraEnv 逐行以 KEY=VALUE 追加:不必再改系统的 PATH、GDAL_DATA 或 PROJ_LIB。外部程序只经 spawn 执行,argv 绝不经过 shell,cwd 总是显式传入,并受沙箱约束。
  • GDAL handler 用 ogrinfo 拿到真实 EPSG 码(PROJ 数据库),补上纯 JS 的 .prj 解析给不出的 CRS;要素经 ogr2ogr -f GeoJSON 后由同一个 GeoJSON reader 解析。
  • 打开文件地理数据库 .gdb(全图层;读门槛 GDAL 1.11,写门槛 3.6 在本版只做诊断)与 GeoTIFF/COG 栅格;COG 由浏览器按 Range 直接读,因此自成一类。
  • gis_cog 把栅格转成 Cloud-Optimized GeoTIFF:作为后台任务运行(有进度、可取消),先查缓存配额再动 GDAL,同一文件第二次调用直接命中缓存。

许可

MIT(见 LICENSE 与 THIRD_PARTY_NOTICES.md)。