GIS Tools

Language

Made withfor the GIS community

Split Multipart Features

Split MultiPolygon/MultiLineString into single parts

Vector Editing

Drop files here or click to browse

Supported formats: GeoJSON

GeoJSON

About Split Multipart

  • Converts Multi* geometries to single-part features
  • MultiPolygon β†’ multiple Polygon features
  • MultiLineString β†’ multiple LineString features
  • Each part inherits original feature properties
Original
Split

What Is Split Multipart Features?

Split Multipart Features is a vector editing operation that takes a single multi-part geometry β€” a MultiPolygon, MultiLineString, or MultiPoint β€” and explodes it into separate single-part features, one per part. It is the inverse of merging into a multipart: where merge consolidates, split explodes. In QGIS this is called "Multipart to Singleparts"; in PostGIS it's ST_Dump; in Turf.js it's similar to flatten; in ArcGIS Pro it's the Multipart To Singlepart geoprocessing tool.

A multi-part geometry is a single feature containing multiple disjoint geometry pieces. For example, the state of Hawaii is a single MultiPolygon feature containing eight separate island polygons. The United States is typically stored as a MultiPolygon including the mainland, Alaska, Hawaii, and Puerto Rico. MultiLineStrings frequently represent disconnected segments of a fragmented route. MultiPoints represent a set of points that share attributes.

Splitting multipart features is useful when you need per-part attributes, accurate per-part statistics (area of each island rather than total), independent editing of each part, or when a downstream consumer can't handle multipart geometry. Some older GIS formats (especially older GeoJSON parsers) struggle with multiparts, and splitting is a common preprocessing step.

How Multipart Splitting Works

Geometry Walking

The splitter walks the geometry, emitting each inner part as a new single-part feature. For a MultiPolygon with N polygons, the output has N Polygon features. For a MultiLineString with M lines, the output has M LineString features.

Attribute Duplication

All N output features inherit the parent's attributes by default. If you want to distinguish parts, you can append a part index (_part_0, _part_1, etc.) to a chosen field.

Part Ordering

The order of parts in the output matches the order in the input multipart. For polygons, this is the order in which they appear in the outer array.

Hole Handling

Polygon holes stay with their containing polygon. A split MultiPolygon with holes produces single polygons each retaining their correct hole structure.

Key Parameters and Options

Input Layer

Drop a GeoJSON, Shapefile, or KML file containing multipart features.

Part Index Field

Optionally create a new attribute that records each part's index within its parent.

Retain Parent Attributes

Copy all attributes from the parent to each child (default) or leave child attributes blank.

Output Format

Same as input by default; can be GeoJSON, Shapefile, or KML.

Practical Applications

Per-Part Area Calculation

When reporting on multi-island nations or regions with disjoint territory, each island's area is often of interest. Splitting the multipart lets you compute per-island area independently.

Independent Editing

To move or rotate one island of a multi-island feature without affecting the others, you need them as separate features.

Database Loading

Some spatial databases prefer single-part features for performance or indexing. Splitting before upload can improve query performance.

Statistics and Reporting

Per-part counts, lengths, and areas are often more meaningful than aggregated multipart statistics.

Legacy Software Compatibility

Older GIS software sometimes chokes on MultiPolygons. Splitting into single parts ensures compatibility.

Individual Feature Selection

Users of a web map may want to click on a single island and see its attributes, rather than selecting the whole multi-island feature at once.

Cartographic Labeling

Labeling a MultiPolygon places a single label at one centroid; splitting lets you label each part individually.

Step-by-Step Workflow in gis.tools

  1. Open the Split Multipart Features tool.
  2. Load a GeoJSON, Shapefile, or KML file containing multipart features.
  3. The tool reports how many multipart features it detected and how many single parts they contain.
  4. (Optional) Enable "add part index" to create a _part attribute.
  5. Click Split. Each multipart becomes N separate single-part features.
  6. Review the result count (multiparts Γ— their parts = output features).
  7. Export as GeoJSON, Shapefile, or KML.
  8. Pair with Merge Features if you need to reverse the split.

Worked Example

A national statistics bureau has a boundary file of all countries as a GeoJSON. Many countries (United States, Indonesia, Philippines, Japan, United Kingdom) are stored as MultiPolygons because of their island territories. The bureau wants per-island population density calculations, so each island needs to be a separate feature. She loads the file into Split Multipart, enables the part index option, and runs the split. The 195 country features expand into about 8,200 island features, each retaining the parent country's name, ISO code, and population β€” plus a new _part field for ordering. She exports the result and joins it to island population estimates for her report. All processing happened in the browser with no uploads.

Common Pitfalls and Gotchas

  • Attribute duplication: Each child inherits the parent's attributes. Numerical fields like population or area are now repeated across many rows, which can skew downstream sums if not handled carefully.
  • Feature count inflation: A small file can explode into many more features. Budget memory accordingly.
  • ID collisions: If the original layer has a unique ID field, all children inherit the same ID. Use the part index to disambiguate.
  • Hole misassignment: Rare but possible β€” if the input multipart has holes that weren't properly associated with their containing outer ring, splitting can mis-assign them.
  • Losing the multipart relationship: After splitting, the "these parts belong together" information is gone unless you add a part index or parent ID.
  • Empty parts: A degenerate multipart with zero parts produces no output; the tool flags this.
  • Non-multipart inputs pass through: Single-part features are unchanged; the tool only explodes actual multiparts.
  • Output winding order: Splitting preserves ring winding, but the GeoJSON Validator & Fixer is still a good follow-up.

Tips for Best Results

  • Enable the part index option to retain the relationship between children and parent.
  • Copy a "parent ID" attribute onto children before splitting so you can re-merge later if needed.
  • For per-part statistics (area, population share), recompute after splitting rather than dividing the parent value by N.
  • Keep a copy of the original multipart file as a reference.
  • Run Topology Helpers afterward if downstream analysis is topology-sensitive.
  • For large layers, split by attribute group first to reduce memory pressure.

Comparison with Other GIS Approaches

QGIS's "Multipart to Singleparts" and ArcGIS Pro's "Multipart To Singlepart" do the same job. PostGIS ST_Dump(geom) returns a set of single-part geometries. Our browser tool wraps this in a one-click UI with optional part indexing. For very large layers, database tools are more efficient, but for most use cases the browser is fast enough.

Performance Considerations

Splitting is O(n) in the number of parts. Millions of parts can be processed if the browser has enough memory. Memory is typically the limiting factor, not CPU.

Data Privacy and Browser-Based Processing

Input files stay in your browser. Sensitive boundary data (disputed territories, confidential facilities) is never uploaded.

Related GIS Concepts

  • MultiPolygon: a GeoJSON/OGC geometry type representing multiple disjoint polygons as a single feature.
  • MultiLineString: multiple LineStrings as one feature.
  • MultiPoint: multiple points as one feature.
  • GeometryCollection: a heterogeneous collection of different geometry types.
  • Dump operation: PostGIS's term for exploding a geometry into its parts.

Frequently Asked Questions

Why would I split multiparts?

For per-part analysis, independent editing, legacy tool compatibility, or clearer labeling.

Will the count of features change?

Yes β€” each multipart expands into N single parts. A layer with 100 features, some of which are multiparts, will have more than 100 output features.

Can I undo a split?

Use Merge Features to re-combine parts, or revert to the original file.

Are attributes copied to each part?

Yes β€” each child inherits all parent attributes by default.

What happens to holes?

Holes stay with their containing polygon.

Related Tools on gis.tools

100% client-side processing - your data stays private and never leaves your device