您好,登錄后才能下訂單哦!
這篇文章主要介紹了GIS開發中如何畫曲線,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
在地圖開發中,有時會用到畫曲線,一般的地圖API中,都會提供畫曲線的方法,或者提供相應的圖例。
下邊簡單的介紹一下,如何在地圖上根據點的位置,畫一條貝塞爾曲線。
貝塞爾曲線(Bézier curve),又稱貝茲曲線或貝濟埃曲線,是應用于二維圖形應用程序的數學曲線。一般的矢量圖形軟件通過它來精確畫出曲線,貝茲曲線由線段與節點組成,節點是可拖動的支點,線段像可伸縮的皮筋,我們在繪圖工具上看到的鋼筆工具就是來做這種矢量曲線的。貝塞爾曲線是計算機圖形學中相當重要的參數曲線,在一些比較成熟的位圖軟件中也有貝塞爾曲線工具,如PhotoShop等。--來自百科
在地圖上畫的時候,小范圍畫的時候,經緯度坐標或者平面坐標系的方式差不多,大范圍的時候,盡量要將經緯度轉換成長度單位(例如米制)來進行畫,因為算法的時候,計算的都是根據相應的距離。
貝塞爾的算法,在github上可以搜索到很多,根據自己的開發語言選擇其中的一類即可。
簡單的js示例:https://github.com/Aaaaaaaty/bezierMaker.js
在畫曲線的時候,最少需要3個點才能進行勾畫,傳入3個以上點的坐標,即可生成曲線效果。
本身這個算法開源的就很多,在地圖上畫的時候,只是涉及到經緯度,是弧度制的單位,畫起來會有相應的顧慮,理解其中的原理,直接傳入距離類型的坐標,就能畫出以上這種曲線的效果。
注:在三維的球面地圖上畫曲線的時候,要把高度的值也作為一個因素傳入進去,要不然畫的效果達不到。
感謝你能夠認真閱讀完這篇文章,希望小編分享的“GIS開發中如何畫曲線”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。