<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    6.3 幾何函數定義

    a) 構造性集合函數定義

    Buffer(g : Geometry, d : Double) : Bag

    這個函數應有兩個參數,數據類型分別為“urn : ogc : def : dataType : geoxacml : 1.0 : geometry”和“http : //www.w3.org/2001/XMLSchema#double”。

    這個函數應返回一個幾何值的包,能夠描述幾何體g在距離d上的緩沖區域。一個幾何體在距離d上的緩沖就是一個多邊形或者是多邊形集,它包含了幾何體在距離d內的所有的點。變量d的度量單位應是米。

    Boundary(g:Geometry) : Bag

    這個函數應有一個參數,數據類型為““urn : ogc : def : dataType : geoxacml : 1.0 : geometry”,并返回幾何體的包。

    這個函數應返回一個幾何值的包,該包可以用來描述幾何體g的組合邊界。

    ConvexHull(g:Geometry) : Geometry

    這個函數應有一個參數,數據類型為“urn : ogc : def : dataType : geoxacml : 1.0 : geometry”,并返回相同數據類型的值。

    這個函數應返回一個能夠代表幾何體g的凸包的幾何對象。凸包就是包含幾何體的所有點的最小凸多邊形。數據類型“點”這種幾何體編碼的凸包就是點本身。

    Centroid(g:Geometry) : Geometry

    這個函數應有一個參數,數據類型為““urn : ogc : def : dataType : geoxacml : 1.0 : geometry”,并返回相同數據類型的值。

    這個函數應返回幾何體g的幾何重心的那個點。

    Difference(g1:Geometry, g2:Geometry) : Bag

    這個函數應有兩個參數,數據類型為“urn : ogc : def : dataType : geoxacml : 1.0 : geometry”,并返回幾何體的包。

    這個函數應返回一個幾何值的包,該包是幾何體g1和g2差的幾何閉包。差異就是在g1上且不在g2上的點的集合。

    SymDifference(g1:Geometry, g2:Geometry) : Bag

    這個函數應有兩個參數,數據類型為“urn : ogc : def : dataType : geoxacml : 1.0 : geometry”,并返回幾何體的包。

    這個函數應返回幾何值的包,該包是兩個幾何體對稱差的閉包。對稱差異就是在g1上或者在g2上,但不同時在兩者之上的點的集合。

    Intersection(g1:Geometry, g2:Geometry) : Bag

    這個函數應有兩個參數,數據類型為“urn : ogc : def : dataType : geoxacml : 1.0 : geometry”,并返回幾何體的包。

    這個函數應返回一個幾何值的包,該包能夠代表幾何體g1和g2的點集交集。

    Union(g1:Geometry, g2:Geometry) : Bag

    這個函數應有兩個參數,數據類型為“urn : ogc : def : dataType : geoxacml : 1.0 : geometry”,并返回幾何體的包。

    這個函數應返回一個幾何值的包,該包能夠代表幾何體g1和g2的點集并集。

    b) 標量幾何函數定義

    Area(g:Geometry) : Double

    這個函數應有一個參數,數據類型為“urn : ogc : def : dataType : geoxacml : 1.0 : geometry”,并返回一個數據類型為“http : //www.w3.org/2001/XMLSchema# double”的值。

    這個函數應返回一個能夠代表幾何體g的面積的值。返回值的度量單位應是平方米。如果幾何體數據類型是點或者線這個函數應返回零。

    Distance(g1:Geometry, g2:Geometry) : Double

    這個函數應有兩個參數,數據類型為“urn : ogc : def : dataType : geoxacml : 1.0 : geometry”,并返回一個數據類型為“http : //www.w3.org/2001/XMLSchema# double”的值。

    這個函數應返回幾何體g1和g2上任意兩點的最短距離。

    因為幾何體都是封閉的,所以,幾何體上每一個點都是可以確定并找到的,因此,計算兩個幾何體間的最短距離也是可行的。

    IsWithinDistance(g1:Geometry, g2:Geometry, d:Double) : Boolean

    這個函數應有三個參數,其中,兩個參數的數據類型為“urn : ogc : def : dataType:geoxacml : 1.0 : geometry”,另外一個參數的數據類型為“http : //www.w3.org/2001/XMLSchema# double”,并返回數據類型為“http : //www.w3.org/2001/XMLSchema#boolean”的值。

    這個函數應返回一個“True”當且僅當幾何體g1和g2之間的最小距離小于等于指定的距離(單位為米)。

    Length(g:Geometry) : Double

    這個函數應有一個參數,數據類型為“urn : ogc : def : dataType : geoxacml : 1.0 : geometry”,并返回數據類型為“http://www.w3.org/2001/XMLSchema# double”的值。

    這個函數應返回幾何體g的長度值,返回值的度量單位應是米。如果幾何體數據類型是“點”,函數應返回零。如果幾何體數據類型是“多邊形”,函數應返回周長。

    c) 檢查特殊要素函數的定義

    在本條定義的所有的函數都應有一個參數,數據類型為“urn : ogc : def : dataType : geoxacml : 1.0 : geometry”,并返回數據類型為http://www.w3.org/2001/XMLSchema#boolean的值。

    IsSimple(g:Geometry) : Boolean

    這個函數應返回一個“True”,當且僅當幾何體g沒有不規則的幾何點,如自交、自切。簡單的弧線僅在端點相交(只有當它們是閉合時,參考下一函數)。

    IsClosed(g:Geometry) : Boolean

    這個函數應返回一個“True”,當且僅當弧g的起點和終點是同一的。對于一個點來說,點的有限集合或者空的幾何體函數應返回一個“True”。面需要一個3D的空間來閉合。一般來說,封閉的幾何體擁有空的邊界。

    IsValid(g:Geometry) : Boolean

    這個函數應返回一個“True”,當且僅當幾何體g滿足OGC 06-103r4中定義的有效性。

    需要說明的是,即使幾何體(將被PDP處理)毫無疑問是有效的,操作符也會對其進行顯式檢查。這一點如同Java語言中的異常處理一樣。Java定義了能被程序員處理的可檢查異常和源代碼中異常處理可選的不可檢查異常。IsValid操作符的刻意使用非常類似不可被檢查的異常。

    本文章首發在 網安wangan.com 網站上。

    上一篇 下一篇
    討論數量: 0
    只看當前版本


    暫無話題~
    亚洲 欧美 自拍 唯美 另类