cover_geojson_wkt
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>cover_wkt</title>
<script type="text/javascript" src="https://www.xiaoguan.net/leaflet/static/lib/wellknown.min.js"></script>
</head>
<body>
<script>
//点转wkt
function convertToGeoJSONPoint(marker) {
let data = {
type: "Point",
coordinates: [
Number(marker.lng), // 经度保留3位小数
Number(marker.lat) // 纬度保留3位小数
]
};
return wellknown.stringify(data);
}
let marker_latlng = {lat: 39.909719775296075,lng: 116.37246608734132};
let geojson_point = convertToGeoJSONPoint(marker_latlng);
console.log('geojson_point',geojson_point);
//线转wkt
function convertToGeoJSONLine(lineCoords) {
// 将每个坐标点转换为 [lng, lat] 格式并保留3位小数
const formattedCoords = lineCoords.map(point => [
Number(point.lng),
Number(point.lat)
]);
let data = {
type: "MultiLineString",
coordinates: [formattedCoords] // 注意:MultiLineString 需要三维数组
};
return wellknown.stringify(data);
}
// 使用示例
const line_latlngs = [
{lat: 39.91075258501424, lng: 116.37313663959505},
{lat: 39.91059210962567, lng: 116.37345850467683},
{lat: 39.91033699413146, lng: 116.37308299541475},
{lat: 39.910468666763244, lng: 116.37269139289857},
{lat: 39.910843109426565, lng: 116.37290060520174},
{lat: 39.911020043159766, lng: 116.3731473684311}
];
const geojson_line = convertToGeoJSONLine(line_latlngs);
console.log('geojson_line',geojson_line);
//面转wkt
function convertToPolygon(polygon) {
// 1. 转换坐标顺序 [lng, lat] 并闭合多边形
const ring = polygon.map(point => [point.lng, point.lat]);
ring.push(ring[0]); // 闭合多边形(添加第一个点到最后)
// 2. 构建嵌套结构:MultiPolygon → 多边形组 → 环 → 点
const coordinates = [[ring]];
let data = {
type: "MultiPolygon",
coordinates: coordinates
};
return wellknown.stringify(data);
}
// 使用示例
const polygon_latlngs = [
{lat: 39.909127239981956, lng: 116.3733994960785},
{lat: 39.90907786180775, lng: 116.37389838695528},
{lat: 39.90870340949504, lng: 116.37330293655397},
{lat: 39.90872809872154, lng: 116.37293815612794},
{lat: 39.90907374695829, lng: 116.37293279170991}
];
const geojson_polygon = convertToPolygon(polygon_latlngs);
console.log('geojson_polygon',geojson_polygon);
</script>
</body>
</html>