![GeoJS](https://opengeoscience.github.io/geojs/images/logo_256.png)

[![Build Status](https://github.com/opengeoscience/geojs/actions/workflows/main.yml/badge.svg)](https://github.com/opengeoscience/geojs/actions)
[![codecov.io](https://codecov.io/github/OpenGeoscience/geojs/coverage.svg?branch=master)](https://codecov.io/github/OpenGeoscience/geojs?branch=master)
[![DOI](https://img.shields.io/badge/DOI-10.5281%2Fzenodo.15459-blue)](https://dx.doi.org/10.5281/zenodo.15459)
[![npm published version](https://img.shields.io/npm/v/geojs.svg)](https://www.npmjs.com/package/geojs)
[![Gitter](https://badges.gitter.im/OpenGeoscience/geojs.svg)](https://gitter.im/OpenGeoscience/geojs)

GeoJS is intended to bridge the gap between
[GIS](https://en.wikipedia.org/wiki/Geographic_information_system),
[Scientific Visualization](https://en.wikipedia.org/wiki/Scientific_visualization), and
[Infovis](https://en.wikipedia.org/wiki/Information_visualization).
GeoJS is more than just a GIS library as users can create scientific plots
such as vector and contour and can embed infovis plots using [D3.js](https://github.com/d3/d3).
*GeoJS aims for high-performance visualization and interactive data exploration of scientific
and geospatial location aware datasets*.

GeoJS supports features such as *Point*, *Line*, *Polygon*, and advanced features
such as [Pixelmap](https://opengeoscience.github.io/geojs/examples/pixelmap),
[Contour](https://opengeoscience.github.io/geojs/examples/contour),
[Heatmap](https://opengeoscience.github.io/geojs/examples/heatmap), and
[Choropleth](https://opengeoscience.github.io/geojs/examples/choropleth).

GeoJS can read and render data from [GeoJSON](https://opengeoscience.github.io/geojs/examples/geoJSON) files,
and [WMS](https://opengeoscience.github.io/geojs/examples/wms) servers.
Additional features includes [Annotations](https://opengeoscience.github.io/geojs/examples/annotations),
[Legends](https://opengeoscience.github.io/geojs/examples/legend),
[Animated Transitions](https://opengeoscience.github.io/geojs/examples/transitions), and
[Widgets](https://opengeoscience.github.io/geojs/examples/widgets).

GeoJS can also be used for visualizing medical imagery. See [Digital Slide Archive](https://digitalslidearchive.github.io/digital_slide_archive) for an example.

Examples
========
For live examples visit [Github.io](https://opengeoscience.github.io/geojs/examples/index.html)

[![Historical hurricane data Visualization in GeoJS](https://opengeoscience.github.io/geojs/examples/hurricanes/thumb.jpg)](https://opengeoscience.github.io/geojs/examples/hurricanes)

Documentation
=============
You can find more information on GeoJS installation and usage in our [Documentation](https://geojs.readthedocs.org/en/latest/index.html).

There are some additional resources:

- [Quick-Start Guide](docs/quickstart.rst)
- [Provisioning for Development](docs/provisioning.rst)
- [Developer's Guide](docs/developers.rst)
- [User's Guide](docs/users.rst)
- [Examples](https://opengeoscience.github.io/geojs/examples)
- [Tutorials](https://opengeoscience.github.io/geojs/tutorials)
- [API Documentation](https://opengeoscience.github.io/geojs/apidocs)

Support
=======
We would love to get your feedback and bug reports.  Please use GitHub issues.

Get Involved
============
We are open for collaboration. Kitware has been doing open source development
for the last 20 year and understands and appreciates what it takes to develop open
source software.

Related Efforts
===============
GeoJS has been used in various [Girder](https://github.com/girder) based applications such
as [Dansfield-App](https://github.com/Kitware/Danesfield-App) and [DIVE](https://github.com/Kitware/dive).
