跳到內容

串流

串流透過函式呼叫轉換幾何,以最小化開銷,而非實體化中間表示。串流必須實作多個方法來接收輸入幾何。串流本質上是有狀態的;的意義取決於點是否在中,而線與環則由多邊形區分。儘管名稱為「串流」,這些方法呼叫目前是同步的。

geoStream(object, stream)

原始碼 · 將指定的GeoJSON物件串流到指定的投影串流。雖然特徵和幾何物件都支援作為輸入,串流介面僅描述幾何,因此串流無法看到其他特徵屬性。

stream.point(x, y, z)

表示具有指定座標xy(以及z)的點。座標系統未指定且依實作而定;例如,投影串流需要球面座標(以度為單位)作為輸入。在多邊形或線條的背景下,點表示點幾何物件(多點)。在線條或多邊形環中,點表示控制點。

串流.lineStart()

表示線條或環的開始。在多邊形內,表示環的開始。多邊形的第一個環是外環,通常順時針。任何後續的環表示多邊形中的孔,通常逆時針。

串流.lineEnd()

表示線條或環的結束。在多邊形內,表示環的結束。與 GeoJSON 不同,環的冗餘閉合坐標不會透過 指示,而是在多邊形內透過 lineEnd 暗示。因此,給定的多邊形輸入

json
{
  "type": "Polygon",
  "coordinates": [[[0, 0], [0, 1], [1, 1], [1, 0], [0, 0]]]
}

將在串流上產生以下方法呼叫序列

js
stream.polygonStart();
stream.lineStart();
stream.point(0, 0);
stream.point(0, 1);
stream.point(1, 1);
stream.point(1, 0);
stream.lineEnd();
stream.polygonEnd();

串流.polygonStart()

表示多邊形的開始。多邊形的第一條線表示外環,任何後續的線表示內部孔。

串流.polygonEnd()

表示多邊形的結束。

串流.sphere()

表示球體(地球儀;以 ⟨0,0,0⟩ 為中心的單位球體)。