index.js 997 B

12345678910111213141516171819202122232425262728293031
  1. // index.ts
  2. import { geomEach, coordEach } from "@turf/meta";
  3. import { isNumber, point } from "@turf/helpers";
  4. function centerMean(geojson, options = {}) {
  5. let sumXs = 0;
  6. let sumYs = 0;
  7. let sumNs = 0;
  8. geomEach(geojson, function(geom, featureIndex, properties) {
  9. let weight = options.weight ? properties == null ? void 0 : properties[options.weight] : void 0;
  10. weight = weight === void 0 || weight === null ? 1 : weight;
  11. if (!isNumber(weight))
  12. throw new Error(
  13. "weight value must be a number for feature index " + featureIndex
  14. );
  15. weight = Number(weight);
  16. if (weight > 0) {
  17. coordEach(geom, function(coord) {
  18. sumXs += coord[0] * weight;
  19. sumYs += coord[1] * weight;
  20. sumNs += weight;
  21. });
  22. }
  23. });
  24. return point([sumXs / sumNs, sumYs / sumNs], options.properties, options);
  25. }
  26. var turf_center_mean_default = centerMean;
  27. export {
  28. centerMean,
  29. turf_center_mean_default as default
  30. };
  31. //# sourceMappingURL=index.js.map