postgresql 函數集合


1、空間對象字段不建議手動創建,建議使用語句生成空間對象字段,table_name:表名,column_name:生成的列名,3857:坐標系

  SELECT AddGeometryColumn ('public','table_name', 'column_name', 3857, 'POINT', 2);

 

2、把兩個點x,y生成point對象函數

  st_point(x, y)

 

3、設置point的坐標系函數,point為空間點對象,4326表示坐標系

  st_setsrid(point,4326)

  例:update table_name SET column_name=st_setsrid(st_point(117.4364, 25.9747), 4326)  where id='xxx';

 

4、轉換坐標系函數,g1:空間幾何對象,srid:是坐標系4326,3857...等等

  st_transform(geometry g1, integer srid)

 

5、點在不在面里面函數g1是空間幾何對象,g2是空間幾何對象

  st_contains(geometry g1,geometry g2)

 

 

其他常用方法:

1、幾何對象處理函數:

  1.1、獲取幾何對象的中心 ST_Centroid(geometry)

  1.2、面積量測 ST_Area(geometry)

  1.3、長度量測 ST_Length(geometry)

  1.4、返回曲面上的一個點 ST_PointOnSurface(geometry)

  1.5、獲取邊界 ST_Boundary(geometry)

  1.6、獲取緩沖后的幾何對象 ST_Buffer(geometry, double,[integer])

  1.7、獲取多幾何對象的外接對象 ST_ConvexHull(geometry)

  1.8、獲取兩個幾何對象相交的部分 ST_Intersection(geometry, geometry)

  1.9、將經度小於0的值加360使所有經度值在0-360間 ST_Shift_Longitude(geometry)

  1.10、獲取兩個幾何對象不相交的部分(A、B可互換) ST_SymDifference(geometry A,geometry B)

  1.11、從A去除和B相交的部分后返回 ST_Difference(geometry A, geometryB)

  1.12、返回兩個幾何對象的合並結果 ST_Union(geometry, geometry)

  1.13、返回一系列幾何對象的合並結果 ST_Union(geometry set)

  1.14、用較少的內存和較長的時間完成合並操作,結果和ST_Union相同 ST_MemUnion(geometry set)

 

2、幾何對象關系函數:

  2.1、獲取兩個幾何對象間的距離 ST_Distance(geometry, geometry)

  2.2、如果兩個幾何對象間距離在給定值范圍內,則返回TRUEST_DWithin(geometry, geometry, float)

  2.3、判斷兩個幾何對象是否相等(比如LINESTRING(0 0, 2 2)和LINESTRING(0 0, 1 1, 2 2)是相同的幾何對象)ST_Equals(geometry, geometry)

  2.4、判斷兩個幾何對象是否分離 ST_Disjoint(geometry, geometry)              

  2.5、判斷兩個幾何對象是否相交 ST_Intersects(geometry, geometry)

  2.6、判斷兩個幾何對象的邊緣是否接觸 ST_Touches(geometry, geometry)

  2.7、判斷兩個幾何對象是否互相穿過 ST_Crosses(geometry, geometry)

  2.8、判斷A是否被B包含 ST_Within(geometry A, geometry B)

  2.9、判斷兩個幾何對象是否是重疊 ST_Overlaps(geometry, geometry)

  2.10、判斷A是否包含B ST_Contains(geometry A, geometry B)

  2.11、判斷A是否覆蓋 B ST_Covers(geometry A, geometry B)

  2.12、判斷A是否被B所覆蓋 ST_CoveredBy(geometry A, geometry B)

  2.13、通過DE-9IM 矩陣判斷兩個幾何對象的關系是否成立 ST_Relate(geometry, geometry, intersectionPatternMatrix)

  2.14、獲得兩個幾何對象的關系(DE-9IM矩陣) ST_Relate(geometry, geometry)

 

3、幾何對象存取函數:

  3.1、獲取幾何對象的WKT描述 ST_AsText(geometry)

  3.2、獲取幾何對象的WKB描述 ST_AsBinary(geometry)

  3.3、獲取幾何對象的空間參考ID ST_SRID(geometry)

  3.4、獲取幾何對象的維數 ST_Dimension(geometry)

  3.5、獲取幾何對象的邊界范圍 ST_Envelope(geometry)

  3.6、判斷幾何對象是否為空 ST_IsEmpty(geometry)

  3.7、判斷幾何對象是否不包含特殊點(比如自相交)ST_IsSimple(geometry)

  3.8、判斷幾何對象是否閉合 ST_IsClosed(geometry)

  3.9、判斷曲線是否閉合並且不包含特殊點 ST_IsRing(geometry)

  3.10、獲取多幾何對象中的對象個數 ST_NumGeometries(geometry)

  3.11、獲取多幾何對象中第N個對象 ST_GeometryN(geometry,int)

  3.12、獲取幾何對象中的點個數 ST_NumPoints(geometry)

  3.13、獲取幾何對象的第N個點 ST_PointN(geometry,integer)

  3.14、獲取多邊形的外邊緣 ST_ExteriorRing(geometry)

  3.15、獲取多邊形內邊界個數 ST_NumInteriorRings(geometry)

  3.16、同上 ST_NumInteriorRing(geometry)

  3.17、獲取多邊形的第N個內邊界 ST_InteriorRingN(geometry,integer)

  3.18、獲取線的終點 ST_EndPoint(geometry)

  3.19、獲取線的起始點 ST_StartPoint(geometry)

  3.20、獲取幾何對象的類型 GeometryType(geometry)

  3.21、類似上,但是不檢查M值,即POINTM對象會被判斷為point ST_GeometryType(geometry)

  3.22、獲取點的X坐標 ST_X(geometry)

  3.23、獲取點的Y坐標 ST_Y(geometry)

  3.24、獲取點的Z坐標 ST_Z(geometry)

  3.25、獲取點的M值 ST_M(geometry)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM