串流
串流透過函式呼叫轉換幾何,以最小化開銷,而非實體化中間表示。串流必須實作多個方法來接收輸入幾何。串流本質上是有狀態的;點的意義取決於點是否在線中,而線與環則由多邊形區分。儘管名稱為「串流」,這些方法呼叫目前是同步的。
geoStream(object, stream)
原始碼 · 將指定的GeoJSON物件串流到指定的投影串流。雖然特徵和幾何物件都支援作為輸入,串流介面僅描述幾何,因此串流無法看到其他特徵屬性。
stream.point(x, y, z)
表示具有指定座標x和y(以及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⟩ 為中心的單位球體)。