gpt4 book ai didi

javascript - 如何在mapbox中获取圆的wkt

转载 作者:行者123 更新时间:2023-12-01 02:23:19 25 4
gpt4 key购买 nike

我试图获取 map 框中圆的wkt。但不知道如何获取 map 框中圆圈的geojson。我想我可以使用以下示例顺便说一句,问题是 geojson。

var bounds = turf.bbox(markers);

请帮助我!

最佳答案

我使用geojson制作了绘制圆的函数。

var createGeoJSONCircle = function(center, radiusInKm, points) {
if(!points) points = 64;

var coords = {
latitude: center[1],
longitude: center[0]
};

var km = radiusInKm;

var ret = [];
var distanceX = km/(111.320*Math.cos(coords.latitude*Math.PI/180));
var distanceY = km/110.574;

var theta, x, y;
for(var i=0; i<points; i++) {
theta = (i/points)*(2*Math.PI);
x = distanceX*Math.cos(theta);
y = distanceY*Math.sin(theta);

ret.push([coords.longitude+x, coords.latitude+y]);
}
ret.push(ret[0]);

return {
"type": "geojson",
"data": {
"type": "FeatureCollection",
"features": [{
"type": "Feature",
"geometry": {
"type": "Polygon",
"coordinates": [ret]
}
}]
}
};
};

上述函数最重要的是点变量。

函数的使用。

var c = createGeoJSONCircle([-93.6248586, 41.58527859], 50);
map.addSource("polygon", createGeoJSONCircle([-93.6248586, 41.58527859], 50));
var cc = map.addLayer({
"id": "polygon",
"type": "fill",
"source": "polygon",
"layout": {},
"paint": {
"fill-color": "blue",
"fill-opacity": 0.6
}
});

并且可以使用wellknown获取wkt。

wellknown.stringify(c.data.features[0].geometry)

也许效果很好。

关于javascript - 如何在mapbox中获取圆的wkt,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49031130/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com