docs: function getBoundingBox(linearRing) {
  	if (!Array.isArray(linearRing)) {
  		throw new XError(XError.INVALID_ARGUMENT, 'linearRing must be an array');
  	}
  	let leftX = Infinity;
  	let rightX = -Infinity;
  	let bottomY = Infinity;
  	let topY = -Infinity;
  
  	for (let point of linearRing) {
  		if (!Array.isArray(point) || point.length !== 2 || point.some((coord) => typeof coord !== 'number')) {
  			throw new XError(XError.INVALID_ARGUMENT, 'invalid point in linear ring');
  		}
  		let [ x, y ] = point;
  		if (x < leftX) leftX = x;
  		if (x > rightX) rightX = x;
  		if (y < bottomY) bottomY = y;
  		if (y > topY) topY = y;
  	}
  	return {
  		topLeftVertex: [ leftX, topY ],
  		width: rightX - leftX,
  		height: topY - bottomY
  	};
  }