All Projects → chrisrzhou → google-globe-trends

chrisrzhou / google-globe-trends

Licence: MIT license
Create beautiful and interactive Google Trends globe visualizations with ease

Programming Languages

javascript
184084 projects - #8 most used programming language
CSS
56736 projects
HTML
75241 projects

Projects that are alternatives of or similar to google-globe-trends

React Globe
Create beautiful and interactive React + ThreeJS globe visualizations with ease.
Stars: ✭ 167 (+406.06%)
Mutual labels:  earth, globe, io
Worldwindandroid
The NASA WorldWind Java SDK for Android (WWA) includes the library, examples and tutorials for building 3D virtual globe applications for phones and tablets.
Stars: ✭ 204 (+518.18%)
Mutual labels:  earth, globe
Explorer
WorldWindExplorer: A 3D virtual globe geo-browser app framework based on WorldWindJS, Bootstrap and KnockoutJS. Includes 3D globe and 2D map projections, imagery, terrain, markers, plus solar and celestial data.
Stars: ✭ 59 (+78.79%)
Mutual labels:  earth, globe
Openglobus
JavaScript 3d maps and geospatial data visualization engine library.
Stars: ✭ 199 (+503.03%)
Mutual labels:  earth, globe
Webglobe
基于HTML5原生WebGL实现的轻量级Google Earth三维地图引擎
Stars: ✭ 685 (+1975.76%)
Mutual labels:  earth, globe
Globe
Interactive ASCII globe generator
Stars: ✭ 440 (+1233.33%)
Mutual labels:  earth, globe
Worldwindjava
The NASA WorldWind Java SDK (WWJ) is for building cross-platform 3D geospatial desktop applications in Java.
Stars: ✭ 526 (+1493.94%)
Mutual labels:  earth, globe
Giojs
🌏 A Declarative 3D Globe Data Visualization Library built with Three.js
Stars: ✭ 1,528 (+4530.3%)
Mutual labels:  globe, io
Webworldwind
The NASA WorldWind Javascript SDK (WebWW) includes the library and examples for creating geo-browser web applications and for embedding a 3D globe in HTML5 web pages.
Stars: ✭ 628 (+1803.03%)
Mutual labels:  earth, globe
simple-world-map
A simple SVG world map with ISO 3166-1 annotations
Stars: ✭ 59 (+78.79%)
Mutual labels:  earth, globe
Unity3d Globe
Unity3D Implementation of Chrome Experiment WebGL Globe
Stars: ✭ 115 (+248.48%)
Mutual labels:  earth, globe
Geo Maps
🗺 High Quality GeoJSON maps programmatically generated.
Stars: ✭ 1,098 (+3227.27%)
Mutual labels:  earth
Himawari.js
Download real-time images of Earth from the Himawari-8 satellite
Stars: ✭ 1,763 (+5242.42%)
Mutual labels:  earth
Terrarium
Replica of the Earth in Minecraft
Stars: ✭ 117 (+254.55%)
Mutual labels:  earth
Himawari 8 Chrome
🛰 Experience the latest image from the Himawari, GOES, Meteosat, and DSCOVR satellites
Stars: ✭ 48 (+45.45%)
Mutual labels:  earth
Geokdbush
The fastest spatial index for geographic locations in JavaScript
Stars: ✭ 251 (+660.61%)
Mutual labels:  earth
Geocalc
Helper classes to calculate Earth distances, bearing, etc.
Stars: ✭ 88 (+166.67%)
Mutual labels:  earth
Himawari Bg
🌏 Set the latest image from Himawari 8 as your desktop background.
Stars: ✭ 81 (+145.45%)
Mutual labels:  earth
Ahrs
Attitude and Heading Reference Systems in Python
Stars: ✭ 75 (+127.27%)
Mutual labels:  earth
Sweet
Official repository for Semantic Web for Earth and Environmental Terminology (SWEET) Ontologies
Stars: ✭ 69 (+109.09%)
Mutual labels:  earth

🌎 Google Globe Trends

Create beautiful and interactive Google Trends globe visualizations with ease.

Overview

image

google-globe-trends is a JAMStack application that visualizes Google Trends with an interactive React + ThreeJS globe. Data is fetched during build time using the google-trends-api package. Globe visualizations are rendered using the react-globe package.

This project is inspired by the wonderful #metoorising project. With most interactive features supported by react-globe, the project aims to simplify building beautiful globe visualizations with Google Trends datasets.

Deploy an Instance

Deploy with Netlify

To deploy your personal Google Globe Trends instance, click on the Deploy to Netlify button below. You will be prompted to connect this instance to a Github repo. Follow through the steps and you should be able to view a working example with your own Netlify URL!

Deploy to Netlify

Configurations

To configure your instance, you should clone the Github repo and test locally:

git clone [email protected]:MY_USER_NAME/MY_GOOGLE_GLOBE_TRENDS_INSTANCE.git

cd MY_GOOGLE_GLOBE_TRENDS_INSTANCE
npm install && npm start

You can configure the globe visuals (e.g. globe texture, glow color, zoom behaviors) by editing the config.js file. For more resources on how to configure these options, please refer to the react-globe docs.

If you would like to render the Google Trends of another keyword, simply change the keyword field of the config file. To apply changes to the data, run the npm run build:data command.

You should now be able to test your changes locally with the npm start command. If they look good, you can commit the changes to your Github repo, and Netlify will redeploy the instance with these updates automatically!

Automate Data Updates

A really cool thing about Netlify is the ability to use build hooks. This provides you with a unique URL that you can use to trigger rebuilding the site. You can find this in the Build Hooks section for your Netlify project (e.g. https://app.netlify.com/sites/MY_GOOGLE_GLOBE_TRENDS_INSTANCE/settings/deploys). Go ahead and create a build hook and give it a meaningful name (e.g. 'daily-deploy').

You can now ping this build hook URL to rebuild the site. Services such as IFTTT or Zapier provide simple ways to automate and schedule simple jobs that you can use to hit the build hook URL. Below is an example of setting up an IFTTT applet that is scheduled to hit the build hook URL every midnight.

image

Author's Notes

Google Globe Trends is primarily meant to be an artistic and UI-focused experience to explore visualizing Google Trends data with an interactive React/ThreeJS globe. As a personal project, I wanted to learn how to abstract features and visual experiences in the metoorising project into modular components. I also wanted to explore JAMStack techniques of automating and scheduling data updates at build time with IFTTT and web hooks. This project will probably not be actively updated but can serve as a template for other projects to draw ideas from!

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].