gcslib
v1.0.3
Published
JavaScript library for parsing and serializing Geographic Coordinate System encoded strings and buffers.
Downloads
25
Maintainers
Readme
html
Thematic Earth
GCSLIB
Parsing and Serializing GCS Strings
Motivation
The creation of this library and CLI was motivated by the desire to create GIS shape files that can be downloaded by website visitors in a highly compressed format.
Summary
The gcslib
package is a core JavaScript library used by the Geoplex package, the
GCSIO command line tool, and the Thematic Earth web component.
Supported input and output formats comprise:
- geojson - RFC 7946
- gfe - Geographic Feature Encoding
- ice - Indexed Coordinate Encoding
- tae - Topological Arc Encoding
- gfebin - Geographic Feature Encoding binary
- icebin - Indexed Coordinate Encoding binary
- taebin - Topological Arc Encoding binary
The JavaScript API reads from and writes to standard ECMAScript Strings and ArrayBuffers.
The API does not access the host computer's file system, so it can be used with client facing web pages that obtain data using HTTP.
See also: The GCSIO CLI tool which uses the node.js filesystem package to read and write files using the API's exported functions.
Installation
The gcslib library may be installed directly from github or via NPM.
Browser
To install and use the API
[user@host]# git clone https://github.com/readwritetools/gcslib.git
Sample web frontend to fetch and parse an ICE file into memory:
import API from 'node_modules/gcslib/api/user-api.js'
import GcsHoldingArea from 'node_modules/gcslib/gcs/gcs-holding-area.class.js'
var response = await fetch("https://example.com/my-dataset.ice");
var payload = await response.text();
var gcsHoldingArea = new GcsHoldingArea();
var options = {
inputFormat: "ice",
datasetId: "myDataset",
properties: "all"
};
if (API.parseIce(gcsHoldingArea, payload, options) == true) {
// gcsHoldingArea now contains the parsed features with their geometries and properties.
}
Metadata
Dependencies
This library depends on softlib .
Module exports
Suitability
Availability
License
The gcslib library is not freeware. After evaluating it and before using it in a public-facing website, eBook, mobile app, or desktop application, you must obtain a license from Read Write Tools as part of the thematic-earth DOM Component.