qgis-js v0.0.3
qgis-js
QGIS core ported to WebAssembly to run it on the web platform
Version: 0.0.3
(based on QGIS 3.32.1)
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-js
Usage
import { qgis } from "qgis-js";
const { api } = await qgis();
const rect = new api.Rectangle(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 packages is 54.01 MB
(uncompressed) or 14.88 MB
Brotli compressed (72% space saving) / 17.24 MB
Gzip compressed (68% space saving)
It consists of the following files:
File name | Size (uncompressed) | Size (Brotli compressed) | Size (Gzip compressed) |
---|---|---|---|
qgis.js | 4.86 kB | 1.73 kB (64% space saving) | 1.82 kB (63% space saving) |
assets/wasm/qgis-js.js | 328.26 kB | 70.45 kB (79% space saving) | 75.28 kB (77% space saving) |
assets/wasm/qgis-js.worker.js | 3.1 kB | 1.19 kB (61% space saving) | 1.27 kB (59% space saving) |
assets/wasm/qgis-js.data | 11.03 MB | 1.74 MB (84% space saving) | 2.27 MB (79% space saving) |
assets/wasm/qgis-js.wasm | 42.66 MB | 13.07 MB (69% space saving) | 14.89 MB (65% space saving) |
Libraries
Library | License | Links |
---|---|---|
exiv2 (0.28.0)Image metadata library and tools | GPL-2.0-or-later | Website - Source code |
expat (2.5.0)XML parser library written in C | MIT | Website - Source code |
gdal (3.7.1)The Geographic Data Abstraction Library for reading and writing geospatial raster and vector data | Website - Source code | |
geos (3.11.2)Geometry Engine Open Source | LGPL-2.1-only | Website |
inih (57)Simple .INI file parser | BSD-3-Clause | Website - Source code |
json-c (2022-06-26)A JSON implementation in C | MIT | Website - Source code |
libgeotiff (1.7.1)Libgeotiff is an open source library on top of libtiff for reading and writing GeoTIFF information tags. | MIT | Website - Source code |
libiconv (1.17)GNU Unicode text conversion | Website | |
libjpeg-turbo (3.0.1)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 - Source code |
liblzma (5.4.4)Compression library with an API similar to that of zlib. | Website - Source code | |
libspatialindex (1.9.3)C++ implementation of R*-tree, an MVR-tree and a TPR-tree with C API. | MIT | Website - Source code |
libzip (1.9.2)A library for reading, creating, and modifying zip archives. | BSD-3-Clause | Website - Source code |
nlohmann-json (3.11.2)JSON for Modern C++ | MIT | Website - Source code |
proj (9.3.0)PROJ library for cartographic projections | MIT | Website - Source code |
protobuf (3.21.12)Protocol Buffers - Google's data interchange format | BSD-3-Clause | Website - Source code |
qca (2.3.6)Qt Cryptographic Architecture (QCA). | LGPL-2.1 | Website - Source code |
qgis (3.32.1)QGIS is a free, open source, cross platform (lin/win/mac) geographical information system (GIS) | GPL-2.0 | Website - Source code |
qt6 (6.5.2)Qt6 Application Framework Base Module. Includes Core, GUI, Widgets, Networking, SQL, Concurrent and other essential qt components. | LGPL-3.0 | Website - Source code |
qtkeychain (0.14.0)(Unaffiliated with Qt) Platform-independent Qt5 API for storing passwords securely | BSD-3-Clause | Website - Source code |
sqlite3 (3.43.1)SQLite is a software library that implements a self-contained, serverless, zero-configuration, transactional SQL database engine. | blessing | Website |
tiff (4.6.0)A library that supports the manipulation of TIFF image files | libtiff | Website - Source code |
zlib (1.3)A compression library | Zlib | Website - Source code |
Versioning
This package uses SemVer for versioning. For the versions available, see the tags on this repository.