[英]Extending LineString/MultiLineString along existing Feature
我已经给出了两个点的坐标。 我可以绘制一个连接这两点的 LineString。 我想要实现的是拥有一个连接点的 LineString/MultiLineString,但它也稍微长一点(比方说比这两点之间的距离长 20%),并且它仅在一个点后延长。
我的问题是我不知道如何找到第三点的 position,它表示行尾。 它应该在给定距离内准确地沿着现有线放置。 任何一种 map 投影都不重要,因为我只想有一条永远笔直的线。
const markerOne = new ol.Feature({
geometry: new ol.geom.Point([-1000, -1000])
});
const markerTwo = new ol.Feature({
geometry: new ol.geom.Point([1000, 1000])
});
const lineStrEnd = ?;
const lineStr = new ol.Feature({
geometry: new ol.geom.LineString([markerOne.getGeometry().getCoordinates(), lineStrEnd])
});
最简单的方法是缩放几何图形,例如,从markerOne
到markerTwo
的线串增加 20%,缩放固定在markerOne
处,因此线延伸到markerTwo
之外
const lineStr = new ol.Feature({
geometry: new ol.geom.LineString([markerOne.getGeometry().getCoordinates(), markerTwo.getGeometry().getCoordinates()])
});
lineStr.getGeometry().scale(1.2, 1.2, markerOne.getGeometry().getCoordinates());
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.