Download node_modules/d3-geo/src/stream.js from NKessler/Horizon: direct link, hf CLI and curl.
- Browser
- Download file 2.3 kB
-
https://huggingface.co/NKessler/Horizon/resolve/main/node_modules/d3-geo/src/stream.js
- Command line
-
hf download hf://NKessler/Horizon/node_modules/d3-geo/src/stream.js
-
curl -L -o stream.js https://huggingface.co/NKessler/Horizon/resolve/main/node_modules/d3-geo/src/stream.js
2.3 kB
| function streamGeometry(geometry, stream) { | |
| if (geometry && streamGeometryType.hasOwnProperty(geometry.type)) { | |
| streamGeometryType[geometry.type](geometry, stream); | |
| } | |
| } | |
| var streamObjectType = { | |
| Feature: function(object, stream) { | |
| streamGeometry(object.geometry, stream); | |
| }, | |
| FeatureCollection: function(object, stream) { | |
| var features = object.features, i = -1, n = features.length; | |
| while (++i < n) streamGeometry(features[i].geometry, stream); | |
| } | |
| }; | |
| var streamGeometryType = { | |
| Sphere: function(object, stream) { | |
| stream.sphere(); | |
| }, | |
| Point: function(object, stream) { | |
| object = object.coordinates; | |
| stream.point(object[0], object[1], object[2]); | |
| }, | |
| MultiPoint: function(object, stream) { | |
| var coordinates = object.coordinates, i = -1, n = coordinates.length; | |
| while (++i < n) object = coordinates[i], stream.point(object[0], object[1], object[2]); | |
| }, | |
| LineString: function(object, stream) { | |
| streamLine(object.coordinates, stream, 0); | |
| }, | |
| MultiLineString: function(object, stream) { | |
| var coordinates = object.coordinates, i = -1, n = coordinates.length; | |
| while (++i < n) streamLine(coordinates[i], stream, 0); | |
| }, | |
| Polygon: function(object, stream) { | |
| streamPolygon(object.coordinates, stream); | |
| }, | |
| MultiPolygon: function(object, stream) { | |
| var coordinates = object.coordinates, i = -1, n = coordinates.length; | |
| while (++i < n) streamPolygon(coordinates[i], stream); | |
| }, | |
| GeometryCollection: function(object, stream) { | |
| var geometries = object.geometries, i = -1, n = geometries.length; | |
| while (++i < n) streamGeometry(geometries[i], stream); | |
| } | |
| }; | |
| function streamLine(coordinates, stream, closed) { | |
| var i = -1, n = coordinates.length - closed, coordinate; | |
| stream.lineStart(); | |
| while (++i < n) coordinate = coordinates[i], stream.point(coordinate[0], coordinate[1], coordinate[2]); | |
| stream.lineEnd(); | |
| } | |
| function streamPolygon(coordinates, stream) { | |
| var i = -1, n = coordinates.length; | |
| stream.polygonStart(); | |
| while (++i < n) streamLine(coordinates[i], stream, 1); | |
| stream.polygonEnd(); | |
| } | |
| export default function(object, stream) { | |
| if (object && streamObjectType.hasOwnProperty(object.type)) { | |
| streamObjectType[object.type](object, stream); | |
| } else { | |
| streamGeometry(object, stream); | |
| } | |
| } | |