All Projects β†’ HandsOnDataViz β†’ Leaflet Maps With Google Sheets

HandsOnDataViz / Leaflet Maps With Google Sheets

Licence: mit
Customize Leaflet maps with a linked Google Sheets template and GeoJSON data on GitHub

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Leaflet Maps With Google Sheets

Matplotlib Multilayer Network
small template code to create a multilayer network using matplotlib and networkx
Stars: ✭ 60 (-22.08%)
Mutual labels:  dataviz
Reaviz
πŸ“Š Data visualization library for React based on D3
Stars: ✭ 1,141 (+1381.82%)
Mutual labels:  dataviz
Ggpol
🌍 Parliament diagrams and more for ggplot2
Stars: ✭ 71 (-7.79%)
Mutual labels:  dataviz
Gpx Simplify Optimizer
Free Tracks Optimizer Online Service
Stars: ✭ 61 (-20.78%)
Mutual labels:  geojson
Google rat
A Remote Access Tool using Google Apps Script as the proxy for command and control.
Stars: ✭ 64 (-16.88%)
Mutual labels:  google-sheets
Mongoose Geojson Schema
Schema definitions for GeoJSON types for use with Mongoose JS
Stars: ✭ 66 (-14.29%)
Mutual labels:  geojson
Expenses
πŸ’°Expense tracker using Google Sheets πŸ“‰ as a storage written in React
Stars: ✭ 1,105 (+1335.06%)
Mutual labels:  google-sheets
Nivo
nivo provides a rich set of dataviz components, built on top of the awesome d3 and React libraries
Stars: ✭ 9,550 (+12302.6%)
Mutual labels:  dataviz
Indonesia Postal And Area
Indonesia Postal Code & Area (BPS)
Stars: ✭ 64 (-16.88%)
Mutual labels:  geojson
Eventdrops
A time based / event series interactive visualization using d3.js
Stars: ✭ 1,164 (+1411.69%)
Mutual labels:  dataviz
Firetable
Excel/Google Sheets like UI for Firebase/Firestore. No more admin portals!
Stars: ✭ 1,115 (+1348.05%)
Mutual labels:  google-sheets
Vue D3 Workshop
Workshop content material and excercises for Suncoast Developers
Stars: ✭ 63 (-18.18%)
Mutual labels:  dataviz
Magento2 Import Export Sample Files
Default Magento 2 CE import / export CSV files & sample files for Firebear Improved Import / Export extension
Stars: ✭ 68 (-11.69%)
Mutual labels:  google-sheets
Pygsheets
Google Sheets Python API v4
Stars: ✭ 1,116 (+1349.35%)
Mutual labels:  google-sheets
Luigi Warehouse
A luigi powered analytics / warehouse stack
Stars: ✭ 72 (-6.49%)
Mutual labels:  google-sheets
Geotools
Official GeoTools repository
Stars: ✭ 1,109 (+1340.26%)
Mutual labels:  geojson
Featureserver
An open source Geoservices Implementation
Stars: ✭ 66 (-14.29%)
Mutual labels:  geojson
Website Monitor
Website Uptime Monitor built with Google Apps Script
Stars: ✭ 76 (-1.3%)
Mutual labels:  google-sheets
React Fusioncharts Component
ReactJS component for FusionCharts JavaScript Charting library.
Stars: ✭ 73 (-5.19%)
Mutual labels:  dataviz
Geojson Geometries Lookup
⚑️ Fast geometry in geometry lookup for large GeoJSONs.
Stars: ✭ 68 (-11.69%)
Mutual labels:  geojson

Leaflet Maps with Google Sheets

Customize Leaflet maps with a linked Google Sheets template or CSV files and GeoJSON data on GitHub

Preview

Live links (replace with your own)

Create your own

See step-by-step tutorial in Hands-On Data Visualization https://handsondataviz.org/leaflet-maps-with-google-sheets.html

Geocode your address data with Google Sheets add-on

To geocode (find latitude and longitude coordinates), we recommend installing the free Geocoding by SmartMonkey add-on for Google Sheets. Insert your addresses in place of the samples in the Geocoding Details tab, then use Add-Ons > Geocoding > Geocode Details menu. Learn more in Hands-On Data Visualization https://handsondataviz.org/geocode.html

Geocoding

To finalize your map, you need to either:

  • Download each Google Sheets tab as a CSV file and upload into a csv subfolder in your GitHub repo
    • OR
  • Get your own Google Sheets API Key to insert into google-doc-url.js

See Steps G or H in the tutorial https://handsondataviz.org/leaflet-maps-with-google-sheets.html

Update your code for any pre-October 2020 maps before January 2021

If you used our code to create a map prior to October 2020, you will need to update your version before January 26, 2021 for it to continue to work. Google announced that it will migrate from Google Sheets API v3 to v4 in Jan 2021, and we updated our code to v1.2 on September 29th to address Google's changes.

Four options to update your code:

Option A: Use your existing code and pull your data from CSV files rather than a linked Google Sheet. This avoids the need for a Google Sheets API key, but does not take advantage of our other code updates.

  1. Go to your linked Google Sheet, and for each tab, File > Download in CSV format, and rename them this way: Options.csv, Points.csv, etc.
  2. Log into the web interface of your GitHub map repo.
  3. Create a new subfolder named csv in your GitHub repo, by selecting Add file > Create a file and typing in csv/. The forward slash indicates it is a folder, not a file.
  4. In your GitHub repo, upload each CSV file you created into this new csv subfolder.
  5. In your Github repo, open the google-doc-url.js file, scroll to the bottom of the page, and delete it. Now the code automatically searches for data in your CSV folder, rather than your Google Sheet. If desired, you can continue to use the Google Sheet to edit your map content and upload those changes to the CSV folder each time, or edit the CSV files directly.

OR

Option B: If you understand (or are willing to learn about) GitHub Desktop, use it to move copies of the newer code (index.html, scripts folder, style.css, etc.) into your repo via your local computer. In the google-doc-url.js file, copy and paste the Google Sheets API key that appears in the lower half of our code, but keep your own Google Sheets ID that appears in the upper-half of your code.

OR

Option C: If you originally "forked" a copy of our code, create a GitHub "pull request" to update your repo with our code revisions, including the Google Sheets API key. We recommend this option only if you understand (or are willing to learn about) GitHub pull requests, and can deal with resolving conflicts between your code and our updated code. Warning: Since this operation might overwrite some of your code, go to Code > Download ZIP to make a backup to your local computer.

  1. Log into the web interface of your GitHub storymap repository.
  2. Click Pull requests and click the green button for a New pull request.
  3. On the Comparing Changes page, use the menus to pull code into your repo from the original repo, named HandsOnDataViz/leaflet-maps-with-google-sheets. GitHub may warn that you cannot automatically merge the files, but proceed anyways.
  4. You may need to click the Resolve conflicts button on the next screen, which means you need to sort out which portions of your code to keep and which portions of our code to accept. Generally speaking, you should accept our updates for index.html, style.css, and most scripts.js, while keeping your own content for README.md, media, and geojson folder content. In the google-doc-url.js file, you should keep your own Google Sheet ID, but temporarily add our Google Sheets API key until you create your own. In GitHub, you can resolve code conflicts by deleting/keeping lines in specific files.

OR

Option D: Start over with a brand-new repo, and migrate your existing map content. Make a copy of our newer code by clicking the green 'Use template' button. Migrate any media folder or geodata folder content from your old repo to your new repo, by downloading to your local computer and uploading to GitHub. Reconnect your Google Sheet ID to the google-doc-url.js file in your new repo.

Credits (and licenses)

Developed by Ilya Ilyankou and Jack Dougherty with support from Trinity College CT. Inspired by Code for Atlanta mapsfor.us (2016) https://github.com/codeforatlanta/mapsforus (BSD-3-Clause)

We use Google Sheets API version 4, with these open-source components:

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].