ST_FrechetDistance
更新時(shí)間:
返回給定的兩個(gè)Geometry對(duì)象的弗雷歇距離。
語(yǔ)法
float ST_FrechetDistance(geometry g1 , geometry g2 , float densifyFrac);
參數(shù)
參數(shù)名稱(chēng) | 描述 |
g1 | 第一個(gè)Geometry對(duì)象。 |
g2 | 第二個(gè)Geometry對(duì)象。 |
densifyFrac | 當(dāng)指定參數(shù)densifyFrac時(shí)候,每一個(gè)分段會(huì)被分割成距離相等的更小分段,而所有分段的總距離最接近給出的大分段總距離。 |
描述
弗雷歇距離是曲線(xiàn)之間相似度的量度,其中考慮了沿曲線(xiàn)的點(diǎn)的位置和順序。因此,它通常比豪斯多夫距離更好。
如果設(shè)置了densifyFrac參數(shù),該函數(shù)在計(jì)算離散弗雷歇距離之前執(zhí)行段致密化。每個(gè)段將被分成多個(gè)等長(zhǎng)的子段,每個(gè)子段之于總段的比例接近給定的分?jǐn)?shù)。
當(dāng)前實(shí)現(xiàn)僅支持將頂點(diǎn)視為離散位置,并且不限制點(diǎn)的數(shù)量。
指定的densifyFrac越小,得到的弗雷歇距離越精確。但是,計(jì)算時(shí)間和內(nèi)存使用量與子段數(shù)的平方成正比。
示例
默認(rèn)調(diào)用:
SELECT ST_FrechetDistance('LINESTRING (1 0,2 0)'::geometry, 'LINESTRING (-1 0,0 0)'::geometry);
st_frechetdistance
--------------------
2
(1 row)
文檔內(nèi)容是否對(duì)您有幫助?