<< Click to Display Table of Contents >>
LineString
LineString是由一個或多個路徑定義的形狀,其中路徑是指一系列相連線段。
語法:
LineString (inputs, spatial_reference, has_z, has_m)
參數 |
說明 |
參數類型 |
inputs |
用來建立LineString物件的點資料,可以是一個點或是由多個點組成的陣列 |
物件 |
spatial_reference |
LineString所屬的坐標系統 |
spatial_reference |
has_z |
LineString是否有Z值,True表示有,False表示沒有 |
布林 |
has_m |
LineString是否有M值,True表示有,False表示沒有 |
布林 |
LineString物件屬性
參數 |
說明 |
參數類型 |
WKB (唯讀) |
構成LineString的WKB資料 |
Bytearray |
WKT (唯讀) |
構成LineString的WKT字串資料 |
字串 |
Centroid (唯讀) |
LineString的質心點, 如果質心點是落在LineString圖形中間或是邊界上,才會回傳質心點 |
Point |
Extent (可讀寫) |
LineString的範圍 |
extent |
firstPoint (唯讀) |
LineString的起始點位 |
Point |
hullRectangle (唯讀) |
以空格分隔的凸包矩形坐標對的字符串。 |
字串 |
isMultipart (唯讀) |
LineString本身是否由兩個以上的部分組成,是的話為Ture,不是的話為False |
布林 |
labelPoint (唯讀) |
LineString物件之標題所在點位,該點位必定落在LineString之上 |
Point |
lastPoint (唯讀) |
LineString的結束點位 |
Point |
length (唯讀) |
LineString物件的長度,點資料或是多重點資料,為0 |
雙精度浮點數 |
length3D (唯讀) |
LineString物件的3D長度,點資料或是多重點資料,為0 |
雙精度浮點數 |
partCount (唯讀) |
構成LineString物件的幾何部分有幾個 |
長整數 |
pointCount (唯讀) |
構成LineString物件的所有點數量 |
長整數 |
spatialReference (唯讀) |
LineString物件的坐標系統 |
spatialReference |
trueCentroid (唯讀) |
LineString的重心點 |
Point |
type (唯讀) |
LineString的幾何類型 |
字串 |
LineString 物件函數
類別函數 |
函數說明 |
Boundary() |
回傳構成LineString的邊線 |
Buffer(distance) |
依半徑, 建立並回傳Polygon的環域 |
Contains(sec_geometry) |
判斷LineString是否有將sec_geometry完全包含,回傳結果為布林值 (True or False) |
ConvexHull() |
建立並回傳包圍LineString的最小面積多邊形 |
Crosses() |
判斷LineString 是否和sec_geometry有相交,回傳結果為布林值 (True or False) |
Difference(sec_geometry) |
以sec_geometry為目標,將LineString和sec_geometry交集到的範圍扣除後再回傳,回傳成果為Polygon物件 |
Disjoint(sec_geometry) |
判斷LineString是否和sec_geometry有共同點,回傳結果為布林值 (True or False) |
DistanceTo(sec_geometry) |
回傳LineString 到sec_geometry之間的最短距離,如果兩者相交,則距離為0 |
Equals(sec_geometry) |
判斷LineString 是否和sec_geometry完全相同(所有點位完全相同,且geometry類型也相同),回傳結果為布林值 (True or False) (僅做2D比較,不比較Z值和M值) |
GetLength() |
取得LineString的長度 |
GetPart() |
取得構成LineString的幾何部分有幾個 |
Intersect(sec_geometry) |
產生LineString 和sec_geometry的交集區域,並回回傳該區域 |
MeasureOnLine(in_point) |
回傳in_point到LineString起始點的距離 |
Overlaps(sec_geometry) |
判斷LineString是否和sec_geometry有重疊,回傳結果為布林值 (True or False) (重疊定義: LineString 是和sec_geometry為相同幾何類型,且兩者之間有部分重疊) |
PositionAlongLine(distance) |
返回與起始點之間,間隔特定距離的點位 |
SymmetricDifference (sec_geometry) |
回傳LineString 和sec_geometry之間的聯集減去LineString和sec_geometry之間的交集的成果 |
Touches(second_geometry) |
判斷LineString 和sec_geometry兩者的邊界是否相交,回傳結果為布林值 (True or False) |
Union(second_geometry) |
回傳LineString 和sec_geometry之間的聯集 |
Within(second_geometry) |
判斷LineString 是否完全落在sec_geometry中,的邊界是否相交,回傳結果為布林值 (True or False) |
LineString使用範例
import sgpy #透過wkt字串,建立新的LineString物件 geo=sgpy.FromWKT("LINESTRING (30 10, 10 30, 40 40)") #列印geomtery的WKT字串,和幾何類型 print str(geo.GetLength()) print str(geo.partCount) |
©2015 Supergeo Technologies Inc. All rights reserved.