vasturiano / three-geojson-geometry

ThreeJS geometry to stroke GeoJSON objects on a sphere

Home Page:https://vasturiano.github.io/three-geojson-geometry/example/countries/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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="//unpkg.com/three-geojson-geometry"></script>

then

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

API reference

Constructor

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.

Properties

.parameters: Object

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

Groups

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

About

ThreeJS geometry to stroke GeoJSON objects on a sphere

https://vasturiano.github.io/three-geojson-geometry/example/countries/

License:MIT License


Languages

Language:JavaScript 52.7%Language:HTML 47.3%