[英]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.