PilotGaea 2D O'view
    正在準備搜尋索引...

    類別 GeoPolygon

    多邊形幾何物件

    內部的點位順序需為順時針

    層級 (查看層級一覽)

    索引

    屬性

    Buffer: GeoPoint[] = []

    點位陣列

    方法

    • 產生一份新的自己。

      回傳 GeoPolygon

      複製的新的自己。

    • 移除所有的點位資料。

      回傳 void

    • 設定幾何資料,會檢查順逆時針,將其調整成正確的順序。

      若已知順序,可直接設定 Buffer 變數,以增進效能。

      參數

      • buffer: PointLike[]

        要設定的點位資料。

      回傳 boolean

      是否設定成功。

    • Bufferindex 個點。

      參數

      • index: number

        索引。

      回傳 GeoPoint

      第index個點。

    • 設定 Bufferindex 個點。

      參數

      • index: number

        索引。

      • obj: GeoPoint

        要設定的值。

      回傳 void

    • 檢查傳入的點是否位於此多邊形內。

      參數

      • p: PointLike

        欲檢查的點。

      • obj: { InBound?: boolean }

        此為out參數,需在執行前先配置好,執行後,obj.InBound 代表是否位於邊緣上。

      回傳 boolean

      是否位於多邊形內 (含邊緣)。

    • 計算此多邊形的面積。

      回傳 number

      面積。

    • 判定此多邊形是否為凸多邊形。

      回傳 boolean

      是否為凸多邊形。

    • 判定此多邊形是否為好的多邊形 (順序對,沒和自己相交,有面積...)。

      參數

      回傳 boolean

      是否為好的多邊形。

    • 將傳入的線用此自己來切除,只剩在自己內的線。

      參數

      • line: GeoLine

        欲處理的線段資料。

      • result: GeoLine

        此為out參數,須在執行前先配置好,執行後,此為處理後的答案。

      回傳 boolean

      是否執行成功。

    • 將傳入的多邊形用自己來切除,只剩在多邊形內的範圍。

      參數

      • toClip: GeoPolygon

        欲處理的多邊形資料。

      • result: GeoPolygon

        此為out參數,須在執行前先配置好,執行後,此為處理後的答案。

      回傳 boolean

      是否執行成功。

    • 將自己與傳入的多邊形做合併運算。

      參數

      • polygon: GeoPolygon

        運算的多邊形資料。

      • polygonSet: GeoPolygonSet

        此為out參數,需先在外面配好變數,合併後的結果。

      • combineType: number

        運算類型。

      回傳 boolean

      是否運算成功。

      請使用CombinePolygon

    • 將自己與傳入的多邊形做合併運算。

      參數

      • polygon: GeoPolygon

        運算的多邊形資料。

      • polygonSet: GeoPolygonSet

        此為out參數,需先在外面配好變數,合併後的結果。

      • combineType: number

        運算類型。

      回傳 boolean

      是否運算成功。

    • 將自己用傳入的線段來切成右與左兩部分的多邊形。

      參數

      • line: GeoLine

        切割的線段。

      • rightAnswer: GeoPolygon[]

        此為out參數,需在執行前先配置好,執行後,傳回右邊的多邊形。

      • leftAnswer: GeoPolygon[]

        此為out參數,需在執行前先配置好,執行後,傳回左邊的多邊形。

      回傳 boolean

      是否運算成功

    • 將自己用傳入的聚合線來切成右與左兩部分的多邊形。

      參數

      • polyline: GeoPolyline

        切割的聚合線。

      • rightAnswer: GeoPolygon[]

        此為out參數,需在執行前先配置好,執行後,傳回右邊的多邊形。

      • leftAnswer: GeoPolygon[]

        此為out參數,需在執行前先配置好,執行後,傳回左邊的多邊形。

      回傳 boolean

      是否運算成功。

    • 將自己用傳入的多邊形來切成內部與外部兩部分的複合多邊形。

      參數

      • polygon: GeoPolygon

        切割的多邊形。

      • inside: GeoPolygonSet

        此為out參數,需在執行前先配置好,執行後,傳回內部的複合多邊形。

      • outside: GeoPolygonSet

        此為out參數,需在執行前先配置好,執行後,傳回外部的複合多邊形。

      回傳 boolean

      是否運算成功。

    • 自己是否包含傳入的幾何資料。

      參數

      回傳 boolean

      是否包含幾何。

    • 自己是否包含傳入的幾何資料。

      參數

      • obj: GeoPolygon | GeoPolygonSet

        判斷的幾何資料。

      • bound: boolean

        相交於邊上是否算包含。預設否。

      回傳 boolean

      是否包含幾何。

    • 位移。

      參數

      回傳 void

    • 做出環域的複合多邊形。

      參數

      • distance: number

        環域的距離。

      • polygonSet: GeoPolygonSet

        out參數,環域計算的答案。

      回傳 boolean

      回傳是否成功。

    • 以指定誤差值簡約化多邊形

      參數

      • maxErr: number

        誤差值。

      • avoid: null | GeoPolyline[] = null

        在過程中要避免相交的聚合線。

      回傳 number

      簡約化後剩餘的點數。

    • 以指定點數簡約化多邊形。

      參數

      • 可選count: number

        簡約化後希望的點數。

      回傳 number

      簡約化後剩餘的點數。

    • 將此多邊形轉為聚合線。

      回傳 GeoPolyline

      轉換後的聚合線。

    • 將幾何輸出成 GeoJSON 物件。

      參數

      • 可選toString: false

        是否把物件轉成JSON字串。

      回傳 PolygonSet

      輸出轉換結果。

    • 將幾何輸出成 GeoJSON 字串。

      參數

      • toString: true

        是否把物件轉成JSON字串。

      回傳 string

      輸出轉換結果。

    • 讀入GeoJSON 數值。

      參數

      回傳 boolean

      回傳讀取是否成功。

    • 輸出成Float64Array緩衝區物件。

      回傳 Float64Array<ArrayBuffer>

      回傳多邊形點位陣列。

    • 讀入Float64Array緩衝區物件。

      參數

      • geoBuffer: Float64Array

      回傳 GeoPolygon

      this

    • 計算傳入的點到多邊形邊緣上的距離。

      參數

      回傳 number

      距離。

    構造函數

    • 建立多邊形

      回傳 GeoPolygon

      let polygon = new GeoPolygon(); // 預設建構子
      
    • 建立多邊形

      參數

      回傳 GeoPolygon

      let polygon = new GeoPolygon();
      let polygonCopy = new GeoPolygon(polygon); // 使用欲複製的GeoPolygon建立GeoPolygon
    • 建立多邊形

      參數

      回傳 GeoPolygon

      let polygon = new GeoPolygon(new GeoPolyline()); // 使用欲轉換的GeoPolyline建立GeoPolygon
      
    • 建立多邊形

      參數

      回傳 GeoPolygon

      let polygon = new GeoPolygon(new GeoBoundary()); // 使用欲轉換的GeoBoundary建立GeoPolygon
      
    • 建立多邊形

      參數

      回傳 GeoPolygon

      let p1 = new GeoPoint(0, 0);
      let p2 = new GeoPoint(0, 1);
      let p3 = new GeoPoint(1, 0);
      let polygon = new GeoPolygon([p1, p2, p3]); // 使用GeoPoint陣列建立GeoPolygon

    訪問器屬性

    • get type(): 4

      物件型態,值為 GEO_TYPE.POLYGON

      回傳 4

    • get length(): number

      點位的數量

      回傳 number

    • get Boundary(): GeoBoundary

      此幾何的範圍

      回傳 GeoBoundary

    • get Center(): GeoPoint

      此幾何的中心點

      回傳 GeoPoint