An Emscripten port of GDAL 2.4.
npm install gdal-js
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:
inspect_geotiff
inspect_vector
map_extent
thumbnail
thumbnail_map
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.
- Install Docker
- Run
./scripts/setup
, which will build the Docker container. - Run
./scripts/make gdal
. The make script just callsmake
from inside the Docker container. ./scripts/make clean
works as expected.- To package up a release, run
./scripts/make VERSION=<number> release