cloudfunctions/SegmentPortraitPic/node_modules/@cloudbase/database/dist/esm/geo/multiLineString.js
(完整代码) 1KBimport { SYMBOL_GEO_MULTI_LINE_STRING } from '../helper/symbol';
import { isArray, isNumber } from '../utils/type';
import { LineString } from './lineString';
export class MultiLineString {
constructor(lines) {
if (!isArray(lines)) {
throw new TypeError(`"lines" must be of type LineString[]. Received type ${typeof lines}`);
}
if (lines.length === 0) {
throw new Error('Polygon must contain 1 linestring at least');
}
lines.forEach(line => {
if (!(line instanceof LineString)) {
throw new TypeError(`"lines" must be of type LineString[]. Received type ${typeof line}[]`);
}
});
this.lines = lines;
}
parse(key) {
return {
[key]: {
type: 'MultiLineString',
coordinates: this.lines.map(line => {
return line.points.map(point => [point.longitude, point.latitude]);
})
}
};
}
toJSON() {
return {
type: 'MultiLineString',
coordinates: this.lines.map(line => {
return line.points.map(point => [point.longitude, point.latitude]);
})
};
}
static validate(multiLineString) {
if (multiLineString.type !== 'MultiLineString' || !isArray(multiLineString.coordinates)) {
return false;
}
for (let line of multiLineString.coordinates) {
for (let point of line) {
if (!isNumber(point[0]) || !isNumber(point[1])) {
return false;
}
}
}
return true;
}
get _internalType() {
return SYMBOL_GEO_MULTI_LINE_STRING;
}
}
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
