<< Click to Display Table of Contents >>

 

Polygon

 

 

Polygon物件是指由一系列相連的 x,y 坐標對定義的閉合形狀。

語法:

Polygon (inputs, spatial_reference, has_z, has_m)

參數

說明

參數類型

inputs

用來建立Polygon物件的點資料,可以是一個點或是由多個點組成的陣列

物件

spatial_reference

Polygon所屬的坐標系統

spatial_reference

has_z

Polygon是否有Z值,True表示有,False表示沒有

布林

has_m

Polygon是否有M值,True表示有,False表示沒有

布林

Polygon物件屬性

參數

說明

參數類型

WKB

(唯讀)

構成Polygon的WKB資料

Bytearray

WKT

(唯讀)

構成Polygon的WKT字串資料

字串

Area

(唯讀)

Polygon的面積大小

雙精度浮點數

Centroid

(唯讀)

Polygon的質心點, 如果質心點是落在Geometry圖形中間或是邊界上,才會回傳質心點

Point

Extent

(可讀寫)

Polygon的範圍

extent

firstPoint

(唯讀)

Polygon的起始點位

Point

hullRectangle

(唯讀)

以空格分隔的凸包矩形坐標對的字符串。

字串

isMultipart

(唯讀)

Polygon本身是否由兩個以上的部分組成,是的話為Ture,不是的話為False

布林

labelPoint

(唯讀)

Polygon物件之標題所在點位,該點位必定落在Polygon之內

Point

lastPoint

(唯讀)

Polygon的結束點位

Point

length

(唯讀)

Polygon物件的長度,點資料或是多重點資料,為0

雙精度浮點數

length3D

(唯讀)

Polygon物件的3D長度,點資料或是多重點資料,為0

雙精度浮點數

partCount

(唯讀)

構成Polygon物件的幾何部分有幾個

長整數

pointCount

(唯讀)

構成Polygon物件的所有點數量

長整數

spatialReference

(唯讀)

Polygon物件的坐標系統

spatialReference

trueCentroid

(唯讀)

Polygon的重心點

Point

type

(唯讀)

Polygon的幾何類型

字串

Polygon 物件函數

類別函數

函數說明

Boundary()

回傳構成Polygon的邊線

Buffer(distance)

依半徑, 建立並回傳Polygon的環域

Contains(sec_geometry)

判斷Polygon是否有將sec_geometry完全包含,回傳結果為布林值 (True or False)

ConvexHull()

建立並回傳包圍Polygon的最小面積多邊形

Crosses()

判斷Polygon 是否和sec_geometry有相交,回傳結果為布林值 (True or False)

Difference(sec_geometry)

以sec_geometry為目標,將Polygon和sec_geometry交集到的範圍扣除後再回傳,回傳成果為Polygon物件

Disjoint(sec_geometry)

判斷Polygon 是否和sec_geometry有共同點,回傳結果為布林值 (True or False)

DistanceTo(sec_geometry)

回傳Polygon 到sec_geometry之間的最短距離,如果兩者相交,則距離為0

Equals(sec_geometry)

判斷Polygon 是否和sec_geometry完全相同(所有點位完全相同,且geometry類型也相同),回傳結果為布林值 (True or False)

(僅做2D比較,不比較Z值和M值)

GetArea()

取得Polygon的面積

GetLength()

取得Polygon的長度

GetPart()

取得構成Polygon的幾何部分有幾個

Intersect(sec_geometry)

產生Polygon 和sec_geometry的交集區域,並回回傳該區域

MeasureOnLine(in_point)

回傳in_point到Polygon起始點的距離

Overlaps(sec_geometry)

判斷Polygon是否和sec_geometry有重疊,回傳結果為布林值 (True or False)

(重疊定義: Polygon 是和sec_geometry為相同幾何類型,且兩者之間有部分重疊)

PositionAlongLine(distance)

返回與起始點之間,間隔特定距離的點位

SymmetricDifference

(sec_geometry)

回傳Polygon 和sec_geometry之間的聯集減去Polygon 和sec_geometry之間的交集的成果

Touches(second_geometry)

判斷Polygon 和sec_geometry兩者的邊界是否相交,回傳結果為布林值 (True or False)

Union(second_geometry)

回傳Polygon 和sec_geometry之間的聯集

Within(second_geometry)

判斷Polygon 是否完全落在sec_geometry中,的邊界是否相交,回傳結果為布林值 (True or False)

Polygon使用範例

import sgpy

#透過wkt字串,建立新的polygon物件

geo=sgpy.FromWKT("POLYGON ((30 10, 40 40, 20 40, 10 20, 30 10))")

#列印polygon的面積,和組成部分有幾個

print str(geo.GetArea())

print str(geo.partCount)

 


©2015 Supergeo Technologies Inc. All rights reserved.