Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?


Failed to load latest commit information.
Latest commit message
Commit time
February 6, 2023 22:48
February 6, 2023 22:44
September 9, 2019 20:01
February 6, 2023 22:44
September 10, 2019 01:47
February 8, 2023 00:53
February 6, 2023 22:44
February 6, 2023 22:44

ThreeJS GeoJSON Geometry

NPM package Build Size NPM Downloads

A ThreeJS geometry class for stroking GeoJSON objects on a sphere.

Quick start

import { GeoJsonGeometry } from 'three-geojson-geometry';

or using a script tag

<script src="//"></script>


const myLine = new THREE.Line(
  new THREE.GeoJsonGeometry(geoJson),
  new THREE.LineBasicMaterial({ color: 'blue' })

API reference


GeoJsonGeometry(geoJson: GeoJson object, radius: Float, resolution: Float)

  • geoJson: A GeoJson geometry object. It's recommended to split the geometries at the anti-meridian.
  • radius: Radius of the sphere surface to draw the poygon on. Default is 1.
  • resolution: Resolution of the sphere, in lat/lng degrees. If the distance between two adjacent line points is larger than this value, the line segment will be interpolated in order to approximate the curvature of the sphere surface. Lower values yield more perfectly curved lines, at the cost of performance. Default is 5.


.parameters: Object

An object with a property for each of the constructor parameters. Any modification after instantiation does not change the geometry.


When generating Polygon or MultiPolygon geometries, two groups are provided to which different materials can be applied.

  • 0: The outer ring of the polygon.
  • 1: The polygon inner holes (if any).

Object types

Different geoJson types should be represented using different ThreeJS object types:

  • Point and MultiPoints - Use THREE.Points
  • LineString and Polygon - Use THREE.Line
  • MultiLineString and MultiPolygon - Use THREE.LineSegments