Skip to main content



A "sub loader" for the .shp (geometries) file component of a shapefile.

Note: Most applications will want to use the ShapefileLoader instead of this loader.

File FormatShapefile
Data FormatGeometry
File Extension.shp
File TypeBinary
File FormatShapefiles
Supported APIsload, parse, parseSync
Decoder TypeSynchronous
Worker Thread SupportYes


import {SHPLoader} from '';
import {load} from '';

const data = await load(url, SHPLoader);


shp._maxDimensionsInteger4Shapefiles can hold up to 4 dimensions (XYZM). By default all dimensions are parsed; when set to 2 only the X and Y dimensions are parsed. Note that for some Shapefiles, the third dimension is M, not Z. header.type in the output designates the stored dimensions.


The ShapefileLoader's output looks like the following. geometries holds an array of features in's binary geometry format. prj contains the Shapefile's projection string. header contains the Shapefile's header values, including a bounding box of the data and the file's geometry type. Consult the Shapefile specification for the meaning of the numeric types.

geometries: [ { positions: [Object], type: 'Point' } ],
header: {
magic: 9994,
length: 136,
version: 1000,
type: 11,
bbox: {
minX: 1,
minY: 2,
minZ: 3,
minM: 0,
maxX: 1,
maxY: 2,
maxZ: 3,
maxM: 0
progress: { bytesUsed: 0, bytesTotal: 136, rows: 1 },
currentIndex: 2