Skip to content

Instantly share code, notes, and snippets.

@morganherlocker
Created March 25, 2014 15:25
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save morganherlocker/9764162 to your computer and use it in GitHub Desktop.
Save morganherlocker/9764162 to your computer and use it in GitHub Desktop.
0 info it worked if it ends with ok
1 verbose cli [ 'node', '/usr/local/bin/npm', 'publish' ]
2 info using npm@1.4.6
3 info using node@v0.10.26
4 verbose publish [ '.' ]
5 verbose cache add [ '.', null ]
6 verbose cache add name=undefined spec="." args=[".",null]
7 verbose parsed url { protocol: null,
7 verbose parsed url slashes: null,
7 verbose parsed url auth: null,
7 verbose parsed url host: null,
7 verbose parsed url port: null,
7 verbose parsed url hostname: null,
7 verbose parsed url hash: null,
7 verbose parsed url search: null,
7 verbose parsed url query: null,
7 verbose parsed url pathname: '.',
7 verbose parsed url path: '.',
7 verbose parsed url href: '.' }
8 silly lockFile 3a52ce78- .
9 verbose lock . /Users/morgan/.npm/3a52ce78-.lock
10 verbose tar pack [ '/var/folders/5b/1n6ylh2d1g38bvpqqk22pc080000gn/T/npm-10665-lSSSHuEb/1395760627578-0.729469079291448/tmp.tgz',
10 verbose tar pack '.' ]
11 verbose tarball /var/folders/5b/1n6ylh2d1g38bvpqqk22pc080000gn/T/npm-10665-lSSSHuEb/1395760627578-0.729469079291448/tmp.tgz
12 verbose folder .
13 info prepublish turf@0.1.1
14 silly lockFile 1f1177db-tar tar://.
15 verbose lock tar://. /Users/morgan/.npm/1f1177db-tar.lock
16 silly lockFile b1873907-627578-0-729469079291448-tmp-tgz tar:///var/folders/5b/1n6ylh2d1g38bvpqqk22pc080000gn/T/npm-10665-lSSSHuEb/1395760627578-0.729469079291448/tmp.tgz
17 verbose lock tar:///var/folders/5b/1n6ylh2d1g38bvpqqk22pc080000gn/T/npm-10665-lSSSHuEb/1395760627578-0.729469079291448/tmp.tgz /Users/morgan/.npm/b1873907-627578-0-729469079291448-tmp-tgz.lock
18 silly lockFile 1f1177db-tar tar://.
19 silly lockFile 1f1177db-tar tar://.
20 silly lockFile b1873907-627578-0-729469079291448-tmp-tgz tar:///var/folders/5b/1n6ylh2d1g38bvpqqk22pc080000gn/T/npm-10665-lSSSHuEb/1395760627578-0.729469079291448/tmp.tgz
21 silly lockFile b1873907-627578-0-729469079291448-tmp-tgz tar:///var/folders/5b/1n6ylh2d1g38bvpqqk22pc080000gn/T/npm-10665-lSSSHuEb/1395760627578-0.729469079291448/tmp.tgz
22 verbose tar unpack /var/folders/5b/1n6ylh2d1g38bvpqqk22pc080000gn/T/npm-10665-lSSSHuEb/1395760627578-0.729469079291448/tmp.tgz
23 silly lockFile ad3c5f8c-627578-0-729469079291448-package tar:///var/folders/5b/1n6ylh2d1g38bvpqqk22pc080000gn/T/npm-10665-lSSSHuEb/1395760627578-0.729469079291448/package
24 verbose lock tar:///var/folders/5b/1n6ylh2d1g38bvpqqk22pc080000gn/T/npm-10665-lSSSHuEb/1395760627578-0.729469079291448/package /Users/morgan/.npm/ad3c5f8c-627578-0-729469079291448-package.lock
25 silly lockFile b1873907-627578-0-729469079291448-tmp-tgz tar:///var/folders/5b/1n6ylh2d1g38bvpqqk22pc080000gn/T/npm-10665-lSSSHuEb/1395760627578-0.729469079291448/tmp.tgz
26 verbose lock tar:///var/folders/5b/1n6ylh2d1g38bvpqqk22pc080000gn/T/npm-10665-lSSSHuEb/1395760627578-0.729469079291448/tmp.tgz /Users/morgan/.npm/b1873907-627578-0-729469079291448-tmp-tgz.lock
27 silly gunzTarPerm modes [ '755', '644' ]
28 silly gunzTarPerm extractEntry package.json
29 silly gunzTarPerm extractEntry .npmignore
30 silly gunzTarPerm extractEntry README.md
31 silly gunzTarPerm extractEntry LICENSE
32 silly gunzTarPerm extractEntry turf.js
33 silly gunzTarPerm extractEntry turf.min.js
34 silly gunzTarPerm extractEntry index.js
35 silly gunzTarPerm extractEntry build
36 silly gunzTarPerm extractEntry img/contours.jpg
37 silly gunzTarPerm extractEntry img/points.jpg
38 silly gunzTarPerm extractEntry img/turf.png
39 silly gunzTarPerm extractEntry .travis.yml
40 silly gunzTarPerm extractEntry lib/aggregate.js
41 silly gunzTarPerm extractEntry lib/isClockwise.js
42 silly gunzTarPerm extractEntry lib/isobands.js
43 silly gunzTarPerm extractEntry lib/isolines.js
44 silly gunzTarPerm extractEntry lib/intersect.js
45 silly gunzTarPerm extractEntry lib/linestring.js
46 silly gunzTarPerm extractEntry lib/load.js
47 silly gunzTarPerm extractEntry lib/max.js
48 silly gunzTarPerm extractEntry lib/median.js
49 silly gunzTarPerm extractEntry lib/merge.js
50 silly gunzTarPerm extractEntry lib/inside.js
51 silly gunzTarPerm extractEntry lib/midpoint.js
52 silly gunzTarPerm extractEntry lib/grid.js
53 silly gunzTarPerm extractEntry lib/min.js
54 silly gunzTarPerm extractEntry lib/flip.js
55 silly gunzTarPerm extractEntry lib/near.js
56 silly gunzTarPerm extractEntry lib/filter.js
57 silly gunzTarPerm extractEntry lib/nearest.js
58 silly gunzTarPerm extractEntry lib/featurecollection.js
59 silly gunzTarPerm extractEntry lib/planepoint.js
60 silly gunzTarPerm extractEntry lib/extent.js
61 silly gunzTarPerm extractEntry lib/point.js
62 silly gunzTarPerm extractEntry lib/explode.js
63 silly gunzTarPerm extractEntry lib/polygon.js
64 silly gunzTarPerm extractEntry lib/erase.js
65 silly gunzTarPerm extractEntry lib/quantile.js
66 silly gunzTarPerm extractEntry lib/envelope.js
67 silly gunzTarPerm extractEntry lib/reclass.js
68 silly gunzTarPerm extractEntry lib/donuts.js
69 silly gunzTarPerm extractEntry lib/remove.js
70 silly gunzTarPerm extractEntry lib/distance.js
71 silly gunzTarPerm extractEntry lib/sample.js
72 silly gunzTarPerm extractEntry lib/deviation.js
73 silly gunzTarPerm extractEntry lib/save.js
74 silly gunzTarPerm extractEntry lib/count.js
75 silly gunzTarPerm extractEntry lib/simplify.js
76 silly gunzTarPerm extractEntry lib/convex.js
77 silly gunzTarPerm extractEntry lib/size.js
78 silly gunzTarPerm extractEntry lib/contour.js
79 silly gunzTarPerm extractEntry lib/smooth.js
80 silly gunzTarPerm extractEntry lib/concave.js
81 silly gunzTarPerm extractEntry lib/square.js
82 silly gunzTarPerm extractEntry lib/combine.js
83 silly gunzTarPerm extractEntry lib/sum.js
84 silly gunzTarPerm extractEntry lib/centroid.js
85 silly gunzTarPerm extractEntry lib/tag.js
86 silly gunzTarPerm extractEntry lib/center.js
87 silly gunzTarPerm extractEntry lib/tin.js
88 silly gunzTarPerm extractEntry lib/buffer.js
89 silly gunzTarPerm extractEntry lib/topo.js
90 silly gunzTarPerm extractEntry lib/bezier.js
91 silly gunzTarPerm extractEntry lib/union.js
92 silly gunzTarPerm extractEntry lib/bboxPolygon.js
93 silly gunzTarPerm extractEntry lib/valid.js
94 silly gunzTarPerm extractEntry lib/average.js
95 silly gunzTarPerm extractEntry lib/variance.js
96 silly gunzTarPerm extractEntry lib/area.js
97 silly gunzTarPerm extractEntry lib/within.js
98 silly gunzTarPerm extractEntry lib/jenks.js
99 silly gunzTarPerm extractEntry bower.json
100 silly gunzTarPerm extractEntry release
101 silly gunzTarPerm extractEntry test/aggregate.js
102 silly gunzTarPerm extractEntry test/isClockwide.js
103 silly gunzTarPerm extractEntry test/isobands.js
104 silly gunzTarPerm extractEntry test/isolines.js
105 silly gunzTarPerm extractEntry test/jenks.js
106 silly gunzTarPerm extractEntry test/intersect.js
107 silly gunzTarPerm extractEntry test/area.js
108 silly gunzTarPerm extractEntry test/max.js
109 silly gunzTarPerm extractEntry test/median.js
110 silly gunzTarPerm extractEntry test/merge.js
111 silly gunzTarPerm extractEntry test/midpoint.js
112 silly gunzTarPerm extractEntry test/inside.js
113 silly gunzTarPerm extractEntry test/min.js
114 silly gunzTarPerm extractEntry test/grid.js
115 silly gunzTarPerm extractEntry test/near.js
116 silly gunzTarPerm extractEntry test/flip.js
117 silly gunzTarPerm extractEntry test/nearest.js
118 silly gunzTarPerm extractEntry test/filter.js
119 silly gunzTarPerm extractEntry test/planepoint.js
120 silly gunzTarPerm extractEntry test/featurecollection.js
121 silly gunzTarPerm extractEntry test/point.js
122 silly gunzTarPerm extractEntry test/extent.js
123 silly gunzTarPerm extractEntry test/polygon.js
124 silly gunzTarPerm extractEntry test/explode.js
125 silly gunzTarPerm extractEntry test/quantile.js
126 silly gunzTarPerm extractEntry test/erase.js
127 silly gunzTarPerm extractEntry test/reclass.js
128 silly gunzTarPerm extractEntry test/envelope.js
129 silly gunzTarPerm extractEntry test/remove.js
130 silly gunzTarPerm extractEntry test/donuts.js
131 silly gunzTarPerm extractEntry test/sample.js
132 silly gunzTarPerm extractEntry test/distance.js
133 silly gunzTarPerm extractEntry test/save.js
134 silly gunzTarPerm extractEntry test/deviation.js
135 silly gunzTarPerm extractEntry test/simplify.js
136 silly gunzTarPerm extractEntry test/count.js
137 silly gunzTarPerm extractEntry test/size.js
138 silly gunzTarPerm extractEntry test/convex.js
139 silly gunzTarPerm extractEntry test/smooth.js
140 silly gunzTarPerm extractEntry test/contour.js
141 silly gunzTarPerm extractEntry test/square.js
142 silly gunzTarPerm extractEntry test/concave.js
143 silly gunzTarPerm extractEntry test/sum.js
144 silly gunzTarPerm extractEntry test/combine.js
145 silly gunzTarPerm extractEntry test/tag.js
146 silly gunzTarPerm extractEntry test/centroid.js
147 silly gunzTarPerm extractEntry test/variance.js
148 silly gunzTarPerm extractEntry test/center.js
149 silly gunzTarPerm extractEntry test/valid.js
150 silly gunzTarPerm extractEntry test/buffer.js
151 silly gunzTarPerm extractEntry test/test_template.js
152 silly gunzTarPerm extractEntry test/bezier.js
153 silly gunzTarPerm extractEntry test/tin.js
154 silly gunzTarPerm extractEntry test/bboxPolygon.js
155 silly gunzTarPerm extractEntry test/topo.js
156 silly gunzTarPerm extractEntry test/average.js
157 silly gunzTarPerm extractEntry test/union.js
158 silly gunzTarPerm extractEntry test/linestring.js
159 silly gunzTarPerm extractEntry test/within.js
160 silly gunzTarPerm extractEntry test/load.js
161 silly gunzTarPerm extractEntry test/testOut/grid.geojson
162 silly gunzTarPerm extractEntry test/testOut/bezier.geojson
163 silly gunzTarPerm extractEntry test/testOut/bufferConvex.geojson
164 silly gunzTarPerm extractEntry test/testOut/buffered.geojson
165 silly gunzTarPerm extractEntry test/testOut/bufferedLine.geojson
166 silly gunzTarPerm extractEntry test/testOut/bufferedPoints.geojson
167 silly gunzTarPerm extractEntry test/testOut/bufferedPolygon.geojson
168 silly gunzTarPerm extractEntry test/testOut/concave.geojson
169 silly gunzTarPerm extractEntry test/testOut/concave1.geojson
170 silly gunzTarPerm extractEntry test/testOut/concave2.geojson
171 silly gunzTarPerm extractEntry test/testOut/contourGrid.geojson
172 silly gunzTarPerm extractEntry test/testOut/contourList.json
173 silly gunzTarPerm extractEntry test/testOut/contours.geojson
174 silly gunzTarPerm extractEntry test/testOut/contours1.geojson
175 silly gunzTarPerm extractEntry test/testOut/contours2.geojson
176 silly gunzTarPerm extractEntry test/testOut/contours3.geojson
177 silly gunzTarPerm extractEntry test/testOut/contours4.geojson
178 silly gunzTarPerm extractEntry test/testOut/contoursEdges.geojson
179 silly gunzTarPerm extractEntry test/testOut/contoursHoles.geojson
180 silly gunzTarPerm extractEntry test/testOut/convex.geojson
181 silly gunzTarPerm extractEntry test/testOut/convex2.geojson
182 silly gunzTarPerm extractEntry test/testOut/donuts.geojson
183 silly gunzTarPerm extractEntry test/testOut/donuts2.geojson
184 silly gunzTarPerm extractEntry test/testOut/donuts3.geojson
185 silly gunzTarPerm extractEntry test/testOut/donutsBadRing.geojson
186 silly gunzTarPerm extractEntry test/testOut/erase2.geojson
187 silly gunzTarPerm extractEntry test/testOut/erase3.geojson
188 silly gunzTarPerm extractEntry test/testOut/erased.geojson
189 silly gunzTarPerm extractEntry test/testOut/erased1.geojson
190 silly gunzTarPerm extractEntry test/testOut/filteredConvcave.geojson
191 silly gunzTarPerm extractEntry test/testOut/bufferConvcave.geojson
192 silly gunzTarPerm extractEntry test/testOut/gridTest.geojson
193 silly gunzTarPerm extractEntry test/testOut/intersected.geojson
194 silly gunzTarPerm extractEntry test/testOut/intersected1.geojson
195 silly gunzTarPerm extractEntry test/testOut/intersected2.geojson
196 silly gunzTarPerm extractEntry test/testOut/isolines.geojson
197 silly gunzTarPerm extractEntry test/testOut/merge.geojson
198 silly gunzTarPerm extractEntry test/testOut/merge2.geojson
199 silly gunzTarPerm extractEntry test/testOut/openIsoOut.geojson
200 silly gunzTarPerm extractEntry test/testOut/poly.geojson
201 silly gunzTarPerm extractEntry test/testOut/preBufferConvex.geojson
202 silly gunzTarPerm extractEntry test/testOut/reclassed.geojson
203 silly gunzTarPerm extractEntry test/testOut/sample.geojson
204 silly gunzTarPerm extractEntry test/testOut/simplified.geojson
205 silly gunzTarPerm extractEntry test/testOut/simplified.topojson
206 silly gunzTarPerm extractEntry test/testOut/simplifiedLine.geojson
207 silly gunzTarPerm extractEntry test/testOut/simplifiedLines.geojson
208 silly gunzTarPerm extractEntry test/testOut/simplifiedPolygon.geojson
209 silly gunzTarPerm extractEntry test/testOut/simplifiedPolygons.geojson
210 silly gunzTarPerm extractEntry test/testOut/taggedPoints.geojson
211 silly gunzTarPerm extractEntry test/testOut/test.geojson
212 silly gunzTarPerm extractEntry test/testOut/tin.geojson
213 silly gunzTarPerm extractEntry test/testOut/tin2.geojson
214 silly gunzTarPerm extractEntry test/testOut/tinContour.geojson
215 silly gunzTarPerm extractEntry test/testOut/tinConvcave.geojson
216 silly gunzTarPerm extractEntry test/testOut/tinConvex.geojson
217 silly gunzTarPerm extractEntry test/testOut/tinTest.geojson
218 silly gunzTarPerm extractEntry test/testOut/topo.topojson
219 silly gunzTarPerm extractEntry test/testOut/unioned.geojson
220 silly gunzTarPerm extractEntry test/testOut/world.geojson
221 silly gunzTarPerm extractEntry test/testIn/concaveIn1.geojson
222 silly gunzTarPerm extractEntry test/testIn/Concave.geojson
223 silly gunzTarPerm extractEntry test/testIn/Intersect1.geojson
224 silly gunzTarPerm extractEntry test/testIn/Intersect2.geojson
225 silly gunzTarPerm extractEntry test/testIn/Intersect3.geojson
226 silly gunzTarPerm extractEntry test/testIn/LineString.geojson
227 silly gunzTarPerm extractEntry test/testIn/MultiLineString.geojson
228 silly gunzTarPerm extractEntry test/testIn/MultiPoint.geojson
229 silly gunzTarPerm extractEntry test/testIn/MultiPolygon.geojson
230 silly gunzTarPerm extractEntry test/testIn/PlanePoint.geojson
231 silly gunzTarPerm extractEntry test/testIn/PlanePoints.geojson
232 silly gunzTarPerm extractEntry test/testIn/Point.geojson
233 silly gunzTarPerm extractEntry test/testIn/Point1.geojson
234 silly gunzTarPerm extractEntry test/testIn/Point2.geojson
235 silly gunzTarPerm extractEntry test/testIn/Points.geojson
236 silly gunzTarPerm extractEntry test/testIn/Points2.geojson
237 silly gunzTarPerm extractEntry test/testIn/Points3.geojson
238 silly gunzTarPerm extractEntry test/testIn/Polygon.geojson
239 silly gunzTarPerm extractEntry test/testIn/Triangle.geojson
240 silly gunzTarPerm extractEntry test/testIn/bezierIn.geojson
241 silly gunzTarPerm extractEntry test/testIn/bufferPolygonIn.geojson
242 silly gunzTarPerm extractEntry test/testIn/complexLine.geojson
243 silly gunzTarPerm extractEntry test/testIn/complexLines.geojson
244 silly gunzTarPerm extractEntry test/testIn/complexPolygon.geojson
245 silly gunzTarPerm extractEntry test/testIn/complexPolygons.geojson
246 silly gunzTarPerm extractEntry test/testIn/concaveIn.geojson
247 silly gunzTarPerm extractEntry test/testIn/FeatureCollection.geojson
248 silly gunzTarPerm extractEntry test/testIn/concaveIn2.geojson
249 silly gunzTarPerm extractEntry test/testIn/concaveInHole.geojson
250 silly gunzTarPerm extractEntry test/testIn/convexIn2.geojson
251 silly gunzTarPerm extractEntry test/testIn/countries.geojson
252 silly gunzTarPerm extractEntry test/testIn/countries_simp.geojson
253 silly gunzTarPerm extractEntry test/testIn/donutBadRing.geojson
254 silly gunzTarPerm extractEntry test/testIn/donutHoles.geojson
255 silly gunzTarPerm extractEntry test/testIn/donutsIn.geojson
256 silly gunzTarPerm extractEntry test/testIn/donutsIn2.geojson
257 silly gunzTarPerm extractEntry test/testIn/donutsIn3.geojson
258 silly gunzTarPerm extractEntry test/testIn/elevation1.geojson
259 silly gunzTarPerm extractEntry test/testIn/elevation2.geojson
260 silly gunzTarPerm extractEntry test/testIn/elevation3.geojson
261 silly gunzTarPerm extractEntry test/testIn/eraseInside.geojson
262 silly gunzTarPerm extractEntry test/testIn/eraseOutside.geojson
263 silly gunzTarPerm extractEntry test/testIn/erasedFC.geojson
264 silly gunzTarPerm extractEntry test/testIn/erasedHole.geojson
265 silly gunzTarPerm extractEntry test/testIn/holeContourPoints.geojson
266 silly gunzTarPerm extractEntry test/testIn/mergeIn.geojson
267 silly gunzTarPerm extractEntry test/testIn/mergeIn2.geojson
268 silly gunzTarPerm extractEntry test/testIn/nearIn.geojson
269 silly gunzTarPerm extractEntry test/testIn/nearOut.geojson
270 silly gunzTarPerm extractEntry test/testIn/openContourPoints.geojson
271 silly gunzTarPerm extractEntry test/testIn/openIsoIn.geojson
272 silly gunzTarPerm extractEntry test/testIn/tagPoints.geojson
273 silly gunzTarPerm extractEntry test/testIn/tagPolygons.geojson
274 silly gunzTarPerm extractEntry test.html
275 silly gunzTarPerm extractEntry CONTRIBUTING.md
276 silly lockFile ad3c5f8c-627578-0-729469079291448-package tar:///var/folders/5b/1n6ylh2d1g38bvpqqk22pc080000gn/T/npm-10665-lSSSHuEb/1395760627578-0.729469079291448/package
277 silly lockFile ad3c5f8c-627578-0-729469079291448-package tar:///var/folders/5b/1n6ylh2d1g38bvpqqk22pc080000gn/T/npm-10665-lSSSHuEb/1395760627578-0.729469079291448/package
278 silly lockFile b1873907-627578-0-729469079291448-tmp-tgz tar:///var/folders/5b/1n6ylh2d1g38bvpqqk22pc080000gn/T/npm-10665-lSSSHuEb/1395760627578-0.729469079291448/tmp.tgz
279 silly lockFile b1873907-627578-0-729469079291448-tmp-tgz tar:///var/folders/5b/1n6ylh2d1g38bvpqqk22pc080000gn/T/npm-10665-lSSSHuEb/1395760627578-0.729469079291448/tmp.tgz
280 verbose tar pack [ '/Users/morgan/.npm/turf/0.1.1/package.tgz',
280 verbose tar pack '/var/folders/5b/1n6ylh2d1g38bvpqqk22pc080000gn/T/npm-10665-lSSSHuEb/1395760627578-0.729469079291448/package' ]
281 verbose tarball /Users/morgan/.npm/turf/0.1.1/package.tgz
282 verbose folder /var/folders/5b/1n6ylh2d1g38bvpqqk22pc080000gn/T/npm-10665-lSSSHuEb/1395760627578-0.729469079291448/package
283 silly lockFile ad3c5f8c-627578-0-729469079291448-package tar:///var/folders/5b/1n6ylh2d1g38bvpqqk22pc080000gn/T/npm-10665-lSSSHuEb/1395760627578-0.729469079291448/package
284 verbose lock tar:///var/folders/5b/1n6ylh2d1g38bvpqqk22pc080000gn/T/npm-10665-lSSSHuEb/1395760627578-0.729469079291448/package /Users/morgan/.npm/ad3c5f8c-627578-0-729469079291448-package.lock
285 silly lockFile a756da34-organ-npm-turf-0-1-1-package-tgz tar:///Users/morgan/.npm/turf/0.1.1/package.tgz
286 verbose lock tar:///Users/morgan/.npm/turf/0.1.1/package.tgz /Users/morgan/.npm/a756da34-organ-npm-turf-0-1-1-package-tgz.lock
287 silly lockFile ad3c5f8c-627578-0-729469079291448-package tar:///var/folders/5b/1n6ylh2d1g38bvpqqk22pc080000gn/T/npm-10665-lSSSHuEb/1395760627578-0.729469079291448/package
288 silly lockFile ad3c5f8c-627578-0-729469079291448-package tar:///var/folders/5b/1n6ylh2d1g38bvpqqk22pc080000gn/T/npm-10665-lSSSHuEb/1395760627578-0.729469079291448/package
289 silly lockFile a756da34-organ-npm-turf-0-1-1-package-tgz tar:///Users/morgan/.npm/turf/0.1.1/package.tgz
290 silly lockFile a756da34-organ-npm-turf-0-1-1-package-tgz tar:///Users/morgan/.npm/turf/0.1.1/package.tgz
291 silly lockFile aee4413a-rs-morgan-npm-turf-0-1-1-package /Users/morgan/.npm/turf/0.1.1/package
292 verbose lock /Users/morgan/.npm/turf/0.1.1/package /Users/morgan/.npm/aee4413a-rs-morgan-npm-turf-0-1-1-package.lock
293 silly lockFile aee4413a-rs-morgan-npm-turf-0-1-1-package /Users/morgan/.npm/turf/0.1.1/package
294 silly lockFile aee4413a-rs-morgan-npm-turf-0-1-1-package /Users/morgan/.npm/turf/0.1.1/package
295 verbose tar unpack /Users/morgan/.npm/turf/0.1.1/package.tgz
296 silly lockFile 73026a16-rs-morgan-npm-turf-0-1-1-package tar:///Users/morgan/.npm/turf/0.1.1/package
297 verbose lock tar:///Users/morgan/.npm/turf/0.1.1/package /Users/morgan/.npm/73026a16-rs-morgan-npm-turf-0-1-1-package.lock
298 silly lockFile a756da34-organ-npm-turf-0-1-1-package-tgz tar:///Users/morgan/.npm/turf/0.1.1/package.tgz
299 verbose lock tar:///Users/morgan/.npm/turf/0.1.1/package.tgz /Users/morgan/.npm/a756da34-organ-npm-turf-0-1-1-package-tgz.lock
300 silly gunzTarPerm modes [ '755', '644' ]
301 silly gunzTarPerm extractEntry package.json
302 silly gunzTarPerm extractEntry .npmignore
303 silly gunzTarPerm extractEntry README.md
304 silly gunzTarPerm extractEntry LICENSE
305 silly gunzTarPerm extractEntry turf.js
306 silly gunzTarPerm extractEntry turf.min.js
307 silly gunzTarPerm extractEntry index.js
308 silly gunzTarPerm extractEntry build
309 silly gunzTarPerm extractEntry img/contours.jpg
310 silly gunzTarPerm extractEntry img/points.jpg
311 silly gunzTarPerm extractEntry img/turf.png
312 silly gunzTarPerm extractEntry .travis.yml
313 silly gunzTarPerm extractEntry lib/aggregate.js
314 silly gunzTarPerm extractEntry lib/isClockwise.js
315 silly gunzTarPerm extractEntry lib/isobands.js
316 silly gunzTarPerm extractEntry lib/isolines.js
317 silly gunzTarPerm extractEntry lib/intersect.js
318 silly gunzTarPerm extractEntry lib/linestring.js
319 silly gunzTarPerm extractEntry lib/load.js
320 silly gunzTarPerm extractEntry lib/max.js
321 silly gunzTarPerm extractEntry lib/median.js
322 silly gunzTarPerm extractEntry lib/merge.js
323 silly gunzTarPerm extractEntry lib/inside.js
324 silly gunzTarPerm extractEntry lib/midpoint.js
325 silly gunzTarPerm extractEntry lib/grid.js
326 silly gunzTarPerm extractEntry lib/min.js
327 silly gunzTarPerm extractEntry lib/flip.js
328 silly gunzTarPerm extractEntry lib/near.js
329 silly gunzTarPerm extractEntry lib/filter.js
330 silly gunzTarPerm extractEntry lib/nearest.js
331 silly gunzTarPerm extractEntry lib/featurecollection.js
332 silly gunzTarPerm extractEntry lib/planepoint.js
333 silly gunzTarPerm extractEntry lib/extent.js
334 silly gunzTarPerm extractEntry lib/point.js
335 silly gunzTarPerm extractEntry lib/explode.js
336 silly gunzTarPerm extractEntry lib/polygon.js
337 silly gunzTarPerm extractEntry lib/erase.js
338 silly gunzTarPerm extractEntry lib/quantile.js
339 silly gunzTarPerm extractEntry lib/envelope.js
340 silly gunzTarPerm extractEntry lib/reclass.js
341 silly gunzTarPerm extractEntry lib/donuts.js
342 silly gunzTarPerm extractEntry lib/remove.js
343 silly gunzTarPerm extractEntry lib/distance.js
344 silly gunzTarPerm extractEntry lib/sample.js
345 silly gunzTarPerm extractEntry lib/deviation.js
346 silly gunzTarPerm extractEntry lib/save.js
347 silly gunzTarPerm extractEntry lib/count.js
348 silly gunzTarPerm extractEntry lib/simplify.js
349 silly gunzTarPerm extractEntry lib/convex.js
350 silly gunzTarPerm extractEntry lib/size.js
351 silly gunzTarPerm extractEntry lib/contour.js
352 silly gunzTarPerm extractEntry lib/smooth.js
353 silly gunzTarPerm extractEntry lib/concave.js
354 silly gunzTarPerm extractEntry lib/square.js
355 silly gunzTarPerm extractEntry lib/combine.js
356 silly gunzTarPerm extractEntry lib/sum.js
357 silly gunzTarPerm extractEntry lib/centroid.js
358 silly gunzTarPerm extractEntry lib/tag.js
359 silly gunzTarPerm extractEntry lib/center.js
360 silly gunzTarPerm extractEntry lib/tin.js
361 silly gunzTarPerm extractEntry lib/buffer.js
362 silly gunzTarPerm extractEntry lib/topo.js
363 silly gunzTarPerm extractEntry lib/bezier.js
364 silly gunzTarPerm extractEntry lib/union.js
365 silly gunzTarPerm extractEntry lib/bboxPolygon.js
366 silly gunzTarPerm extractEntry lib/valid.js
367 silly gunzTarPerm extractEntry lib/average.js
368 silly gunzTarPerm extractEntry lib/variance.js
369 silly gunzTarPerm extractEntry lib/area.js
370 silly gunzTarPerm extractEntry lib/within.js
371 silly gunzTarPerm extractEntry lib/jenks.js
372 silly gunzTarPerm extractEntry bower.json
373 silly gunzTarPerm extractEntry release
374 silly gunzTarPerm extractEntry test/aggregate.js
375 silly gunzTarPerm extractEntry test/isClockwide.js
376 silly gunzTarPerm extractEntry test/isobands.js
377 silly gunzTarPerm extractEntry test/isolines.js
378 silly gunzTarPerm extractEntry test/jenks.js
379 silly gunzTarPerm extractEntry test/intersect.js
380 silly gunzTarPerm extractEntry test/area.js
381 silly gunzTarPerm extractEntry test/max.js
382 silly gunzTarPerm extractEntry test/median.js
383 silly gunzTarPerm extractEntry test/merge.js
384 silly gunzTarPerm extractEntry test/midpoint.js
385 silly gunzTarPerm extractEntry test/inside.js
386 silly gunzTarPerm extractEntry test/min.js
387 silly gunzTarPerm extractEntry test/grid.js
388 silly gunzTarPerm extractEntry test/near.js
389 silly gunzTarPerm extractEntry test/flip.js
390 silly gunzTarPerm extractEntry test/nearest.js
391 silly gunzTarPerm extractEntry test/filter.js
392 silly gunzTarPerm extractEntry test/planepoint.js
393 silly gunzTarPerm extractEntry test/featurecollection.js
394 silly gunzTarPerm extractEntry test/point.js
395 silly gunzTarPerm extractEntry test/extent.js
396 silly gunzTarPerm extractEntry test/polygon.js
397 silly gunzTarPerm extractEntry test/explode.js
398 silly gunzTarPerm extractEntry test/quantile.js
399 silly gunzTarPerm extractEntry test/erase.js
400 silly gunzTarPerm extractEntry test/reclass.js
401 silly gunzTarPerm extractEntry test/envelope.js
402 silly gunzTarPerm extractEntry test/remove.js
403 silly gunzTarPerm extractEntry test/donuts.js
404 silly gunzTarPerm extractEntry test/sample.js
405 silly gunzTarPerm extractEntry test/distance.js
406 silly gunzTarPerm extractEntry test/save.js
407 silly gunzTarPerm extractEntry test/deviation.js
408 silly gunzTarPerm extractEntry test/simplify.js
409 silly gunzTarPerm extractEntry test/count.js
410 silly gunzTarPerm extractEntry test/size.js
411 silly gunzTarPerm extractEntry test/convex.js
412 silly gunzTarPerm extractEntry test/smooth.js
413 silly gunzTarPerm extractEntry test/contour.js
414 silly gunzTarPerm extractEntry test/square.js
415 silly gunzTarPerm extractEntry test/concave.js
416 silly gunzTarPerm extractEntry test/sum.js
417 silly gunzTarPerm extractEntry test/combine.js
418 silly gunzTarPerm extractEntry test/tag.js
419 silly gunzTarPerm extractEntry test/centroid.js
420 silly gunzTarPerm extractEntry test/variance.js
421 silly gunzTarPerm extractEntry test/center.js
422 silly gunzTarPerm extractEntry test/valid.js
423 silly gunzTarPerm extractEntry test/buffer.js
424 silly gunzTarPerm extractEntry test/test_template.js
425 silly gunzTarPerm extractEntry test/bezier.js
426 silly gunzTarPerm extractEntry test/tin.js
427 silly gunzTarPerm extractEntry test/bboxPolygon.js
428 silly gunzTarPerm extractEntry test/topo.js
429 silly gunzTarPerm extractEntry test/average.js
430 silly gunzTarPerm extractEntry test/union.js
431 silly gunzTarPerm extractEntry test/linestring.js
432 silly gunzTarPerm extractEntry test/within.js
433 silly gunzTarPerm extractEntry test/load.js
434 silly gunzTarPerm extractEntry test/testOut/grid.geojson
435 silly gunzTarPerm extractEntry test/testOut/bezier.geojson
436 silly gunzTarPerm extractEntry test/testOut/bufferConvex.geojson
437 silly gunzTarPerm extractEntry test/testOut/buffered.geojson
438 silly gunzTarPerm extractEntry test/testOut/bufferedLine.geojson
439 silly gunzTarPerm extractEntry test/testOut/bufferedPoints.geojson
440 silly gunzTarPerm extractEntry test/testOut/bufferedPolygon.geojson
441 silly gunzTarPerm extractEntry test/testOut/concave.geojson
442 silly gunzTarPerm extractEntry test/testOut/concave1.geojson
443 silly gunzTarPerm extractEntry test/testOut/concave2.geojson
444 silly gunzTarPerm extractEntry test/testOut/contourGrid.geojson
445 silly gunzTarPerm extractEntry test/testOut/contourList.json
446 silly gunzTarPerm extractEntry test/testOut/contours.geojson
447 silly gunzTarPerm extractEntry test/testOut/contours1.geojson
448 silly gunzTarPerm extractEntry test/testOut/contours2.geojson
449 silly gunzTarPerm extractEntry test/testOut/contours3.geojson
450 silly gunzTarPerm extractEntry test/testOut/contours4.geojson
451 silly gunzTarPerm extractEntry test/testOut/contoursEdges.geojson
452 silly gunzTarPerm extractEntry test/testOut/contoursHoles.geojson
453 silly gunzTarPerm extractEntry test/testOut/convex.geojson
454 silly gunzTarPerm extractEntry test/testOut/convex2.geojson
455 silly gunzTarPerm extractEntry test/testOut/donuts.geojson
456 silly gunzTarPerm extractEntry test/testOut/donuts2.geojson
457 silly gunzTarPerm extractEntry test/testOut/donuts3.geojson
458 silly gunzTarPerm extractEntry test/testOut/donutsBadRing.geojson
459 silly gunzTarPerm extractEntry test/testOut/erase2.geojson
460 silly gunzTarPerm extractEntry test/testOut/erase3.geojson
461 silly gunzTarPerm extractEntry test/testOut/erased.geojson
462 silly gunzTarPerm extractEntry test/testOut/erased1.geojson
463 silly gunzTarPerm extractEntry test/testOut/filteredConvcave.geojson
464 silly gunzTarPerm extractEntry test/testOut/bufferConvcave.geojson
465 silly gunzTarPerm extractEntry test/testOut/gridTest.geojson
466 silly gunzTarPerm extractEntry test/testOut/intersected.geojson
467 silly gunzTarPerm extractEntry test/testOut/intersected1.geojson
468 silly gunzTarPerm extractEntry test/testOut/intersected2.geojson
469 silly gunzTarPerm extractEntry test/testOut/isolines.geojson
470 silly gunzTarPerm extractEntry test/testOut/merge.geojson
471 silly gunzTarPerm extractEntry test/testOut/merge2.geojson
472 silly gunzTarPerm extractEntry test/testOut/openIsoOut.geojson
473 silly gunzTarPerm extractEntry test/testOut/poly.geojson
474 silly gunzTarPerm extractEntry test/testOut/preBufferConvex.geojson
475 silly gunzTarPerm extractEntry test/testOut/reclassed.geojson
476 silly gunzTarPerm extractEntry test/testOut/sample.geojson
477 silly gunzTarPerm extractEntry test/testOut/simplified.geojson
478 silly gunzTarPerm extractEntry test/testOut/simplified.topojson
479 silly gunzTarPerm extractEntry test/testOut/simplifiedLine.geojson
480 silly gunzTarPerm extractEntry test/testOut/simplifiedLines.geojson
481 silly gunzTarPerm extractEntry test/testOut/simplifiedPolygon.geojson
482 silly gunzTarPerm extractEntry test/testOut/simplifiedPolygons.geojson
483 silly gunzTarPerm extractEntry test/testOut/taggedPoints.geojson
484 silly gunzTarPerm extractEntry test/testOut/test.geojson
485 silly gunzTarPerm extractEntry test/testOut/tin.geojson
486 silly gunzTarPerm extractEntry test/testOut/tin2.geojson
487 silly gunzTarPerm extractEntry test/testOut/tinContour.geojson
488 silly gunzTarPerm extractEntry test/testOut/tinConvcave.geojson
489 silly gunzTarPerm extractEntry test/testOut/tinConvex.geojson
490 silly gunzTarPerm extractEntry test/testOut/tinTest.geojson
491 silly gunzTarPerm extractEntry test/testOut/topo.topojson
492 silly gunzTarPerm extractEntry test/testOut/unioned.geojson
493 silly gunzTarPerm extractEntry test/testOut/world.geojson
494 silly gunzTarPerm extractEntry test/testIn/concaveIn1.geojson
495 silly gunzTarPerm extractEntry test/testIn/Concave.geojson
496 silly gunzTarPerm extractEntry test/testIn/Intersect1.geojson
497 silly gunzTarPerm extractEntry test/testIn/Intersect2.geojson
498 silly gunzTarPerm extractEntry test/testIn/Intersect3.geojson
499 silly gunzTarPerm extractEntry test/testIn/LineString.geojson
500 silly gunzTarPerm extractEntry test/testIn/MultiLineString.geojson
501 silly gunzTarPerm extractEntry test/testIn/MultiPoint.geojson
502 silly gunzTarPerm extractEntry test/testIn/MultiPolygon.geojson
503 silly gunzTarPerm extractEntry test/testIn/PlanePoint.geojson
504 silly gunzTarPerm extractEntry test/testIn/PlanePoints.geojson
505 silly gunzTarPerm extractEntry test/testIn/Point.geojson
506 silly gunzTarPerm extractEntry test/testIn/Point1.geojson
507 silly gunzTarPerm extractEntry test/testIn/Point2.geojson
508 silly gunzTarPerm extractEntry test/testIn/Points.geojson
509 silly gunzTarPerm extractEntry test/testIn/Points2.geojson
510 silly gunzTarPerm extractEntry test/testIn/Points3.geojson
511 silly gunzTarPerm extractEntry test/testIn/Polygon.geojson
512 silly gunzTarPerm extractEntry test/testIn/Triangle.geojson
513 silly gunzTarPerm extractEntry test/testIn/bezierIn.geojson
514 silly gunzTarPerm extractEntry test/testIn/bufferPolygonIn.geojson
515 silly gunzTarPerm extractEntry test/testIn/complexLine.geojson
516 silly gunzTarPerm extractEntry test/testIn/complexLines.geojson
517 silly gunzTarPerm extractEntry test/testIn/complexPolygon.geojson
518 silly gunzTarPerm extractEntry test/testIn/complexPolygons.geojson
519 silly gunzTarPerm extractEntry test/testIn/concaveIn.geojson
520 silly gunzTarPerm extractEntry test/testIn/FeatureCollection.geojson
521 silly gunzTarPerm extractEntry test/testIn/concaveIn2.geojson
522 silly gunzTarPerm extractEntry test/testIn/concaveInHole.geojson
523 silly gunzTarPerm extractEntry test/testIn/convexIn2.geojson
524 silly gunzTarPerm extractEntry test/testIn/countries.geojson
525 silly gunzTarPerm extractEntry test/testIn/countries_simp.geojson
526 silly gunzTarPerm extractEntry test/testIn/donutBadRing.geojson
527 silly gunzTarPerm extractEntry test/testIn/donutHoles.geojson
528 silly gunzTarPerm extractEntry test/testIn/donutsIn.geojson
529 silly gunzTarPerm extractEntry test/testIn/donutsIn2.geojson
530 silly gunzTarPerm extractEntry test/testIn/donutsIn3.geojson
531 silly gunzTarPerm extractEntry test/testIn/elevation1.geojson
532 silly gunzTarPerm extractEntry test/testIn/elevation2.geojson
533 silly gunzTarPerm extractEntry test/testIn/elevation3.geojson
534 silly gunzTarPerm extractEntry test/testIn/eraseInside.geojson
535 silly gunzTarPerm extractEntry test/testIn/eraseOutside.geojson
536 silly gunzTarPerm extractEntry test/testIn/erasedFC.geojson
537 silly gunzTarPerm extractEntry test/testIn/erasedHole.geojson
538 silly gunzTarPerm extractEntry test/testIn/holeContourPoints.geojson
539 silly gunzTarPerm extractEntry test/testIn/mergeIn.geojson
540 silly gunzTarPerm extractEntry test/testIn/mergeIn2.geojson
541 silly gunzTarPerm extractEntry test/testIn/nearIn.geojson
542 silly gunzTarPerm extractEntry test/testIn/nearOut.geojson
543 silly gunzTarPerm extractEntry test/testIn/openContourPoints.geojson
544 silly gunzTarPerm extractEntry test/testIn/openIsoIn.geojson
545 silly gunzTarPerm extractEntry test/testIn/tagPoints.geojson
546 silly gunzTarPerm extractEntry test/testIn/tagPolygons.geojson
547 silly gunzTarPerm extractEntry test.html
548 silly gunzTarPerm extractEntry CONTRIBUTING.md
549 silly lockFile 73026a16-rs-morgan-npm-turf-0-1-1-package tar:///Users/morgan/.npm/turf/0.1.1/package
550 silly lockFile 73026a16-rs-morgan-npm-turf-0-1-1-package tar:///Users/morgan/.npm/turf/0.1.1/package
551 silly lockFile a756da34-organ-npm-turf-0-1-1-package-tgz tar:///Users/morgan/.npm/turf/0.1.1/package.tgz
552 silly lockFile a756da34-organ-npm-turf-0-1-1-package-tgz tar:///Users/morgan/.npm/turf/0.1.1/package.tgz
553 verbose chmod /Users/morgan/.npm/turf/0.1.1/package.tgz 644
554 verbose chown /Users/morgan/.npm/turf/0.1.1/package.tgz [ 501, 20 ]
555 silly lockFile 3a52ce78- .
556 silly lockFile 3a52ce78- .
557 silly publish { name: 'turf',
557 silly publish version: '0.1.1',
557 silly publish description: 'a node.js library for performing geospatial operations with geojson',
557 silly publish main: 'index.js',
557 silly publish scripts: { test: 'mocha ./test/' },
557 silly publish repository:
557 silly publish { type: 'git',
557 silly publish url: 'https://github.com/morganherlocker/turf.git' },
557 silly publish keywords:
557 silly publish [ 'gis',
557 silly publish 'geo',
557 silly publish 'geojs',
557 silly publish 'geospatial',
557 silly publish 'geography',
557 silly publish 'geometry',
557 silly publish 'map',
557 silly publish 'contour',
557 silly publish 'centroid',
557 silly publish 'tin',
557 silly publish 'extent',
557 silly publish 'geojson',
557 silly publish 'grid',
557 silly publish 'polygon',
557 silly publish 'line',
557 silly publish 'point',
557 silly publish 'area',
557 silly publish 'analysis',
557 silly publish 'statistics',
557 silly publish 'stats',
557 silly publish 'midpoint',
557 silly publish 'plane',
557 silly publish 'quantile',
557 silly publish 'jenks',
557 silly publish 'sample' ],
557 silly publish author: { name: 'morganherlocker' },
557 silly publish license: 'MIT',
557 silly publish bugs: { url: 'https://github.com/morganherlocker/turf/issues' },
557 silly publish dependencies:
557 silly publish { 'simple-statistics': '~0.7.0',
557 silly publish lodash: '~2.4.1',
557 silly publish topojson: '~1.4.6',
557 silly publish async: '~0.2.10',
557 silly publish jsts: '~0.13.4',
557 silly publish 'poly-extractor': '0.0.3' },
557 silly publish devDependencies:
557 silly publish { should: '~3.1.2',
557 silly publish mocha: '~1.17.1',
557 silly publish browserify: '~3.28.1',
557 silly publish 'uglify-js': '~2.4.12' },
557 silly publish readme: 'turf\n======\n\n[![Build Status](https://travis-ci.org/morganherlocker/turf.png)](https://travis-ci.org/morganherlocker/turf)\n\n![turf](https://raw.github.com/morganherlocker/turf/master/img/turf.png)\n\n***a fast and fully featured open gis engine written in javascript***\n\n- - -\n\n##Installation\n\n```bash\nnpm install turf\n```\n\nTurf can also be run in a browser. To use it, download the [minified file](https://raw.github.com/morganherlocker/turf/master/turf.min.js), and include it in a script tag.\n\n**NOTE: Browser functionality is currently unstable. Please consider using turf from node.js. Work is in progress on resolving the issues.**\n\n```html\n<script src="turf.min.js"></script>\n```\n\nIt can also be installed using bower:\n\n```bash\nbower install turf\n```\n\n- - -\n\n##Features\n\n####geometry\n- [load](#load)\n- [save](#save)\n- [point](#point)\n- [linestring](#linestring)\n- [polygon](#polygon)\n- [featurecollection](#featurecollection)\n\n####joins\n- [inside](#inside)\n- [within](#within)\n- [tag](#tag)\n\n####data\n- [remove](#remove)\n- [filter](#filter)\n- [sample](#sample)\n\n####measurement\n- [distance](#distance)\n- [nearest](#nearest)\n- [bboxPolygon](#bboxPolygon)\n- [envelope](#envelope)\n- [extent](#extent)\n- [square](#square)\n- [size](#size)\n- [center](#center)\n- [centroid](#centroid)\n- [midpoint](#midpoint)\n\n####interpolation\n- [tin](#tin)\n- [grid](#grid)\n- [planepoint](#planepoint)\n- [contour](#contour)\n- [isolines](#isolines)\n- [isobands](#isolines)\n\n####classification\n- [quantile](#quantile)\n- [jenks](#jenks)\n- [reclass](#reclass)\n\n####aggregation\n- [average](#average)\n- [median](#median)\n- [sum](#sum)\n- [min](#min)\n- [max](#max)\n- [count](#count)\n- [deviation](#deviation)\n- [variance](#variance)\n- [aggregate](#aggregate)\n\n####transformation\n- [buffer](#buffer)\n- [bezier](#bezier)\n- [simplify](#simplify)\n- [union](#union)\n- [merge](#merge)\n- [intersect](#intersect)\n- [erase](#erase)\n- [donuts](#donuts)\n- [convex](#convex)\n- [concave](#concave)\n\n####misc\n- [flip](#flip)\n- [explode](#explode)\n- [combine](#combine)\n- [isClockwise](#isClockwise)\n\n**Planned Features**\n\nAdditional feature requests welcomed and encouraged. To request a feature, please add a [github issue](https://github.com/morganherlocker/turf/issues) with a description.\n\n- clockwise\n- krige\n- cluster\n- interval\n- cluster\n- area\n- smooth\n\n- - -\n\n##Examples:\n\n###load\n\nLoads a Feature or FeaturCollection from a file.\n\n```javascript\nvar t = require(\'turf\')\ngeojsonFile = \'/path/to/file/tress.geojson\'\n\nt.load(geoJsonFile, function(err, trees){\n if(err) throw err\n console.log(trees)\n})\n```\n\n\n###save\n\nSaves out a feature or feature collection. \'geojson\' and \'topojson\' are currently supported.\n\n```javascript\nvar path = \'./testOut/poly.geojson\'\nvar poly = t.polygon([[[0,0], [1,0], [1,1],[0,1]]])\nvar type = \'geojson\'\nt.save(path, poly, type, function(err, res){\n if(err) throw err\n console.log(res) // 1\n done()\n})\n```\n\n\n###point\n\nCreates a geojson point Feature based on an x and a y coordinate. Properties can be added optionally.\n\n```javascript\nvar t = require(\'turf\')\n\nvar point1 = t.point(-75.343, 39.984)\nvar point2 = t.point(-75.343, 39.984, {name: \'point 1\', population: 5000})\nconsole.log(point1)\nconsole.log(point2)\n```\n\n\n###linestring\n\nCreates a geojson linestring Feature based on a coordinate array. Properties can be added optionally.\n\n```javascript\nvar t = require(\'turf\')\n\nvar linestring1 = t.linestring([[102.0, -10.0], [103.0, 1.0], [104.0, 0.0], [130.0, 4.0]])\nvar linestring2 = t.linestring([[102.0, -10.0], [103.0, 1.0], [104.0, 0.0], [130.0, 4.0]],\n {name: \'line 1\', distance: 145})\nconsole.log(linestring1)\nconsole.log(linestring2)\n```\n\n\n###polygon\n\nCreates a geojson polygon Feature based on a coordinate array. Properties can be added optionally.\n\n```javascript\nvar t = require(\'turf\')\n\nvar polygon1 = t.point([[[20.0,0.0],[101.0,0.0],[101.0,1.0],[100.0,1.0],[100.0,0.0]]])\nvar polygon2 = t.point([[[20.0,0.0],[101.0,0.0],[101.0,1.0],[100.0,1.0],[100.0,0.0]]],\n {name: \'line 1\', distance: 145})\nconsole.log(polygon1)\nconsole.log(polygon2)\n```\n\n\n###featurecollection\n\nCreates a geojson FeatureCollection based on an array of features.\n\n```javascript\nvar t = require(\'turf\')\nvar pt1 = t.point(-75.343, 39.984, {name: \'Location A\'})\nvar pt2 = t.point(-75.833, 39.284, {name: \'Location B\'})\nvar pt3 = t.point(-75.534, 39.123, {name: \'Location C\'})\n\nvar fc = t.featurecollection([pt1, pt2, pt3])\nconsole.log(fc)\n```\n\n\n###extent\n\nCalculates the extent of all features and returns a bounding box.\n\n```javascript\nvar t = require(\'turf\')\n\nt.load(\'path/to/file/example.geojson\', function(err, features){\n if(err) throw err\n t.extent(features, function(extent){\n console.log(extent) // [minX, minY, maxX, maxY]\n })\n})\n```\n\n\n###square\n\nCalculates the minimum square bounding box for another bounding box.\n\n```javascript\nvar t = require(\'turf\')\nvar bbox = [0,0,5,10]]\n\nt.square(bbox, function(err, square){\n if(err) throw err\n console.log(square) // [-2.5, 0, 7.5, 10]\n})\n```\n\n\n###size\n\nTakes a bbox and returns a new bbox with a size expanded or contracted by a factor of X.\n\n```javascript\nvar bbox = [0, 0, 10, 10]\n\nt.size(bbox, 2, function(err, doubled){\n if(err) throw err\n console.log(doubled) // [-10, -10, 20, 20]\n})\n```\n\n\n###center\n\nCalculates the absolute center point of all features.\n\n```javascript\nvar t = require(\'turf\')\n\nt.load(\'path/to/file/example.geojson\', function(layer, err){\n if(err) throw err\n t.center(layer, function(center){\n console.log(center)\n })\n})\n```\n\n\n###bboxPolygon\n\nTakes a bbox and returns the equivalent polygon feature.\n\n```javascript\nvar t = require(\'turf\')\nvar bbox = [0,0,10,10]\n\nt.bboxPolygon(bbox, function(err, poly){\n if(err) throw err\n console.log(poly)\n})\n```\n\n\n###envelope\n\nTakes a Feature or FeatureCollection and returns a rectangular polygon feature that encompasses all vertices.\n\n```javascript\nvar t = require(\'turf\')\nvar pt1 = t.point(-75.343, 39.984, {name: \'Location A\'})\nvar pt2 = t.point(-75.833, 39.284, {name: \'Location B\'})\nvar pt3 = t.point(-75.534, 39.123, {name: \'Location C\'})\nvar fc = t.featurecollection([pt1, pt2, pt3])\n\nt.envelope(fc, function(err, envelopePoly){\n if(err) throw err\n console.log(envelopePoly)\n})\n```\n\n\n###centroid\n\nCalculates the centroid of a polygon Feature or FeatureCollection using the geometric mean of all vertices. This lessons the effect of small islands and artifacts when calculating the centroid of a set of polygons.\n\n```javascript\nvar t = require(\'turf\')\nvar poly = t.polygon([[[0,0], [0,10], [10,10] , [10,0]]])\n\nt.centroid(poly, function(err, centroid){\n if(err) throw err\n console.log(centroid) // a point at 5, 5\n})\n```\n\n\n###flip\n\nTakes a point, linestring, polygon, or featurecollection, and flips all of its coordinates from [x, y] to [y, x].\n\n```javascript\nvar t = require(\'turf\')\n\nvar poly = t.polygon([[[1,0], [1,0], [1,2]], [[.2,.2], [.3,.3],[.1,.2]]])\nt.flip(poly, function(err, flipped){\n if(err) throw err\n console.log(flipped)\n})\n```\n\n\n###explode\n\nTakes a Feature or FeatureCollection and return all vertices as a collection of points.\n\n```javascript\nvar t = require(\'turf\')\nvar poly = t.polygon([[[0,0], [0,10], [10,10] , [10,0]]])\n\nt.explode(poly, function(err, vertices){\n if(err) throw err\n console.log(vertices)\n})\n```\n\n\n###combine\n\nCombines feature collection of point, linestring, or polygon features into multipoint, multilinestring, or multipolygon features.\n\n```javascript\nvar t = require(\'turf\')\nvar pt1 = t.point(50, 1)\nvar pt2 = t.point(100, 101)\nvar fc = t.featurecollection([pt1, pt2])\n\nt.combine(fc, function(err, combined){\n if(err) throw err\n console.log(combined)\n})\n```\n\n\n###isClockwise\n\nTakes a ring and return true or false whether or not the ring is clockwise or counter-clockwise.\n\n```javascript\nvar t = require(\'turf\')\nvar clockwiseRing = [[0,0],[1,1],[1,0],[0,0]]\nvar counterClockwiseRing = [[0,0],[1,0],[1,1],[0,0]]\n\nvar clockwise = t.isClockwise(clockwiseRing)\nvar counterClockwise = t.isClockwise(counterClockwiseRing)\n\nconsole.log(clockwise) // true\nconsole.log(counterClockwise) // false\n```\n\n\n###remove\n\nRemoves any features from a feature collection that match a property value.\n\n```javascript\nvar t = require(\'turf\')\nvar trees = t.featurecollection([t.point(1,2, {species: \'oak\'}),\n t.point(2,1, {species: \'dogwood\'}),\n t.point(3,1, {species: \'maple\'})])\n\nt.remove(points, \'species\', \'dogwood\', function(err, result) {\n if(err) throw err\n console.log(result)\n})\n```\n\n\n###filter\n\nKeeps any features from a feature collection that match a property value.\n\n```javascript\nvar t = require(\'turf\')\nvar trees = t.featurecollection([\n t.point(1,2, {species: \'oak\'}),\n t.point(2,1, {species: \'birch\'}),\n t.point(3,1, {species: \'oak\'}),\n t.point(2,2, {species: \'redwood\'}),\n t.point(2,3, {species: \'maple\'}),\n t.point(4,2, {species: \'oak\'})\n ])\n\nt.filter(trees, \'species\', \'oak\', function(err, oaks){\n if(err) throw err\n console.log(oaks)\n})\n```\n\n\n###inside\n\nChecks to see if a point is inside of a polygon. The polygon can be convex or concave.\n\n```javascript\nvar t = require(\'turf\')\nvar poly = t.polygon([[[0,0], [50, 50], [0,100], [100,100], [100,0]]])\nvar pt = t.point(75, 75)\n\nt.inside(pt, poly, function(err, isInside){\n if(err) throw err\n console.log(isInside) // true\n})\n```\n\n\n###within\n\nReturns a feature collection of points representing all points that fall withing a collection of polygons.\n\n```javascript\nvar t = require(\'turf\')\nvar poly = t.polygon([[[10,0],[20,10],[20,20], [20,0]]])\nvar polyFC = t.featurecollection([poly])\nvar pt1 = t.point(1,1, {population: 500})\nvar pt2 = t.point(1,3, {population: 400})\nvar pt3 = t.point(14,2, {population: 600})\nvar pt4 = t.point(13,1, {population: 500})\nvar pt5 = t.point(19,7, {population: 200})\nvar ptFC = t.featurecollection([pt1, pt2, pt3, pt4, pt5])\n\nt.within(ptFC, polyFC, function(err, ptsWithin){\n console.log(ptsWithin) // feature collection with 3 pts\n})\n```\n\n\n###buffer\n\nBuffers a point, linestring, or polygon feature to a given radius. Units supported are miles, kilometers, and degrees.\n\n\n```javascript\nvar t = require(\'turf\')\nvar pt = t.point(0, 0.5)\nvar unit = \'miles\'\n\nt.buffer(pt, 10, unit, function(err, buffered){\n if(err) throw err\n console.log(buffered)\n})\n```\n\n\n###distance\n\nCalculates the distance between two point features in degrees, radians, miles, or kilometers. This uses the haversine formula to account for global curvature.\n\n```javascript\nvar t = require(\'turf\')\nvar point1 = t.point(-75.343, 39.984)\nvar point2 = t.point(-75.534, 39.123)\nvar unit = \'miles\' // or \'kilometers\', \'degrees\', \'radians\'\n\nt.distance(point1, point2, unit, function(err, distance){\n if(err) throw err\n console.log(distance)\n})\n```\n\n\n###nearest\n\nReturns the nearest point feature.\n\n```javascript\nvar t = require(\'turf\')\nvar inPoint = t.point(-75.4, 39.4, {name: \'Location A\'})\n\nvar pt1 = t.point(-75.343, 39.984, {name: \'Location B\'})\nvar pt2 = t.point(-75.833, 39.284, {name: \'Location C\'})\nvar pt3 = t.point(-75.534, 39.123, {name: \'Location D\'})\nvar inFeatures = t.featurecollection([pt1, pt2, pt3])\n\nt.nearest(inPoint, inFeatures, function(err, closestPoint){\n if(err) throw err\n console.log(closestPoint)\n})\n```\n\n\n###tin\n\nTakes a set of points and the name of a z-value property and creates a tin (Triangulated Irregular Network). These are often used for developing elevation contour maps or stepped heat visualizations.\n\n```javascript\nvar t = require(\'turf\')\nvar z = \'elevation\'\n\nt.load(\'/path/to/pointsfeatures/elevationPoints.geojson\', function(err, points){\n t.tin(points, z, function(err, tin){\n if(err) throw err\n console.log(tin)\n })\n})\n```\n\n\n###grid\n\nTakes a bounding box and a cell depth and outputs a feature collection of points in a grid.\n\n```javascript\nvar t = require(\'turf\')\nvar depth = 15\n\nt.grid([0,0,10,10], depth, function(err, grid){\n console.log(grid) // 15x15 grid of points in a FeatureCollection\n})\n```\n\n\n###planepoint\n\nTakes a trianglular plane and calculates the z value for a point on the plane.\n\n```javascript\nvar t = require(\'turf\')\nvar point = t.point(-75.3221, 39.529)\n// triangle is a polygon with "a", "b", and "c" values representing\n// the values of the coordinates in order.\nvar triangle = t.polygon(\n [[[-75.1221,39.57],[-75.58,39.18],[-75.97,39.86]]],\n {"a": 11, "b": 122, "c": 44}\n )\n\nt.planepoint(point, triangle, function(err, zValue){\n if(err) throw err\n console.log(zValue)\n})\n```\n\n\n###midpoint\n\nTakes two point features and returns the mid point.\n\n```javascript\nvar t = require(\'turf\')\nvar pt1 = t.point(0,0)\nvar pt2 = t.point(10, 0)\n\nt.midpoint(pt1, pt2, function(err, midpoint){\n if(err) throw err\n console.log(midpoint)\n})\n\n```\n\n\n###quantile\n\nTakes a set of features, a property name, and a set of percentiles and outputs a quantile array. This can be passed as a break array to the isolines function or the isobands function.\n\n```javascript\nvar t = require(\'turf\')\nvar propertyName = \'elevation\'\nvar percentiles = [10,30,40,60,80,90,99]\n\nt.load(\'./testIn/Points3.geojson\', function(err, pts){\n if(err) throw err\n t.quantile(pts, propertyName, percentiles, function(err, quantiles){\n if(err) throw err\n console.log(quantiles) // [ 12, 25, 29, 52, 76, 99, 143 ]\n })\n})\n```\n\n\n###jenks\n\nTakes a set of features, a property name, and the desired number of breaks and outputs an array of natural breaks. This classification can be used in the isolines function or the isobands function, or for theming.\n\n```javascript\nvar t = require(\'turf\')\nvar propertyName = \'elevation\'\nvar num = 10\n\nt.load(\'./testIn/Points3.geojson\', function(err, pts){\n if(err) throw err\n t.jenks(pts, \'elevation\', num, function(err, breaks){\n if(err) throw err\n done() // [ 11, 12, 18, 25, 29, 41, 50, 55, 76, 90, 143 ]\n })\n})\n```\n\n\n###reclass\n\nTakes a feature collection, a in field, an out field, and an array of translations and outputs an identical feature collection with the out field property populated.\n\n```javascript\nvar t = require(\'turf\')\nvar inField = \'elevation\',\n outField = \'heightIndex\',\n // 0 to 20 will map to 1, 20 to 40 will map to 2, etc.\n translations = [[0, 20, 1], [20, 40, 2], [40, 60 , 3], [60, Infinity, 4]]\n\nt.load(\'./testIn/Points3.geojson\', function(err, pts){\n if(err) throw err\n t.reclass(pts, inField, outField, translations, function(err, outPts){\n if(err) throw err\n console.log(outPts)\n })\n})\n```\n\n\n###contour [deprecated: split into isolines for line contours and isobands for polygon filled contours]\n\nTakes a FeatureCollection of points with z values and an array of value breaks and generates contour polygons. This is a great way to visualize interpolated density on a map. It is often used for elevation maps, weather maps, and isocrones. The main advantage over a heat map is that contours allow you to see definitive value boundaries, and the polygons can be used to aggregate data. For example, you could get the 5000 ft elevation contour of a mountain and the 10000 ft elevation contour, then aggregate the number of trees in each to see how elevation affects tree survival.\n\n```javascript\nvar t = require(\'turf\')\nvar z = \'elevation\'\nvar resolution = 15\nvar breaks = [.1, 22, 45, 55, 65, 85, 95, 105, 120, 180]\nvar donuts = false\n\nt.load(\'../path/to/points.geojson\', function(err, points){\n t.contour(points, z, resolution, breaks, donuts, function(err, contours){\n if(err) throw err\n console.log(contours)\n })\n})\n```\n\n\n###isolines\n\nTakes a FeatureCollection of points with z values and an array of value breaks and generates contour isolines. These are commonly used to create elevation maps, but can be used for general data interpolation as well.\n\n```javascript\nvar t = require(\'turf\')\nvar z = \'elevation\'\nvar resolution = 15\nvar breaks = [.1, 22, 45, 55, 65, 85, 95, 105, 120, 180]\n\nt.load(\'../path/to/points.geojson\', function(err, points){\n t.isolines(points, z, resolution, breaks, function(err, contours){\n if(err) throw err\n console.log(isolines)\n })\n})\n```\n\n\n###isobands\n\nTakes a FeatureCollection of points with z values and an array of value breaks and generates filled contour isobands. These are commonly used to create elevation maps, but can be used for general data interpolation as well.\n\n```javascript\nvar t = require(\'turf\')\nvar z = \'elevation\'\nvar resolution = 15\nvar breaks = [.1, 22, 45, 55, 65, 85, 95, 105, 120, 180]\n\nt.load(\'../path/to/points.geojson\', function(err, points){\n t.isobands(points, z, resolution, breaks, function(err, contours){\n if(err) throw err\n console.log(isolines)\n })\n})\n```\n\n\n###sample\n\nTakes a feature collection and returns N random features as a feature collection.\n\n```javascript\nvar t = require(\'turf\')\nvar num = 10\n\nt.load(\'./testIn/Points3.geojson\', function(err, pts){\n if(err) throw err\n t.sample(pts, num, function(err, outPts){\n if(err) throw err\n console.log(outPts)\n })\n})\n```\n\n\n###tag\n\nPerforms a spatial join on a set of points from a set of polygons.\n\n```javascript\nvar t = require(\'turf\')\n\nt.load(\'./testIn/tagPoints.geojson\', function(err, points){\n t.load(\'./testIn/tagPolygons.geojson\', function(err, polygons){\n t.tag(points, polygons, \'polyID\', \'containingPolyID\', function(err, taggedPoints){\n console.log(taggedPoints)\n })\n })\n})\n```\n\n\n###bezier\n\nTakes a linestring and outputs a curved version of the line.\n\n```javascript\nvar t = require(\'turf\')\nvar resolution = 5000\nvar intensity = .85\nvar lineIn = t.linestring([\n [\n -80.08724212646484,\n 32.77428536643231\n ],\n [\n -80.03746032714844,\n 32.84007757059952\n ],\n [\n -80.01548767089844,\n 32.74512501406368\n ],\n [\n -79.95368957519531,\n 32.850461360442424\n ]\n ])\n\nt.bezier(lineIn, 5000, .85, function(err, lineOut){\n if(err) throw err\n console.log(lineOut)\n})\n```\n\n\n###simplify\n\nTakes a feature collection of polygons or linestrings and returns a simplified version, preserving topology of shared boundaries.\n\n```javascript\nvar t = require(\'turf\')\nvar quantization = 50\nvar minimumArea = 0\n\nt.load(\'./path/to/complex.geojson\', function(err, polys){\n t.simplify(polys, quantization, minimumArea, function(err, simplified){\n if(err) throw err\n console.log(simplified)\n })\n})\n```\n\n\n###average\n\nCalculates the average value of a field for points within a set of polygons.\n\n```javascript\nvar t = require(\'turf\')\n\nvar poly1 = t.polygon([[[0,0],[10,0],[10,10], [0,10]]])\nvar poly2 = t.polygon([[[10,0],[20,10],[20,20], [20,0]]])\nvar polyFC = t.featurecollection([poly1, poly2])\nvar pt1 = t.point(5,5, {population: 200})\nvar pt2 = t.point(1,3, {population: 600})\nvar pt3 = t.point(14,2, {population: 100})\nvar pt4 = t.point(13,1, {population: 200})\nvar pt5 = t.point(19,7, {population: 300})\nvar ptFC = t.featurecollection([pt1, pt2, pt3, pt4, pt5])\n\nt.average(polyFC, ptFC, \'population\', \'pop_avg\', function(err, averaged){\n if(err) throw err\n\n console.log(averaged.features[0].properties.pop_avg) // 400\n console.log(averaged.features[1].properties.pop_avg) // 200\n})\n```\n\n\n###median\n\nCalculates the median value of a field for points within a set of polygons.\n\n```javascript\nvar t = require(\'turf\')\n\nvar poly1 = t.polygon([[[0,0],[10,0],[10,10], [0,10]]])\nvar poly2 = t.polygon([[[10,0],[20,10],[20,20], [20,0]]])\nvar polyFC = t.featurecollection([poly1, poly2])\nvar pt1 = t.point(5,5, {population: 200})\nvar pt2 = t.point(1,3, {population: 600})\nvar pt3 = t.point(14,2, {population: 100})\nvar pt4 = t.point(13,1, {population: 200})\nvar pt5 = t.point(19,7, {population: 300})\nvar ptFC = t.featurecollection([pt1, pt2, pt3, pt4, pt5])\n\nt.median(polyFC, ptFC, \'population\', \'pop_median\', function(err, medianed){\n if(err) throw err\n\n console.log(medianed.features[0].properties.pop_median) // 400\n console.log(medianed.features[1].properties.pop_median) // 200\n})\n```\n\n\n###sum\n\nCalculates the sum value of a field for points within a set of polygons.\n\n```javascript\nvar t = require(\'turf\')\n\nvar poly1 = t.polygon([[[0,0],[10,0],[10,10], [0,10]]])\nvar poly2 = t.polygon([[[10,0],[20,10],[20,20], [20,0]]])\nvar polyFC = t.featurecollection([poly1, poly2])\nvar pt1 = t.point(1,1, {population: 500})\nvar pt2 = t.point(1,3, {population: 400})\nvar pt3 = t.point(14,2, {population: 600})\nvar pt4 = t.point(13,1, {population: 500})\nvar pt5 = t.point(19,7, {population: 200})\nvar ptFC = t.featurecollection([pt1, pt2, pt3, pt4, pt5])\n\nt.sum(polyFC, ptFC, \'population\', \'pop_sum\', function(err, summed){\n if(err) throw err\n\n console.log(summed.features[0].properties.pop_sum) // 900\n console.log(summed.features[1].properties.pop_sum) // 1300\n})\n```\n\n\n###min\n\nCalculates the min value of a field for points within a set of polygons.\n\n```javascript\nvar t = require(\'turf\')\n\nvar poly1 = t.polygon([[[0,0],[10,0],[10,10], [0,10]]])\nvar poly2 = t.polygon([[[10,0],[20,10],[20,20], [20,0]]])\nvar polyFC = t.featurecollection([poly1, poly2])\nvar pt1 = t.point(1,1, {population: 500})\nvar pt2 = t.point(1,3, {population: 400})\nvar pt3 = t.point(14,2, {population: 600})\nvar pt4 = t.point(13,1, {population: 500})\nvar pt5 = t.point(19,7, {population: 200})\nvar ptFC = t.featurecollection([pt1, pt2, pt3, pt4, pt5])\n\nt.min(polyFC, ptFC, \'population\', \'pop_min\', function(err, minPolys){\n if(err) throw err\n\n console.log(minPolys.features[0].properties.pop_min) // 400\n console.log(minPolys.features[1].properties.pop_min) // 200\n})\n```\n\n\n###max\n\nCalculates the min value of a field for points within a set of polygons.\n\n```javascript\nvar t = require(\'turf\')\n\nvar poly1 = t.polygon([[[0,0],[10,0],[10,10], [0,10]]])\nvar poly2 = t.polygon([[[10,0],[20,10],[20,20], [20,0]]])\nvar polyFC = t.featurecollection([poly1, poly2])\nvar pt1 = t.point(1,1, {population: 500})\nvar pt2 = t.point(1,3, {population: 400})\nvar pt3 = t.point(14,2, {population: 600})\nvar pt4 = t.point(13,1, {population: 500})\nvar pt5 = t.point(19,7, {population: 200})\nvar ptFC = t.featurecollection([pt1, pt2, pt3, pt4, pt5])\n\nt.max(polyFC, ptFC, \'population\', \'pop_max\', function(err, maxPolys){\n if(err) throw err\n\n console.log(maxPolys.features[0].properties.pop_max) // 500\n console.log(maxPolys.features[1].properties.pop_max) // 600\n})\n```\n\n\n###count\n\nCalculates the count of points within a set of polygons.\n\n```javascript\nvar t = require(\'turf\')\n\nvar poly1 = t.polygon([[[0,0],[10,0],[10,10], [0,10]]])\nvar poly2 = t.polygon([[[10,0],[20,10],[20,20], [20,0]]])\nvar polyFC = t.featurecollection([poly1, poly2])\nvar pt1 = t.point(1,1, {population: 500})\nvar pt2 = t.point(1,3, {population: 400})\nvar pt3 = t.point(14,2, {population: 600})\nvar pt4 = t.point(13,1, {population: 500})\nvar pt5 = t.point(19,7, {population: 200})\nvar ptFC = t.featurecollection([pt1, pt2, pt3, pt4, pt5])\n\nt.count(polyFC, ptFC, \'population\', \'point_count\', function(err, counted){\n if(err) throw err\n\n console.log(counted.features[0].properties.point_count) // 2\n console.log(counted.features[1].properties.point_count) // 3\n})\n```\n\n\n###deviation\n\nCalculates the standard deviation value of a field for points within a set of polygons.\n\n```javascript\nvar t = require(\'turf\')\n\nvar poly1 = t.polygon([[[0,0],[10,0],[10,10], [0,10]]])\nvar poly2 = t.polygon([[[10,0],[20,10],[20,20], [20,0]]])\nvar polyFC = t.featurecollection([poly1, poly2])\nvar pt1 = t.point(1,1, {population: 500})\nvar pt2 = t.point(1,3, {population: 400})\nvar pt3 = t.point(14,2, {population: 600})\nvar pt4 = t.point(13,1, {population: 500})\nvar pt5 = t.point(19,7, {population: 200})\nvar ptFC = t.featurecollection([pt1, pt2, pt3, pt4, pt5])\n\nt.deviation(polyFC, ptFC, \'population\', \'pop_deviation\', function(err, deviated){\n if(err) throw err\n\n console.log(deviated.features[0].properties.pop_deviation)\n console.log(deviated.features[1].properties.pop_deviation)\n})\n```\n\n\n###variance\n\nCalculates the standard deviation value of a field for points within a set of polygons.\n\n```javascript\nvar t = require(\'turf\')\n\nvar poly1 = t.polygon([[[0,0],[10,0],[10,10], [0,10]]])\nvar poly2 = t.polygon([[[10,0],[20,10],[20,20], [20,0]]])\nvar polyFC = t.featurecollection([poly1, poly2])\nvar pt1 = t.point(1,1, {population: 500})\nvar pt2 = t.point(1,3, {population: 400})\nvar pt3 = t.point(14,2, {population: 600})\nvar pt4 = t.point(13,1, {population: 500})\nvar pt5 = t.point(19,7, {population: 200})\nvar ptFC = t.featurecollection([pt1, pt2, pt3, pt4, pt5])\n\nt.variance(polyFC, ptFC, \'population\', \'pop_variance\', function(err, varianced){\n if(err) throw err\n\n console.log(varianced.features[0].properties.pop_variance)\n console.log(varianced.features[1].properties.pop_variance)\n})\n```\n\n\n###aggregate\n\nTakes a set of polygons, a set of points, and an array of aggregations, then perform them. Sum, average, count, min, max, and deviation are supported.\n\n```javascript\nvar t = require(\'turf\')\n\nvar poly1 = t.polygon([[[0,0],[10,0],[10,10],[0,10]]])\nvar poly2 = t.polygon([[[10,0],[20,10],[20,20], [20,0]]])\nvar polyFC = t.featurecollection([poly1, poly2])\nvar pt1 = t.point(5,5, {population: 200})\nvar pt2 = t.point(1,3, {population: 600})\nvar pt3 = t.point(14,2, {population: 100})\nvar pt4 = t.point(13,1, {population: 200})\nvar pt5 = t.point(19,7, {population: 300})\nvar ptFC = t.featurecollection([pt1, pt2, pt3, pt4, pt5])\nvar aggregations = [\n {\n aggregation: \'sum\',\n inField: \'population\',\n outField: \'pop_sum\'\n },\n {\n aggregation: \'average\',\n inField: \'population\',\n outField: \'pop_avg\'\n },\n {\n aggregation: \'median\',\n inField: \'population\',\n outField: \'pop_median\'\n },\n {\n aggregation: \'min\',\n inField: \'population\',\n outField: \'pop_min\'\n },\n {\n aggregation: \'max\',\n inField: \'population\',\n outField: \'pop_max\'\n },\n {\n aggregation: \'deviation\',\n inField: \'population\',\n outField: \'pop_deviation\'\n },\n {\n aggregation: \'variance\',\n inField: \'population\',\n outField: \'pop_variance\'\n },\n {\n aggregation: \'count\',\n inField: \'\',\n outField: \'point_count\'\n }\n]\n\nt.aggregate(polyFC, ptFC, aggregations, function(err, polys){\n if(err) throw err\n console.log(polys)\n})\n```\n\n\n###union\n\nCalculates the union of two polygon features or feature collections.\n\n```javascript\nvar t = require(\'turf\')\n\nt.load(__dirname + \'/testIn/Intersect1.geojson\', function(err, polys1){\n t.load(__dirname + \'/testIn/Intersect2.geojson\', function(err, polys2){\n t.union(polys1, polys2, function(err, unioned){\n if(err) throw err\n console.log(unioned)\n })\n })\n})\n```\n\n\n###merge\n\nTakes a feature collection of polygons and outputs a single merged polygon feature.\n\n```javascript\nvar t = require(\'turf\')\n\nt.load(__dirname + \'/testIn/mergeIn.geojson\', function(err, polys){\n t.merge(polys, function(err, merged){\n if(err) throw err\n console.log(unioned)\n })\n})\n```\n\n\n###intersect\n\nCalculates the intersection of two polygon features or feature collections.\n\n```javascript\nvar t = require(\'turf\')\n\nt.load(__dirname + \'/testIn/Intersect1.geojson\', function(err, polys1){\n t.load(__dirname + \'/testIn/Intersect2.geojson\', function(err, polys2){\n t.intersect(polys1, polys2, function(err, intersected){\n if(err) throw err\n console.log(intersected)\n })\n })\n})\n```\n\n\n###erase\n\nReturns polygon 1 minus polygon 2.\n\n```javascript\nvar t = require(\'turf\')\n\nt.load(__dirname + \'/testIn/Intersect1.geojson\', function(err, polys1){\n t.load(__dirname + \'/testIn/Intersect2.geojson\', function(err, polys2){\n t.erase(polys1, polys2, function(err, erased){\n if(err) throw err\n console.log(erased)\n })\n })\n})\n```\n\n\n###donuts\n\nTakes a set of overlapping polygons and returns non overlapping donuts.\n\n```javascript\nvar t = require(\'turf\')\n\nt.load(\'../path/to/donutsIn.geojson\', function(err, donutsIn){\n if(err) throw err\n t.donuts(donutsIn, function(err, donuts){\n if(err) throw err\n console.log(donuts)\n })\n})\n```\n\n\n###convex\n\nTakes a set of points and returns a convex hull polygon.\n\n```javascript\nvar t = require(\'turf\')\n\nt.load(\'../test/testIn/convexIn.geojson\', function(err, points){\n t.convex(points, function(err, hull){\n if(err) throw err\n fs.writeFileSync(\'./testOut/convex.geojson\', JSON.stringify(hull))\n console.log(hull)\n })\n})\n```\n\n\n###concave\n\nTakes a set of points and returns a concave hull polygon.\n\n```javascript\nvar t = require(\'turf\')\nvar maxEdge = 2.5\n\nt.load(\'../test/testIn/concaveIn.geojson\', function(err, points){\n t.concave(points, maxEdge, function(err, hull){\n if(err) throw err\n console.log(hull)\n })\n})\n```\n\n\n- - -\n\n\nThis library is built and maintained by [@morganherlocker](https://twitter.com/morganherlocker) :)\n',
557 silly publish readmeFilename: 'README.md',
557 silly publish homepage: 'https://github.com/morganherlocker/turf',
557 silly publish _id: 'turf@0.1.1',
557 silly publish dist: { shasum: 'de3d588daf1b2c20caeb43d04db7ca0f8c810d82' },
557 silly publish _from: '.' }
558 verbose url raw turf
559 verbose url resolving [ 'https://registry.npmjs.org/', './turf' ]
560 verbose url resolved https://registry.npmjs.org/turf
561 info trying registry request attempt 1 at 11:17:09
562 http PUT https://registry.npmjs.org/turf
563 http 503 https://registry.npmjs.org/turf
564 verbose bad json <?xml version="1.0" encoding="utf-8"?>
564 verbose bad json <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
564 verbose bad json "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
564 verbose bad json <html>
564 verbose bad json <head>
564 verbose bad json <title>503 backend read error</title>
564 verbose bad json </head>
564 verbose bad json <body>
564 verbose bad json <h1>Error 503 backend read error</h1>
564 verbose bad json <p>backend read error</p>
564 verbose bad json <h3>Guru Meditation:</h3>
564 verbose bad json <p>XID: 1552417037</p>
564 verbose bad json <hr>
564 verbose bad json <p>Varnish cache server</p>
564 verbose bad json </body>
564 verbose bad json </html>
565 error registry error parsing json
566 info retry will retry, error on last attempt: SyntaxError: Unexpected token <
566 info retry
566 info retry <?xml version="1.0" encoding="utf-8"?>
566 info retry <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
566 info retry "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
566 info retry <html>
566 info retry <head>
566 info retry <title>503 backend read error</title>
566 info retry </head>
566 info retry <body>
566 info retry <h1>Error 503 backend read error</h1>
566 info retry <p>backend read error</p>
566 info retry <h3>Guru Meditation:</h3>
566 info retry <p>XID: 1552417037</p>
566 info retry <hr>
566 info retry <p>Varnish cache server</p>
566 info retry </body>
566 info retry </html>
567 info trying registry request attempt 2 at 11:17:44
568 http PUT https://registry.npmjs.org/turf
569 http 503 https://registry.npmjs.org/turf
570 verbose bad json <?xml version="1.0" encoding="utf-8"?>
570 verbose bad json <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
570 verbose bad json "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
570 verbose bad json <html>
570 verbose bad json <head>
570 verbose bad json <title>503 backend read error</title>
570 verbose bad json </head>
570 verbose bad json <body>
570 verbose bad json <h1>Error 503 backend read error</h1>
570 verbose bad json <p>backend read error</p>
570 verbose bad json <h3>Guru Meditation:</h3>
570 verbose bad json <p>XID: 3818352503</p>
570 verbose bad json <hr>
570 verbose bad json <p>Varnish cache server</p>
570 verbose bad json </body>
570 verbose bad json </html>
571 error registry error parsing json
572 info retry will retry, error on last attempt: SyntaxError: Unexpected token <
572 info retry
572 info retry <?xml version="1.0" encoding="utf-8"?>
572 info retry <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
572 info retry "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
572 info retry <html>
572 info retry <head>
572 info retry <title>503 backend read error</title>
572 info retry </head>
572 info retry <body>
572 info retry <h1>Error 503 backend read error</h1>
572 info retry <p>backend read error</p>
572 info retry <h3>Guru Meditation:</h3>
572 info retry <p>XID: 3818352503</p>
572 info retry <hr>
572 info retry <p>Varnish cache server</p>
572 info retry </body>
572 info retry </html>
573 info trying registry request attempt 3 at 11:19:05
574 http PUT https://registry.npmjs.org/turf
575 http 409 https://registry.npmjs.org/turf
576 verbose url raw turf?write=true
577 verbose url resolving [ 'https://registry.npmjs.org/', './turf?write=true' ]
578 verbose url resolved https://registry.npmjs.org/turf?write=true
579 info trying registry request attempt 1 at 11:19:27
580 http GET https://registry.npmjs.org/turf?write=true
581 http 503 https://registry.npmjs.org/turf?write=true
582 verbose bad json <?xml version="1.0" encoding="utf-8"?>
582 verbose bad json <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
582 verbose bad json "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
582 verbose bad json <html>
582 verbose bad json <head>
582 verbose bad json <title>503 Resource temporarily unavailable</title>
582 verbose bad json </head>
582 verbose bad json <body>
582 verbose bad json <h1>Error 503 Resource temporarily unavailable</h1>
582 verbose bad json <p>Resource temporarily unavailable</p>
582 verbose bad json <h3>Guru Meditation:</h3>
582 verbose bad json <p>XID: 2473677433</p>
582 verbose bad json <hr>
582 verbose bad json <p>Varnish cache server</p>
582 verbose bad json </body>
582 verbose bad json </html>
583 error registry error parsing json
584 info retry will retry, error on last attempt: SyntaxError: Unexpected token <
584 info retry
584 info retry <?xml version="1.0" encoding="utf-8"?>
584 info retry <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
584 info retry "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
584 info retry <html>
584 info retry <head>
584 info retry <title>503 Resource temporarily unavailable</title>
584 info retry </head>
584 info retry <body>
584 info retry <h1>Error 503 Resource temporarily unavailable</h1>
584 info retry <p>Resource temporarily unavailable</p>
584 info retry <h3>Guru Meditation:</h3>
584 info retry <p>XID: 2473677433</p>
584 info retry <hr>
584 info retry <p>Varnish cache server</p>
584 info retry </body>
584 info retry </html>
585 info trying registry request attempt 2 at 11:19:52
586 http GET https://registry.npmjs.org/turf?write=true
587 http 200 https://registry.npmjs.org/turf?write=true
588 error publish fail Cannot publish over existing version.
588 error publish fail Update the 'version' field in package.json and try again.
588 error publish fail
588 error publish fail If the previous version was published in error, see:
588 error publish fail npm help unpublish
588 error publish fail
588 error publish fail To automatically increment version numbers, see:
588 error publish fail npm help version
589 error System Darwin 12.5.0
590 error command "node" "/usr/local/bin/npm" "publish"
591 error cwd /Users/morgan/Documents/turf
592 error node -v v0.10.26
593 error npm -v 1.4.6
594 error code EPUBLISHCONFLICT
595 verbose exit [ 1, true ]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment