流
流通过对函数调用的几何变换来最小化开销,而不是物化中间表示。流必须实现一些方法来接收输入几何。流本质上是有状态的;点 的含义取决于该点是否在 线 内,同样,线与环的区别在于 多边形。尽管名为“流”,但这些方法调用目前是同步的。
geoStream(object, stream)
源代码 · 将指定的 GeoJSON object 流式传输到指定的 投影 stream。虽然特征和几何对象都支持作为输入,但流接口仅描述几何,因此流不可见其他特征属性。
stream.point(x, y, z)
指示具有指定坐标 x 和 y(以及可选的 z)的点。坐标系未指定且取决于实现;例如,投影流 要求以度为单位的球面坐标作为输入。在多边形或线的上下文中,点表示点几何对象 (点 或 多点)。在一条线或多边形环内,点表示控制点。
stream.lineStart()
指示一条线或环的开始。在多边形内,指示环的开始。多边形的第一个环是外环,通常是顺时针方向。任何后续环表示多边形中的孔,通常是逆时针方向。
stream.lineEnd()
指示一条线或环的结束。在多边形内,指示环的结束。与 GeoJSON 不同,环的冗余闭合坐标不通过 point 指示,而是隐含地通过多边形内的 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();
stream.polygonStart()
指示多边形的开始。多边形的第一个线表示外环,任何后续线表示内部孔。
stream.polygonEnd()
指示多边形的结束。
stream.sphere()
指示球体(地球;以⟨0,0,0⟩ 为中心的单位球体)。