Research
Security News
Quasar RAT Disguised as an npm Package for Detecting Vulnerabilities in Ethereum Smart Contracts
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
@turf/combine
Advanced tools
@turf/combine is a module from the Turf.js library that allows you to combine multiple GeoJSON features into a single feature collection. This is particularly useful for merging multiple geometries into a single collection for easier manipulation and analysis.
Combine Multiple Features
This feature allows you to combine multiple GeoJSON features (points, lines, polygons) into a single feature collection. The code sample demonstrates combining two points and a line into one feature collection.
const turf = require('@turf/turf');
const point1 = turf.point([0, 0]);
const point2 = turf.point([2, 2]);
const line = turf.lineString([[1, 1], [3, 3]]);
const combined = turf.combine(turf.featureCollection([point1, point2, line]));
console.log(JSON.stringify(combined));
The geojson-merge package allows you to merge multiple GeoJSON files into one. It is similar to @turf/combine in that it combines multiple GeoJSON features, but it is more focused on merging files rather than individual features.
The geojson-flatten package is used to flatten nested GeoJSON geometries into a single-level feature collection. While @turf/combine focuses on combining features, geojson-flatten is useful for simplifying complex nested structures.
The geojson-utils package provides a variety of utility functions for working with GeoJSON data, including combining features. It offers a broader range of functionalities compared to @turf/combine, which is specialized for combining features.
Combines a FeatureCollection of Point, LineString, or Polygon features into MultiPoint, MultiLineString, or MultiPolygon features.
Parameters
fc
FeatureCollection<(Point | LineString | Polygon)> a FeatureCollection of any typeExamples
var fc = turf.featureCollection([
turf.point([19.026432, 47.49134]),
turf.point([19.074497, 47.509548])
]);
var combined = turf.combine(fc);
//addToMap
var addToMap = [combined]
Returns FeatureCollection<(MultiPoint | MultiLineString | MultiPolygon)> a FeatureCollection of corresponding type to input
This module is part of the Turfjs project, an open source module collection dedicated to geographic algorithms. It is maintained in the Turfjs/turf repository, where you can create PRs and issues.
Install this module individually:
$ npm install @turf/combine
Or install the Turf module that includes it as a function:
$ npm install @turf/turf
6.2.0
After a bit of hiatus, TurfJS is resuming releases.
@turf/boolean-touches
][boolean-touches]Determines if two features touch but do not intersect
@turf/boolean-valid
][boolean-valid]Checks if the geometry is a valid according to the OGC Simple Feature Specification
@turf/quadrat-analysis
][quadrat-analysis]Performs a quadrat analysis on a set of points
@turf/rectangle-grid
][rectangle-grid]Creates a grid of rectangles from a bounding box
@turf/voroni
][voronoi]Typescript types for the options parameter have been fixed (PR https://github.com/Turfjs/turf/pull/1424 - Author @stevage)
@turf/points-within-polygon
][points-within-polygon]Typescript types around the Feature's Properties will now be preserved. (PR https://github.com/Turfjs/turf/pull/1761 - Author @rugheid)
@turf/rewind
][rewind]Typescript types for the 'reverse' option are now correct. Previously it was misnamed as 'reversed'. (PR https://github.com/Turfjs/turf/pull/1786 - Author @jonnycornwell)
@turf/difference
][difference]No longer publishes an .mjs file.
@turf/meta
][meta]No longer publishes an .mjs file.
@turf/tag
][tag]Add MultiPolygon support. (PR https://github.com/Turfjs/turf/pull/1996 - Author bryceroney)
@turf/centroid
Don't visit first point twice when calculating centroid
(PR https://github.com/Turfjs/turf/pull/1894 - Author @rowanwins)
@turf/transform-translate
Better handling of negative distances
(PR https://github.com/Turfjs/turf/pull/1895 - Author @rowanwins)
@turf/union
, @turf/difference
, @turf/intersect
Use polygon-clipping library to fix correctness issues
(PR https://github.com/Turfjs/turf/pull/1916 - Authors @mbullington, @ngottlieb)
@turf/buffer
Change default number of steps to 8, and actually support the steps option
(PR https://github.com/Turfjs/turf/pull/1931 - Author stevenchanin)
@turf/buffer
Fix projection issues that produce undersized buffers at non-equatorial latitudes
(PR https://github.com/Turfjs/turf/pull/1956 - Author dyakovlev)
@turf/helpers
Add runtime checks to point() method, fixing an API break
(PR https://github.com/Turfjs/turf/pull/1964)
@turf/boolean-overlap
Better performance for MultiPoint geometries
(PR https://github.com/Turfjs/turf/pull/1910 - Author @mfedderly)
@turf/helpers
Add hectares to convertArea
(PR https://github.com/Turfjs/turf/pull/1943 - Author @DanielJDufour)
@turf/great-circle
Update Typescript types to support MultiLineString input
(PR https://github.com/Turfjs/turf/pull/1928 - Author kronick)
@turf/square-grid
Clarify inputs
(PR https://github.com/Turfjs/turf/pull/1885 - Author @raphael-leger)
@turf/greater-circle
Clarify properties option example
(PR https://github.com/Turfjs/turf/pull/1888 - Author @chris-catignani)
@turf/line-to-polygon
no longer modifies its input unless the mutate option is true
(PR https://github.com/Turfjs/turf/pull/1879 - Author @MortenBirk)
@turf/unkink-polygon
remove Number.prototype.modulo override
(PR https://github.com/Turfjs/turf/pull/1978)
FAQs
turf combine module
The npm package @turf/combine receives a total of 188,211 weekly downloads. As such, @turf/combine popularity was classified as popular.
We found that @turf/combine demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 9 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
Security News
Research
A supply chain attack on Rspack's npm packages injected cryptomining malware, potentially impacting thousands of developers.
Research
Security News
Socket researchers discovered a malware campaign on npm delivering the Skuld infostealer via typosquatted packages, exposing sensitive data.