POSTGIS包含大量幾何函數(shù),方便我們處理空間數(shù)據(jù),本文節(jié)選自官方文檔,方便查找
5.3 幾何構(gòu)造
ST_Collect —從一組幾何創(chuàng)建一個(gè)GeometryCollection或Multi *幾何。
ST_LineFromMultiPoint —從MultiPoint幾何圖形創(chuàng)建LineString。
ST_MakeEnvelope —從最小和最大坐標(biāo)創(chuàng)建一個(gè)矩形Polygon。
ST_MakeLine —從Point,MultiPoint或LineString幾何形狀創(chuàng)建線串。
ST_MakePoint —?jiǎng)?chuàng)建2D,3DZ或4D點(diǎn)。
ST_MakePointM —從X,Y和M值創(chuàng)建一個(gè)點(diǎn)。
ST_MakePolygon —從殼和孔的可選列表創(chuàng)建多邊形。
ST_Point —使用給定的坐標(biāo)值創(chuàng)建一個(gè)Point。 ST_MakePoint的別名。
ST_Polygon —從具有指定SRID的LineString創(chuàng)建多邊形。
ST_TileEnvelope —使用XYZ拼貼系統(tǒng)在Web Mercator(SRID:3857)中創(chuàng)建一個(gè)矩形多邊形。
ST_HexagonGrid —返回一組完全覆蓋幾何參數(shù)范圍的六邊形和單元格索引。
ST_SquareGrid —返回一組完全覆蓋幾何參數(shù)范圍的網(wǎng)格正方形和單元格索引。
ST_Hexagon —使用六邊形網(wǎng)格空間內(nèi)提供的邊緣大小和像元坐標(biāo),返回單個(gè)六邊形。
ST_Square —使用六角形網(wǎng)格空間內(nèi)提供的邊緣大小和像元坐標(biāo),返回單個(gè)正方形。
5.4 幾何訪問
GeometryType —以文本形式返回幾何的類型。
ST_Boundary —返回幾何的邊界。
ST_CoordDim —返回幾何的坐標(biāo)尺寸。
ST_Dimension —返回幾何的拓?fù)涑叽纭?br>
ST_Dump —返回用于幾何圖形組件的一組geometry_dump行。
ST_DumpPoints —返回幾何中的點(diǎn)的一組geometry_dump行。
ST_DumpRings —返回多邊形的外環(huán)和內(nèi)環(huán)的一組geometry_dump行。
ST_EndPoint —返回LineString或CircularLineString的最后一點(diǎn)。
ST_Envelope —返回表示幾何圖形邊界框的幾何圖形。
ST_BoundingDiagonal —返回幾何邊界框的對(duì)角線。
ST_ExteriorRing —返回代表Polygon外環(huán)的LineString。
ST_GeometryN —返回幾何集合的第N個(gè)幾何元素。
ST_GeometryType —以文本形式返回幾何的SQL-MM類型。
ST_HasArc —測(cè)試幾何圖形是否包含圓弧
ST_InteriorRingN —返回多邊形的第N個(gè)內(nèi)環(huán)(孔)。
ST_IsPolygonCCW —測(cè)試多邊形是否具有沿逆時(shí)針方向定位的外環(huán)和沿順時(shí)針方向定位的內(nèi)環(huán)。
ST_IsPolygonCW —測(cè)試多邊形是否具有順時(shí)針方向的外環(huán)和逆時(shí)針方向的內(nèi)環(huán)。
ST_IsClosed —測(cè)試LineStrings的起點(diǎn)和終點(diǎn)是否重合。對(duì)于PolyhedralSurface測(cè)試,是否封閉(體積)。
ST_IsCollection —測(cè)試幾何是否為幾何集合類型。
ST_IsEmpty —測(cè)試幾何是否為空。
ST_IsRing —測(cè)試LineString是否閉合且簡(jiǎn)單。
ST_IsSimple —測(cè)試幾何圖形是否沒有自相交或自相切的點(diǎn)。
ST_M —返回點(diǎn)的M坐標(biāo)。
ST_MemSize —返回幾何占用的內(nèi)存空間量。
ST_NDims —返回幾何的坐標(biāo)尺寸。
ST_NPoints —返回幾何中的點(diǎn)(頂點(diǎn))數(shù)。
ST_NRings —返回多邊形幾何中的環(huán)數(shù)。
ST_NumGeometries —返回幾何集合中的元素?cái)?shù)。
ST_NumInteriorRings —返回多邊形的內(nèi)部環(huán)數(shù)(孔)。
ST_NumInteriorRing —返回多邊形的內(nèi)部環(huán)數(shù)(孔)。 ST_NumInteriorRings的Aias
ST_NumPatches —返回多面曲面上的面數(shù)。對(duì)于非多面體幾何形狀,將返回null。
ST_NumPoints —返回LineString或CircularString中的點(diǎn)數(shù)。
ST_PatchN —返回多面曲面的第N個(gè)幾何(面)。
ST_PointN —返回幾何圖形中第一個(gè)LineString或圓形LineString中的第N個(gè)點(diǎn)。
ST_Points —返回包含幾何圖形所有坐標(biāo)的MultiPoint。
ST_StartPoint —返回LineString的第一個(gè)點(diǎn)。
ST_Summary —返回幾何內(nèi)容的文本摘要。
ST_X —返回點(diǎn)的X坐標(biāo)。
ST_Y —返回點(diǎn)的Y坐標(biāo)。
ST_Z —返回點(diǎn)的Z坐標(biāo)。
ST_Zmflag —返回指示幾何圖形的ZM坐標(biāo)尺寸的代碼。
5.5 幾何編輯
這些函數(shù)通過改變類型、結(jié)構(gòu)或頂點(diǎn)來創(chuàng)建修改過的幾何圖形。
ST_AddPoint—將點(diǎn)添加到LineString。
ST_CollectionExtract —給定(多)幾何,返回僅由指定類型的元素組成的(多)幾何。
ST_CollectionHomogenize —給定幾何集合,返回內(nèi)容的“最簡(jiǎn)單”表示形式。
ST_CurveToLine —將包含曲線的幾何轉(zhuǎn)換為線性幾何。
ST_FlipCoordinates —返回X和Y軸已翻轉(zhuǎn)的幾何版本。
ST_Force2D —將幾何強(qiáng)制為“二維模式”。
ST_Force3D —將幾何強(qiáng)制為XYZ模式。這是ST_Force3DZ的別名。
ST_Force3DZ —將幾何強(qiáng)制為XYZ模式。
ST_Force3DM —將幾何強(qiáng)制為XYM模式。
ST_Force4D —將幾何強(qiáng)制為XYZM模式。
ST_ForcePolygonCCW —逆時(shí)針旋轉(zhuǎn)所有外部環(huán),順時(shí)針旋轉(zhuǎn)所有內(nèi)部環(huán)。
ST_ForceCollection —將幾何轉(zhuǎn)換為GEOMETRYCOLLECTION。
ST_ForcePolygonCW —順時(shí)針定向所有外環(huán),逆時(shí)針定向所有內(nèi)環(huán)。
ST_ForceSFS —強(qiáng)制幾何僅使用SFS 1.1幾何類型。
ST_ForceRHR —強(qiáng)制多邊形中頂點(diǎn)的方向遵循右手規(guī)則。
ST_ForceCurve —將幾何體轉(zhuǎn)換為其彎曲類型(如果適用)。
ST_LineMerge —返回通過將MULTILINESTRING縫合在一起而形成的(一組)LineString。
ST_LineToCurve —將線性幾何轉(zhuǎn)換為彎曲幾何。
ST_Multi —將幾何返回為MULTI *幾何。
ST_Normalize —以規(guī)范形式返回幾何。
ST_QuantizeCoordinates —將坐標(biāo)的最低有效位設(shè)置為零
ST_RemovePoint —從線串中刪除點(diǎn)。
ST_RemoveRepeatedPoints —返回給定幾何的版本,其中刪除了重復(fù)的點(diǎn)。
ST_Reverse —返回頂點(diǎn)順序相反的幾何。
ST_Segmentize —返回修改后的幾何/地理,其線段的長(zhǎng)度不超過給定距離。
ST_SetPoint —用給定的點(diǎn)替換線串的點(diǎn)。
ST_ShiftLongitude —在-180..180和0..360之間移動(dòng)地理坐標(biāo)的幾何。
ST_WrapX —將幾何圖形環(huán)繞X值。
ST_SnapToGrid —將輸入幾何圖形的所有點(diǎn)捕捉到常規(guī)網(wǎng)格。
ST_Snap —將輸入幾何的線段和頂點(diǎn)與參考幾何的頂點(diǎn)對(duì)齊。
ST_SwapOrdinates —返回交換給定縱坐標(biāo)值的給定幾何的版本。
5.6 幾何驗(yàn)證
這些函數(shù)根據(jù)OGC SFS標(biāo)準(zhǔn)測(cè)試幾何圖形是否有效。它們還提供有關(guān)殘疾的性質(zhì)和地點(diǎn)的信息。還有一個(gè)函數(shù)可以從一個(gè)無效的幾何圖形中創(chuàng)建一個(gè)有效的幾何圖形。
ST_IsValid —測(cè)試幾何是否在2D中格式正確。
ST_IsValidDetail—返回valid_detail行,該行說明幾何是否有效,如果不是,則說明原因和位置。
ST_IsValidReason —返回說明幾何是否有效或無效原因的文本。
ST_MakeValid —嘗試使無效的幾何圖形有效而不丟失頂點(diǎn)。
5.7 空間參考系統(tǒng)功能
這些功能與幾何的空間參考系統(tǒng)一起工作。
ST_SetSRID —將幾何圖形上的SRID設(shè)置為特定的整數(shù)值。
ST_SRID —返回空間索引表中定義的ST_Geometry的空間參考標(biāo)識(shí)符。
ST_Transform —返回一個(gè)新幾何,其坐標(biāo)已轉(zhuǎn)換為其他空間參考系統(tǒng)。
5.8 幾何輸入
這些函數(shù)從各種文本或二進(jìn)制格式創(chuàng)建幾何體對(duì)象。
5.8.1. Well-Known Text (WKT)
ST_BdPolyFromText — 構(gòu)造一個(gè)多邊形給定一個(gè)封閉的字符串作為一個(gè)多行眾所周知的文本表示的任意集合。
ST_BdMPolyFromText — 構(gòu)造一個(gè)多多邊形,給定一個(gè)封閉的字符串的任意集合,作為一個(gè)多字符串文本表示法眾所周知的文本表示法。
ST_GeogFromText — 從已知的文本表示或擴(kuò)展(WKT)返回指定的地理值。
ST_GeographyFromText — 從已知的文本表示或擴(kuò)展(WKT)返回指定的地理值。
ST_GeomCollFromText — 使用給定的SRID從集合WKT生成集合幾何體。如果未給定SRID,則默認(rèn)為0。
ST_GeomFromEWKT — 從擴(kuò)展的已知文本表示法(EWKT)返回指定的ST_Geometry。
ST_GeometryFromText — 從已知文本表示法(WKT)返回指定的ST_Geometry。這是ST_GeomFromText的別名
ST_GeomFromText — 從已知文本表示法(WKT)返回指定的ST_Geometry。
ST_LineFromText — 使用給定的SRID從WKT表示生成幾何體。如果未給定SRID,則默認(rèn)為0。
ST_MLineFromText — 從WKT表示返回指定的stu MultiLineString值。
ST_MPointFromText — 使用給定的SRID從WKT生成幾何體。如果未給定SRID,則默認(rèn)為0。
ST_MPolyFromText — 使用給定的SRID從WKT生成多多邊形幾何體。如果未給定SRID,則默認(rèn)為0。
ST_PointFromText — 使用給定的SRID從WKT生成點(diǎn)幾何體。如果未給定SRID,則默認(rèn)為未知。
ST_PolygonFromText — 使用給定的SRID從WKT生成幾何體。如果未給定SRID,則默認(rèn)為0。
ST_WKTToSQL — 從已知文本表示法(WKT)返回指定的ST_Geometry。這是ST_GeomFromText的別名
5.8.2. Well-Known Binary (WKB)
ST_GeogFromWKB — 從已知的二進(jìn)制幾何表示(WKB)或擴(kuò)展的已知二進(jìn)制(EWKB)創(chuàng)建地理實(shí)例。
ST_GeomFromEWKB — 從擴(kuò)展的已知二進(jìn)制表示法(EWKB)返回指定的ST\幾何值。
ST_GeomFromWKB — 從已知的二進(jìn)制幾何體表示(WKB)和可選SRID創(chuàng)建幾何體實(shí)例。
ST_LineFromWKB — 使用給定的SRID從WKB生成一個(gè)LINESTRING
ST_LinestringFromWKB — 使用給定的SRID從WKB生成幾何體。
ST_PointFromWKB — 使用給定的SRID從WKB生成幾何體
ST_WKBToSQL — 從已知的二進(jìn)制表示法(WKB)返回指定的ST_Geometry值。這是不需要srid的ST_GeomFromWKB的別名
5.8.3. Other Formats
ST_Box2dFromGeoHash — 從GeoHash字符串返回BOX2D。
ST_GeomFromGeoHash — 從GeoHash字符串返回幾何體。
ST_GeomFromGML — 以幾何圖形的GML表示形式作為輸入,并輸出PostGIS幾何對(duì)象
ST_GeomFromGeoJSON — 將幾何體的geojson表示形式作為輸入,并輸出PostGIS幾何體對(duì)象
ST_GeomFromKML — 將幾何體的KML表示形式作為輸入,并輸出PostGIS幾何體對(duì)象
ST_GeomFromTWKB — 從TWKB("Tiny Well-Known Binary")幾何體表示創(chuàng)建幾何體實(shí)例。
ST_GMLToSQL — 從GML表示返回指定的ST\U幾何體值。這是ST_GeomFromGML的別名
ST_LineFromEncodedPolyline — 從編碼的多段線創(chuàng)建線字符串。
ST_PointFromGeoHash — 從GeoHash字符串返回一個(gè)點(diǎn)。
5.9 幾何輸出
這些函數(shù)將幾何體對(duì)象轉(zhuǎn)換為各種文本或二進(jìn)制格式。
5.9.1. Well-Known Text (WKT)
ST_AsEWKT — 返回帶有SRID元數(shù)據(jù)的幾何體的已知文本(WKT)表示。
ST_AsText — 返回不帶SRID元數(shù)據(jù)的幾何圖形/地理圖形的已知文本(WKT)表示形式。
5.9.2. Well-Known Binary (WKB)
ST_AsBinary — 返回不帶SRID元數(shù)據(jù)的幾何/地理的已知二進(jìn)制(WKB)表示。
ST_AsEWKB — 返回帶有SRID元數(shù)據(jù)的幾何體的已知二進(jìn)制(WKB)表示。
ST_AsHEXEWKB — 使用小端(NDR)或大端(XDR)編碼返回HEXEWKB格式的幾何體(作為文本)。
5.9.3. 其他格式
ST_AsEncodedPolyline — 從LineString幾何圖形返回編碼的多段線。
ST_AsGeobuf — 返回一組行的Geobuf表示形式。
ST_AsGeoJSON — 將幾何體作為GeoJSON元素返回。
ST_AsGML — 將幾何體作為GML版本2或3元素返回。
ST_AsKML — 將幾何體作為KML元素返回。幾個(gè)變種。默認(rèn)版本=2,默認(rèn)maxdecimaldigits=15
ST_AsLatLonText — 返回給定點(diǎn)的度、分、秒表示。
ST_AsMVTGeom — 將幾何圖形轉(zhuǎn)換為Mapbox矢量圖塊的坐標(biāo)空間。
ST_AsMVT — 返回一組行的Mapbox向量平鋪表示的聚合函數(shù)。
ST_AsSVG — 返回幾何體的SVG路徑數(shù)據(jù)。
ST_AsTWKB — 將幾何體返回為TWKB,也稱為 "Tiny Well-Known Binary"
ST_AsX3D — 返回X3D xml節(jié)點(diǎn)元素格式的幾何體: ISO-IEC-19776-1.2-X3DEncodings-XML
ST_GeoHash — 返回幾何體的GeoHash表示形式。
5.11 空間關(guān)系
這些函數(shù)決定幾何圖形之間的空間關(guān)系。
5.11.1 拓?fù)潢P(guān)系
ST_3DIntersects —如果兩個(gè)幾何在3D中在空間上相交,則返回true-僅用于點(diǎn),線串,多邊形,多面曲面(區(qū)域)。
ST_Contains —當(dāng)且僅當(dāng)B的點(diǎn)不位于A的外部且B的內(nèi)部的至少一個(gè)點(diǎn)位于A的內(nèi)部時(shí),才返回true。
ST_ContainsProperly —如果B與A的內(nèi)部而不是邊界(或外部)相交,則返回true。 A本身不包含自身,但是包含自身。
ST_Covers —如果B中沒有點(diǎn)在A之外,則返回true
ST_CoveredBy —如果Geometry / Geography A中沒有點(diǎn)在Geometry / Geography B之外,則返回true
ST_Crosses —如果兩個(gè)幾何具有一些但不是全部?jī)?nèi)部相同的點(diǎn),則返回true。
ST_LineCrossingDirection —返回一個(gè)數(shù)字,指示兩個(gè)LineString的交叉行為。
ST_Disjoint —如果兩個(gè)幾何在空間上不相交(它們沒有共同點(diǎn)),則返回true。
ST_Equals —如果兩個(gè)幾何在空間中包含相同的點(diǎn)集,則返回true。
ST_Intersects —如果兩個(gè)“幾何” /“地理”在2D空間上相交(至少有一個(gè)共同點(diǎn)),則返回true。
ST_OrderingEquals —如果兩個(gè)幾何表示相同的幾何并且具有相同的方向順序的點(diǎn),則返回true。
ST_Overlaps —如果兩個(gè)幾何相交且具有相同的尺寸,但彼此之間不完全包含,則返回true。
ST_Relate —測(cè)試兩個(gè)幾何是否具有與給定“交集矩陣”模式匹配的拓?fù)潢P(guān)系,或計(jì)算它們的“交集矩陣”
ST_RelateMatch —測(cè)試DE-9IM交集矩陣是否與交集矩陣模式匹配
ST_Touches —如果兩個(gè)幾何至少有一個(gè)共同點(diǎn),但它們的內(nèi)部不相交,則返回true。
ST_Within —如果幾何A完全在幾何B內(nèi),則返回true
5.11.2 距離關(guān)系
ST_3DDWithin —如果兩個(gè)3D幾何形狀在給定的3D距離內(nèi),則返回true
ST_3DDFullyWithin —如果兩個(gè)3D幾何完全在給定的3D距離內(nèi),則返回true
ST_DFullyWithin —如果兩個(gè)幾何完全在給定距離內(nèi),則返回true
ST_DWithin —如果兩個(gè)幾何在給定距離內(nèi),則返回true
ST_PointInsideCircle —測(cè)試點(diǎn)幾何是否在由中心和半徑定義的圓內(nèi)。
5.12 測(cè)量功能
ST_Area —返回多邊形幾何的面積。
ST_Azimuth —返回以北為基準(zhǔn)的方位角,以弧度為單位,從點(diǎn)A的垂直方向到點(diǎn)B的角度以弧度為單位。
ST_Angle —返回3個(gè)點(diǎn)之間或2個(gè)向量之間的角度(4個(gè)點(diǎn)或2條線)。
ST_ClosestPoint —返回g1上最接近g2的2D點(diǎn)。這是最短線的第一點(diǎn)。
ST_3DClosestPoint —返回g1上最接近g2的3D點(diǎn)。這是3D最短線的第一點(diǎn)。
ST_Distance —返回兩個(gè)幾何或地理值之間的距離。
ST_3DDistance —以投影單位返回兩個(gè)幾何之間的3D笛卡爾最小距離(基于空間參考)。
ST_DistanceSphere —使用球形地球模型返回兩個(gè)lon / lat幾何之間的最小距離(以米為單位)。
ST_DistanceSpheroid —使用球形地球模型返回兩個(gè)lon / lat幾何之間的最小距離。
ST_FrechetDistance —返回兩個(gè)幾何之間的Fréchet距離。
ST_HausdorffDistance —返回兩個(gè)幾何之間的Hausdorff距離。
ST_Length —返回線性幾何的2D長(zhǎng)度。
ST_Length2D —返回線性幾何的2D長(zhǎng)度。 ST_Length的別名
ST_3DLength —返回線性幾何的3D長(zhǎng)度。
ST_LengthSpheroid —返回球體上lon / lat幾何圖形的2D或3D長(zhǎng)度/周長(zhǎng)。
ST_LongestLine —返回兩個(gè)幾何之間的2D最長(zhǎng)線。
ST_3DLongestLine —返回兩個(gè)幾何之間的3D最長(zhǎng)線
ST_MaxDistance —以投影單位返回兩個(gè)幾何之間的最大二維距離。
ST_3DMaxDistance —以投影單位返回兩個(gè)幾何之間的3D笛卡爾最大距離(基于空間參考)。
ST_MinimumClearance —返回幾何圖形的最小間隙,度量幾何圖形的魯棒性。
ST_MinimumClearanceLine —返回跨越幾何最小間隙的兩點(diǎn)LineString。
ST_Perimeter —返回多邊形幾何或地理邊界的長(zhǎng)度。
ST_Perimeter2D —返回多邊形幾何的2D周長(zhǎng)。 ST_Perimeter的別名。
ST_3DPerimeter —返回多邊形幾何的3D周長(zhǎng)。
ST_Project —返回從起點(diǎn)投影一個(gè)距離和方位角(方位角)的點(diǎn)。
ST_ShortestLine —返回兩個(gè)幾何之間的2D最短線
ST_3DShortestLine —返回兩個(gè)幾何之間的3D最短線
5.13 疊加功能
這些函數(shù)計(jì)算兩個(gè)幾何圖形疊加產(chǎn)生的結(jié)果。這些也被稱為點(diǎn)集理論布爾運(yùn)算。還提供了一些相關(guān)的功能。
ST_ClipByBox2D —返回屬于矩形的幾何圖形的一部分。
ST_Difference —返回表示幾何A的不與幾何B相交的部分的幾何。
ST_Intersection —返回代表幾何A和B共享部分的幾何。
ST_MemUnion —聚合函數(shù),以內(nèi)存有效但較慢的方式合并幾何
ST_Node —結(jié)點(diǎn)線的集合。
ST_Split —返回通過將一個(gè)幾何圖形拆分為另一個(gè)幾何圖形而創(chuàng)建的幾何圖形的集合。
ST_Subdivide —計(jì)算幾何的直線細(xì)分。
ST_SymDifference —返回一個(gè)幾何,表示不相交的幾何A和B的部分。
ST_Union —返回代表輸入幾何圖形的點(diǎn)集并集的幾何圖形。
ST_UnaryUnion —計(jì)算單個(gè)幾何圖形的組件的并集。
5.14 幾何處理
這些函數(shù)計(jì)算幾何結(jié)構(gòu),或改變幾何尺寸或形狀
ST_Buffer —返回一個(gè)幾何圖形,該幾何圖形覆蓋距幾何圖形給定距離內(nèi)的所有點(diǎn)。
ST_BuildArea —?jiǎng)?chuàng)建由幾何的線條構(gòu)成的多邊形幾何。
ST_Centroid —返回幾何的幾何中心。
ST_ConcaveHull —計(jì)算可能包含所有輸入幾何頂點(diǎn)的凹形幾何
ST_ConvexHull —計(jì)算幾何的凸包。
ST_DelaunayTriangles —返回幾何頂點(diǎn)的Delaunay三角剖分。
ST_FilterByM —根據(jù)頂點(diǎn)的M值移除頂點(diǎn)
ST_GeneratePoints —生成多邊形或多多邊形中包含的隨機(jī)點(diǎn)。
ST_GeometricMedian —返回MultiPoint的幾何中間值。
ST_MaximumInscribedCircle —計(jì)算完全包含在幾何圖形內(nèi)的最大圓。
ST_MinimumBoundingCircle —返回包含幾何的最小圓形多邊形。
ST_MinimumBoundingRadius —返回包含幾何的最小圓的中心點(diǎn)和半徑。
ST_OrientedEnvelope —返回包含幾何的最小面積的矩形。
ST_OffsetCurve —返回距輸入線給定距離和邊距的偏移線。
ST_PointOnSurface —返回保證位于多邊形或幾何圖形上的點(diǎn)。
ST_Polygonize —計(jì)算由一組幾何圖形的線條形成的多邊形的集合。
ST_ReducePrecision —返回一個(gè)有效的幾何圖形,所有點(diǎn)均四舍五入到提供的網(wǎng)格公差。
ST_SharedPaths —返回包含兩個(gè)輸入線串/多線串共享的路徑的集合。
ST_Simplify —使用Douglas-Peucker算法返回幾何的簡(jiǎn)化版本。
ST_SimplifyPreserveTopology —使用Douglas-Peucker算法返回幾何的簡(jiǎn)化和有效版本。
ST_SimplifyVW —使用Visvalingam-Whyatt算法返回幾何的簡(jiǎn)化版本
ST_ChaikinSmoothing —使用Chaikin算法返回幾何的平滑版本
ST_SetEffectiveArea —使用Visvalingam-Whyatt算法設(shè)置每個(gè)頂點(diǎn)的有效面積。
ST_VoronoiLines —返回幾何頂點(diǎn)的Voronoi圖的邊界。
ST_VoronoiPolygons —返回幾何頂點(diǎn)的Voronoi圖的像元。
5.15 仿射變換
這些函數(shù)使用仿射變換改變幾何圖形的位置和形狀.
ST_Affine —將3D仿射變換應(yīng)用于幾何圖形。
ST_Rotate —圍繞原點(diǎn)旋轉(zhuǎn)幾何。
ST_RotateX —繞X軸旋轉(zhuǎn)幾何。
ST_RotateY —圍繞Y軸旋轉(zhuǎn)幾何。
ST_RotateZ —繞Z軸旋轉(zhuǎn)幾何。
ST_Scale —按給定因子縮放幾何。
ST_Translate —按給定的偏移量轉(zhuǎn)換幾何圖形。
ST_TransScale —按給定的偏移量和系數(shù)平移和縮放幾何。
5.16 聚合功能
這些函數(shù)實(shí)現(xiàn)了幾何集合的聚類算法。
ST_ClusterDBSCAN —窗口函數(shù),使用DBSCAN算法為每個(gè)輸入幾何返回聚類ID。
ST_ClusterIntersecting —聚合函數(shù),用于將輸入幾何形狀聚類為連接的集合。
ST_ClusterKMeans —窗口函數(shù),使用K-means算法為每個(gè)輸入幾何返回聚類ID。
ST_ClusterWithin —聚合函數(shù),用于按分隔距離對(duì)輸入幾何圖形進(jìn)行聚類。
5.17 邊框功能
這些函數(shù)產(chǎn)生或操作邊界框。通過使用自動(dòng)或顯式類型轉(zhuǎn)換,它們還可以提供和接受幾何值。
Box2D —返回代表幾何2D范圍的BOX2D。
Box3D —返回代表幾何圖形3D范圍的BOX3D。
ST_EstimatedExtent —返回空間表的“估計(jì)”范圍。
ST_Expand —返回從另一個(gè)邊界框或幾何圖形擴(kuò)展的邊界框。
ST_Extent —一個(gè)聚合函數(shù),該函數(shù)返回包圍幾何行的邊界框。
ST_3DExtent —一個(gè)聚合函數(shù),該函數(shù)返回3D邊界框,該邊界框限制幾何圖形的行。
ST_MakeBox2D —?jiǎng)?chuàng)建由兩個(gè)2D點(diǎn)幾何定義的BOX2D。
ST_3DMakeBox —?jiǎng)?chuàng)建由兩個(gè)3D點(diǎn)幾何定義的BOX3D。
ST_XMax —返回2D或3D邊界框或幾何圖形的X最大值。
ST_XMin —返回2D或3D邊界框或幾何的X最小值。
ST_YMax —返回2D或3D邊界框或幾何的Y最大值。
ST_YMin —返回2D或3D邊界框或幾何的Y最小值。
ST_ZMax —返回2D或3D邊界框或幾何的Z最大值。
ST_ZMin —返回2D或3D邊界框或幾何的Z最小值。
5.18 線性參考
ST_LineInterpolatePoint —返回沿直線插補(bǔ)的點(diǎn)。第二個(gè)參數(shù)是一個(gè)介于0和1之間的float8,代表必須定位該點(diǎn)的線串總長(zhǎng)度的一部分。
ST_3DLineInterpolatePoint —返回沿3D線插入的點(diǎn)。第二個(gè)參數(shù)是一個(gè)介于0和1之間的float8,代表必須定位該點(diǎn)的線串總長(zhǎng)度的一部分。
ST_LineInterpolatePoints —返回沿一條線插補(bǔ)的一個(gè)或多個(gè)點(diǎn)。
ST_LineLocatePoint —返回0到1之間的浮點(diǎn)數(shù),表示LineString上與給定Point點(diǎn)最近的點(diǎn)的位置,以總2d線長(zhǎng)的一部分表示。
ST_LineSubstring —返回一個(gè)線串,該線串是輸入的子串,從總2d長(zhǎng)度的給定分?jǐn)?shù)開始和結(jié)束。第二個(gè)和第三個(gè)參數(shù)是介于0和1之間的float8值。
ST_LocateAlong —返回具有與指定度量匹配的元素的派生幾何集合值。不支持多邊形元素。
ST_LocateBetween —返回派生的幾何集合值,其元素與指定的范圍(包括范圍在內(nèi))相匹配。
ST_LocateBetweenElevations —返回派生的幾何(集合)值,其元素與指定的高程范圍相交。
ST_InterpolatePoint —返回在與提供的點(diǎn)接近的點(diǎn)處的幾何的度量尺寸的值。
ST_AddMeasure —返回帶有在起點(diǎn)和終點(diǎn)之間線性插值的測(cè)量元素的派生幾何。
5.19 軌跡函數(shù)
這些函數(shù)支持使用軌跡。軌跡是在每個(gè)坐標(biāo)上都有一個(gè)度量(M值)的線性幾何圖形。測(cè)量值必須沿直線增加。時(shí)空數(shù)據(jù)可以通過使用相對(duì)時(shí)間(如epoch)作為度量值來建模。
ST_IsValidTrajectory —如果幾何是有效軌跡,則返回true。
ST_ClosestPointOfApproach —返回沿兩個(gè)軌跡插補(bǔ)的點(diǎn)最接近的度量。
ST_DistanceCPA —返回兩個(gè)軌跡的最接近點(diǎn)之間的距離。
ST_CPAWithin —如果兩個(gè)軌跡的最接近點(diǎn)在指定距離內(nèi),則返回true。
5.20 SFCGAL函數(shù)
SFCGAL是一個(gè)圍繞CGAL的c++包裝庫(kù),提供了高級(jí)的2D和3D空間函數(shù)。為了魯棒性,幾何坐標(biāo)具有精確的有理數(shù)表示。
這個(gè)庫(kù)的安裝說明可以在SFCGAL主頁(yè)(http://www.sfcgal.org)上找到。要啟用這些函數(shù),請(qǐng)使用create extension postgis_sfcgal。
postgis_sfcgal_version —返回正在使用的SFCGAL的版本
ST_Extrude —將曲面拉伸到相關(guān)體積
ST_StraightSkeleton —從幾何圖形計(jì)算直線骨架
ST_CloseMedialAxis —計(jì)算平面幾何體的近似中間軸。
ST_IsPlanar —檢查曲面是否為平面
ST_Orientation —確定表面方向
ST_ForceLHR —強(qiáng)制LHR方向
ST_MinkowskiSum —執(zhí)行Minkowski和
ST_ConstrainedDelaunayTriangles —返回圍繞給定輸入幾何形狀的約束Delaunay三角剖分。
ST_3DIntersection —執(zhí)行3D相交
ST_3DDifference —執(zhí)行3D差異
ST_3DUnion —執(zhí)行3D合并
ST_3DArea —計(jì)算3D表面幾何形狀的面積。對(duì)于實(shí)體將返回0。
ST_Tesselate —對(duì)多邊形或多面體表面執(zhí)行表面鑲嵌處理,并以TIN或TINS集合的形式返回
ST_Volume —計(jì)算3D實(shí)體的體積。如果應(yīng)用于表面(甚至閉合)幾何,則將返回0。
ST_MakeSolid —將幾何體轉(zhuǎn)換為實(shí)體。不執(zhí)行檢查。為了獲得有效的實(shí)體,輸入幾何必須是封閉的多面曲面或封閉的TIN。
ST_IsSolid —測(cè)試幾何圖形是否為實(shí)體。不執(zhí)行有效性檢查。
格式轉(zhuǎn)換
ST_Force2D(geom) postgres里不能預(yù)覽三維數(shù)據(jù)
ST_AsText(geom) wkb轉(zhuǎn)wkt
ST_AsGeoJSON(geom) wkb轉(zhuǎn)geojson
幾何處理
ST_LineMerge(ST_Union(geoms)) 線段連接合并,效率較低,但適合大部分場(chǎng)景
ST_MakeLine(geoms) 線段連接合并效率高,但嚴(yán)格要求方向一致
ST_SimplifyPreserveTopology(geometry ,<閾值>) 幾何抽稀
幾何查詢
ST_Numgeometries(geom) 計(jì)算mulit類型包含幾何的數(shù)量
ST_GeometryN(geom,index) 獲取mulit類型中的第幾個(gè)單體幾何
ST_Lenght(geom) 計(jì)算長(zhǎng)度
拓?fù)潢P(guān)系
ST_Intersects 相交關(guān)系,兩個(gè)圖形之間存在公共部分,比如公共點(diǎn),公共線,公共面
ST_Disjoint 相離關(guān)系,兩個(gè)圖形無絲毫公共部分,與ST_Intersects完全相反
ST_Contains 包含關(guān)系,圖形A包含圖形B:ST_Contains(A,B),如點(diǎn)在面內(nèi),線在面內(nèi)。
ST_Within 被包含關(guān)系,圖形A被B包含:ST_Within(A,B),與ST_Contains完全相反。
ST_Covers 覆蓋關(guān)系,圖形A完全覆蓋住了圖形B:ST_Covers (A,B),部分關(guān)系與ST_Contains 重疊,但不是完全一樣。
ST_Crosses 穿越關(guān)系,圖形A與圖形B有一部分公共內(nèi)點(diǎn),但不是全部。
ST_Equals 相等關(guān)系,兩個(gè)圖形完全相等。
ST_Overlaps 壓蓋關(guān)系
ST_Touches 相連關(guān)系,兩個(gè)圖形只有邊界存在公共連接關(guān)系。