A ThreeJS geometry class for stroking GeoJSON objects on a sphere.
import GeoJsonGeometry from 'three-geojson-geometry';
or using a script tag
<script src="//unpkg.com/three-geojson-geometry"></script>
then
const myLine = new THREE.Line(
new GeoJsonGeometry(geoJson),
new THREE.LineBasicMaterial({ color: 'blue' })
);
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).
Different geoJson types should be represented using different ThreeJS object types:
Point
andMultiPoints
- UseTHREE.Points
LineString
andPolygon
- UseTHREE.Line
MultiLineString
andMultiPolygon
- UseTHREE.LineSegments