forked from openfusion-dev/gjtk-js
-
Notifications
You must be signed in to change notification settings - Fork 0
/
generate.js
51 lines (45 loc) · 1.38 KB
/
generate.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
var generate = module.exports = {
Point: function ( Position ) {
// Create a valid GeoJSON Point geometry.
return {
type: "Point",
"coordinates": Position
};
},
Feature: function ( Geometry , properties ) {
// Create a valid GeoJSON Feature.
var Feature = {
type: 'Feature',
geometry: null,
properties: (typeof properties === 'object') ? properties : {}
};
Feature.geometry = Geometry;
return Feature;
},
FeatureCollection: function ( Features ) {
// Create a valid GeoJSON FeatureCollection.
var FeatureCollection = {
type: 'FeatureCollection',
features: []
};
if (Array.isArray(Features)) Features.forEach(
function ( Feature ) {
FeatureCollection.features.push(Feature);
}
);
return FeatureCollection;
},
GeometryCollection: function ( Geometries ) {
// Create a valid GeoJSON GeometryCollection.
var GeometryCollection = {
type: 'GeometryCollection',
geometries: []
};
if (Array.isArray(Geometries)) Geometries.forEach(
function ( Geometry ) {
GeometryCollection.geometries.push(Geometry);
}
);
return GeometryCollection;
},
}