Skip to content
forked from OSGeo/gdal

This is an Emscripten port of GDAL, an open source X/MIT licensed translator library for raster and vector geospatial data formats.

Notifications You must be signed in to change notification settings

ddohler/gdal-js

This branch is 29225 commits ahead of, 25749 commits behind OSGeo/gdal:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

439cb1c · Jan 30, 2023
Aug 12, 2022
Jan 24, 2018
Jan 30, 2023
Aug 14, 2022
Aug 12, 2022
Nov 11, 2022
Jan 21, 2020
Jan 9, 2023
Apr 23, 2017
Nov 11, 2022
Jan 30, 2023
Jan 30, 2023
Feb 13, 2017
Jan 21, 2020
Aug 15, 2022
Jan 9, 2023

Repository files navigation

GDAL JS

An Emscripten port of GDAL 2.4.

Installation

npm install gdal-js

Usage

Caution! It is strongly recommended to run this code inside of a web worker. To see complete examples for how to do this, checkout the examples directory. From simplest to most complex, these are:

  1. inspect_geotiff
  2. inspect_vector
  3. map_extent
  4. thumbnail
  5. thumbnail_map
  6. tile_tiff

If you want to use GDAL from within a Node application, you are probably looking for https://www.npmjs.com/package/gdal.

This library exports the following GDAL functions:

  • CSLCount
  • GDALSetCacheMax
  • GDALAllRegister
  • GDALOpen
  • GDALOpenEx
  • GDALClose
  • GDALGetDriverByName
  • GDALCreate
  • GDALCreateCopy
  • GDALGetRasterXSize
  • GDALGetRasterYSize
  • GDALGetRasterCount
  • GDALGetRasterDataType
  • GDALGetRasterBand
  • GDALGetRasterStatistics
  • GDALGetRasterMinimum
  • GDALGetRasterMaximum
  • GDALGetRasterNoDataValue
  • GDALGetDataTypeSizeBytes
  • GDALGetDataTypeByName
  • GDALGetDataTypeName
  • GDALRasterIO
  • GDALRasterIOEx
  • GDALReadBlock
  • GDALWriteBlock
  • GDALGetBlockSize
  • GDALGetActualBlockSize
  • GDALGetProjectionRef
  • GDALSetProjection
  • GDALGetGeoTransform
  • GDALSetGeoTransform
  • OSRNewSpatialReference
  • OSRDestroySpatialReference
  • OSRImportFromEPSG
  • OCTNewCoordinateTransformation
  • OCTDestroyCoordinateTransformation
  • OCTTransform
  • GDALCreateGenImgProjTransformer
  • GDALDestroyGenImgProjTransformer
  • GDALGenImgProjTransform
  • GDALDestroyGenImgProjTransformer
  • GDALSuggestedWarpOutput
  • GDALTranslate
  • GDALTranslateOptionsNew
  • GDALTranslateOptionsFree
  • GDALWarpAppOptionsNew
  • GDALWarpAppOptionsSetProgress
  • GDALWarpAppOptionsFree
  • GDALWarp
  • GDALBuildVRTOptionsNew
  • GDALBuildVRTOptionsFree
  • GDALBuildVRT
  • GDALReprojectImage
  • CPLError
  • CPLSetErrorHandler
  • CPLQuietErrorHandler
  • CPLErrorReset
  • CPLGetLastErrorMsg
  • CPLGetLastErrorNo
  • CPLGetLastErrorType
  • GDALRasterize
  • GDALRasterizeOptionsNew
  • GDALRasterizeOptionsFree
  • GDALDEMProcessing
  • GDALDEMProcessingOptionsNew
  • GDALDEMProcessingOptionsFree
  • GDALDatasetGetLayer
  • GDALDatasetGetLayerByName
  • GDALDatasetGetLayerCount
  • GDALDatasetExecuteSQL
  • GDALRasterIO
  • GDALRasterIOEx
  • GDALDatasetRasterIO
  • GDALDatasetRasterIOEx
  • GDALReadBlock
  • GDALWriteBlock
  • GDALGetBlockSize
  • GDALGetActualBlockSize
  • OGR_L_GetNextFeature
  • OGR_L_GetExtent
  • OGR_L_GetLayerDefn
  • OGR_L_ResetReading
  • OGR_L_GetName
  • OGR_F_GetFieldAsInteger
  • OGR_F_GetFieldAsInteger64
  • OGR_F_GetFieldAsDouble
  • OGR_F_GetFieldAsString
  • OGR_F_GetFieldAsBinary
  • OGR_F_GetFieldAsDateTime
  • OGR_F_GetFieldAsDateTimeEx
  • OGR_F_GetFieldAsDoubleList
  • OGR_F_GetFieldAsIntegerList
  • OGR_F_GetFieldAsInteger64List
  • OGR_F_GetFieldAsStringList
  • OGR_F_GetGeometryRef
  • OGR_F_Destroy
  • OGR_FD_GetFieldCount
  • OGR_FD_GetFieldDefn
  • OGR_Fld_GetType
  • OGR_Fld_GetNameRef
  • OGR_G_GetGeometryType
  • OGR_G_GetX
  • OGR_G_GetY
  • OGR_G_GetPoint
  • OGR_G_GetPoints
  • OGR_G_GetPointCount
  • OGR_G_GetEnvelope
  • OGR_G_GetSpatialReference
  • OGR_G_Intersects
  • OGR_G_Simplify
  • OGR_G_Touches
  • OGR_G_Transform
  • OGR_G_Within
  • OGR_G_ExportToGML
  • OGR_G_ExportToJson
  • OGR_G_ExportToJsonEx
  • OGR_G_ExportToKML
  • OGR_G_ExportToWkb
  • OGR_G_ExportToWkt
  • GDALVectorTranslate (ogr2ogr)
  • GDALVectorTranslateOptionsFree
  • GDALVectorTranslateOptionsNew
  • GDALVectorTranslateOptionsSetProgress
  • GDALPolygonize
  • GDALFPolygonize
  • GDALSieveFilter

For documentation of these functions' behavior, please see the GDAL documentation

In order to limit build size, GDAL is currently built with raster support for GeoTIFFs, PNGs, and JPEGs only.

Developing

  1. Install Docker
  2. Run ./scripts/setup, which will build the Docker container.
  3. Run ./scripts/make gdal. The make script just calls make from inside the Docker container.
  4. ./scripts/make clean works as expected.
  5. To package up a release, run ./scripts/make VERSION=<number> release

About

This is an Emscripten port of GDAL, an open source X/MIT licensed translator library for raster and vector geospatial data formats.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 64.9%
  • C 13.7%
  • Python 13.1%
  • HTML 2.8%
  • Shell 1.5%
  • SWIG 1.4%
  • Other 2.6%