qgis-js
v4.0.0
Published
QGIS core ported to WebAssembly to run it on the web platform
Downloads
161
Readme
qgis-js
QGIS core ported to WebAssembly to run it on the web platform
Version: 4.0.0 (based on QGIS 4.0.0)
qgis-js Repository | qgis-js Website | "qgis-js" package source
⚠️🧪 Work in progress! Currently this project is in public beta
Description
QGIS core compiled to WebAssembly to run it on the web platform. This package provides the WebAssembly module and JavaScript/TypeScript API to load the runtime and interact with QGIS.
See the qgis-js repository for more information about the project.
Installation
npm install -S qgis-jsUsage
import { qgis } from "qgis-js";
const { api } = await qgis();
const rect = new api.QgsRectangle(1, 2, 3, 4);
rect.scale(5);
const center = rect.center();
console.log(center.x, center.y);💡 Have a look at the Integration packages to load QGIS projects and display them on a map
⚠️ It must be ensured that...
- the clients meets the compatibility requirements
- that the webserver is configured to allow cross-origin requests
- that if you are using a bundler, it is configured to load the qgis-js assets
Integration packages
| Package | Description | npm |
| -------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- |
| @qgis-js/ol | OpenLayers sources to display qgis-js maps | |
| @qgis-js/utils | Utilities to integrate qgis-js into web applications |
|
WebAssembly module
Size
The size of the package is 77.06 MB (uncompressed) or 18.74 MB Brotli compressed (76% space saving) / 22.08 MB Gzip compressed (71% space saving)
It consists of the following files:
| File name | Size (uncompressed) | Size (Brotli compressed) | Size (Gzip compressed) |
| -------------------------- | ------------------- | ----------------------------- | ----------------------------- |
| qgis.js | 5.19 kB | 1.87 kB (64% space saving) | 1.97 kB (62% space saving) |
| assets/wasm/qgis-js.js | 276.92 kB | 61.28 kB (78% space saving) | 65.16 kB (76% space saving) |
| assets/wasm/qgis-js.data | 13.4 MB | 2.01 MB (85% space saving) | 2.62 MB (80% space saving) |
| assets/wasm/qgis-js.wasm | 63.39 MB | 16.67 MB (74% space saving) | 19.4 MB (69% space saving) |
Libraries
| Library | License | Links | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------- | --------------------------------------------------------------------------------------------------------------------------- | | abseil (20260107.1)Abseil is an open-source collection of C++ library code designed to augment the C++ standard library. The Abseil library code is collected from Google's own C++ code base, has been extensively tested and used in production, and is the same code we depend on in our daily coding lives. | Apache-2.0 | Website - Source code | | double-conversion (3.4.0)Efficient binary-decimal and decimal-binary conversion routines for IEEE doubles. | | Website - Source code | | egl-registry (2025-05-27)EGL API and Extension Registry | | Website - Source code | | exiv2 (0.28.8)Image metadata library and tools | GPL-2.0-or-later | Website - Source code | | expat (2.7.4)XML parser library written in C | MIT | Website - Source code | | freetype (2.13.3)A library to render fonts. | FTL OR GPL-2.0-or-later | Website - Source code | | gdal (3.12.2)The Geographic Data Abstraction Library for reading and writing geospatial raster and vector data | | Website - Source code | | geos (3.14.1)Geometry Engine Open Source | LGPL-2.1-only | Website | | inih (62)Simple .INI file parser | BSD-3-Clause | Website - Source code | | json-c (0.18-20240915)A JSON implementation in C | MIT | Website - Source code | | libb2 (0.98.1)C library providing BLAKE2b, BLAKE2s, BLAKE2bp, BLAKE2sp | | Website - Source code | | libgeotiff (1.7.4)Libgeotiff is an open source library on top of libtiff for reading and writing GeoTIFF information tags. | MIT | Website | | libiconv (1.18)iconv() text conversion. | | Website | | libjpeg-turbo (3.1.3)libjpeg-turbo is a JPEG image codec that uses SIMD instructions (MMX, SSE2, NEON, AltiVec) to accelerate baseline JPEG compression and decompression on x86, x86-64, ARM, and PowerPC systems. | BSD-3-Clause | Website | | liblzma (5.8.2)Compression library with an API similar to that of zlib. | | Website | | libpng (1.6.55)libpng is a library implementing an interface for reading and writing PNG (Portable Network Graphics) format files | libpng-2.0 | Website | | libspatialindex (2.0.0)C++ implementation of R*-tree, an MVR-tree and a TPR-tree with C API. | MIT | Website | | libzip (1.11.4)A C library for reading, creating, and modifying zip archives. | BSD-3-Clause | Website | | md4c (0.5.2)MD4C is a C library providing a Markdown parser. | MIT | Website - Source code | | nlohmann-json (3.12.0)JSON for Modern C++ | MIT | Website - Source code | | opengl-registry (2026-01-26)OpenGL, OpenGL ES, and OpenGL ES-SC API and Extension Registry | | Website - Source code | | opengl (2022-12-04)Open Graphics Library (OpenGL)[3][4][5] is a cross-language, cross-platform application programming interface (API) for rendering 2D and 3D vector graphics. | | | | pcre2 (10.47)Regular Expression pattern matching using the same syntax and semantics as Perl 5. | BSD-3-Clause | Website | | proj (9.7.1)PROJ library for cartographic projections | MIT | Website - Source code | | protobuf (6.33.4)Google's language-neutral, platform-neutral, extensible mechanism for serializing structured data. | BSD-3-Clause | Website - Source code | | qgis (4.0.0)QGIS is a free, open source, cross platform (lin/win/mac) geographical information system (GIS) | GPL-2.0 | Website - Source code | | qt5compat (6.10.1)The Qt 5 Core Compat module contains the Qt 5 Core APIs that were removed in Qt 6. The module facilitates the transition to Qt 6. | | Website | | qtbase (6.10.1)Qt Base (Core, Gui, Widgets, Network, ...) | | Website | | qtkeychain (0.14.3)(Unaffiliated with Qt) Platform-independent Qt6 API for storing passwords securely | BSD-3-Clause | Website - Source code | | qtmultimedia (6.10.1)Qt Multimedia is an add-on module that provides a rich set of QML types and C++ classes to handle multimedia content. | | Website | | qtshadertools (6.10.1)The Qt Shader Tools module is designed to provide a set of tools and utilities to work with graphics shaders. | | Website | | qtsvg (6.10.1)Qt SVG provides classes for rendering and displaying SVG drawings in widgets and on other paint devices. | | Website | | qttools (6.10.1)A collection of tools and utilities that come with the Qt framework to assist developers in the creation, management, and deployment of Qt applications. | | Website | | sqlite3 (3.51.2)SQLite is a software library that implements a self-contained, serverless, zero-configuration, transactional SQL database engine. | blessing | Website | | tiff (4.7.1)A library that supports the manipulation of TIFF image files | libtiff | Website - Source code | | utf8-range (6.33.4)Fast UTF-8 validation with Range algorithm (NEON+SSE4+AVX2) | MIT | Website - Source code | | zlib (1.3.1)A compression library | Zlib | Website - Source code | | zstd (1.5.7)Zstandard - Fast real-time compression algorithm | BSD-3-Clause OR GPL-2.0-only | Website - Source code |
Versioning
This package uses SemVer for versioning. For the versions available, see the tags on this repository.
