我对 turfJS 的 along() 方法有疑问。看来 turfJS 我的坐标有问题。
var alongLine = {
"type": "Feature",
"properties": {},
"geometry": {
"type": "LineString",
"coordinates": [
[-37.86902659740041, 144.6185302734375],
[-37.86902659740041, 145.57159423828125]
]
}
};
var newPoint = Turf.along(alongLine, 1, 'miles');
console.log('Walked 1 miles', newPoint);
代码运行后,这是我得到的控制台日志:
Walked 1 miles { type: 'Feature',
geometry: {
type: 'Point',
coordinates: [ -37.86902659740041, 35.367001095372345 ] },
properties: {}
}
如您所见,坐标为-37。和 35。但是当沿着这条线走 1 英里(即 -37 和 145)时,我不明白为什么它这么远(它就像这条线的地球的一半!)。
当使用 TurfJS 文档中的测试坐标时,它似乎工作正常,但我的坐标破坏了。怎么会这样 ?
您可以在此处找到带有示例的文档:http: //turfjs.org/static/docs/module-turf_along.html
使用他们的示例坐标时
[-77.031669, 38.878605],
[-77.029609, 38.881946],
...
结果是(即使只使用 2 个点并且使用不到一英里:它总是返回正确的点):
Walked 1 miles { type: 'Feature',
geometry: {
type: 'Point',
coordinates: [ -77.02417351582903, 38.885335546214506 ] },
properties: {}
}