<< Click to Display Table of Contents >>

 

Geometry

 

 

Geometry物件包含一系列幾何圖形的坐標, 用來定義與空間有關連的幾何形狀與位置, Geometry物件可以自行定義,有可以從其他物件中取得。

語法:

Geometry (geometry, inputs, spatial_reference, has_z, has_m)

參數

說明

參數類型

geometry

幾何類型,有:點,線,面,多重點等幾種類型

字串

inputs

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

物件

spatial_reference

Geometry所屬的坐標系統

spatialReference

has_z

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

布林

has_m

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

布林

Geometry物件屬性

參數

說明

參數類型

WKB

(唯讀)

構成Geometry的WKB資料

Bytearray

WKT

(唯讀)

構成Geometry的WKT字串資料

字串

Area

(唯讀)

Geometry的面積大小,幾何類型為面的Geometry才有, 幾何類型非面者為Null

雙精度浮點數

Centroid

(唯讀)

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

Point

Extent

(可讀寫)

Geometry的範圍

extent

firstPoint

(唯讀)

Geometry的起始點位

Point

hullRectangle

(唯讀)

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

字串

isMultipart

(唯讀)

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

布林

labelPoint

(唯讀)

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

Point

lastPoint

(唯讀)

Geometry的結束點位

Point

length

(唯讀)

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

雙精度浮點數

length3D

(唯讀)

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

雙精度浮點數

partCount

(唯讀)

構成Geometry物件的部分有幾個

長整數

pointCount

(唯讀)

構成Geometry物件的所有點數量

長整數

spatialReference

(唯讀)

Geometry物件的座標系統

spatialReference

trueCentroid

(唯讀)

Geometry的重心點

Point

type

(唯讀)

Geometry的幾何類型,有:點,線,面,多重點等幾種類型

字串

Geometry 物件函數

類別函數

函數說明

Boundary()

回傳構成Geometry的邊線

Buffer(distance)

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

Contains(sec_geometry)

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

ConvexHull()

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

Crosses()

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

Difference(sec_geometry)

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

Disjoint(sec_geometry)

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

DistanceTo(sec_geometry)

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

Equals(sec_geometry)

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

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

GetArea()

取得Geometry的面積

GetLength()

取得Geometry的長度

GetPart()

取得構成Geometry的部分有幾個

Intersect(sec_geometry)

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

MeasureOnLine(in_point)

回傳in_point到Geometry起始點的距離

Overlaps(sec_geometry)

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

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

PositionAlongLine(distance)

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

SymmetricDifference

(sec_geometry)

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

Touches(second_geometry)

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

Union(second_geometry)

回傳Geometry 和sec_geometry之間的聯集

Within(second_geometry)

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

next()

回傳構成Geometry的點資料

(每呼叫一次,會依序回傳構成Geometry的點

通常搭配while 使用,取得所有點資料)

Geometry使用範例

import sgpy

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

geo=sgpy.FromWKT("POINT(-111.870478 33.685992)")

#列印geomtery的WKT字串,和幾何類型

print str(geo.WKT)

print str(geo.type)

print str(geo.pointCount)

 


©2015 Supergeo Technologies Inc. All rights reserved.