Skip to main content

ShapefileLoader

From-v2.3

Shapefile loader

LoaderCharacteristic
File FormatShapefile
Data FormatTable
Data FormatGeometry
File Extension.shp,
File TypeBinary, Multi-File
Supported APIsload, parse, parseSync
Decoder TypeSynchronous
Worker Thread SupportYes, For Some Loaders

Usage

import {ShapefileLoader} from '@loaders.gl/shapefile';
import {load} from '@loaders.gl/core';

const data = await load(url, ShapefileLoader);

Options

OptionTypeDefaultDescription
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.

Output

The ShapefileLoader's output looks like the following. data holds an array of GeoJSON Features. 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.

{
encoding: 'ISO-8859-1',
prj: null,
shx: {
offsets: Int32Array(8) [
50, 0, 0, 0,
0, 0, 0, 0
],
lengths: Int32Array(8) [
14, 0, 0, 0,
0, 0, 0, 0
]
},
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
}
},
data: [ { type: 'Feature', geometry: [Object], properties: [Object] } ]
}