在后端转换会更好,但也有一种 JS 方式——使用proj4js http://proj4js.org/ and 即可找到相应的数据。
重要的一点:线性环的第一个和最后一个位置需要相同。否则你的 GeoJSON 是无效 https://www.rfc-editor.org/rfc/rfc7946#section-3.1.6.所以请注意我的points
数组以同一点开始和结束。
安装/导入后proj4js
:
// from https://epsg.io/27700
const EPSG_27700_DATUM = "+proj=tmerc +lat_0=49 +lon_0=-2 +k=0.9996012717 +x_0=400000 +y_0=-100000 +ellps=airy +towgs84=446.448,-125.157,542.06,0.15,0.247,0.842,-20.489 +units=m +no_defs";
// from https://epsg.io/4326
const WGS84_DATUM = "+proj=longlat +datum=WGS84 +no_defs";
const points = [[360590,555610],[360590,555555.0128],[360590,555540],[360592.4439,555540],[360600,555540],[360600,555518.8277],[360590,555610]];
const converted_points = points.map(([lon, lat]) => {
return proj4(EPSG_27700_DATUM, WGS84_DATUM, [lon, lat]);
});
console.info({ converted_points });
验证您的多边形确实在 GB 内部: