I'm using heatmap layer from Google Maps to display a heatmap, however, I now have too many points and it stopped working, because browser cannot handle it anymore. I've found that they provide Fusion Tables, but they're also limited: to 100k rows, which is way too low. I need to render heatmap of milions or maybe even more points. I'd be perfect if my server can have some PHP script to render a heatmap, for example, once a day. And then a client from js will just download a preloaded heatmap (on the map like google maps, but may be different map too). Is this possible with some existing technology (can be commercial)?
Generating heatmap layer for milions of points
3.9k Views Asked by Makalele At
2
There are 2 best solutions below
2
Danmoreng
On
I use heatmap.js for visualization. It's really fast and can handle alot of points. Not sure though if 1.5 mil points will work.
What I can imagine is to use one of the Javascript solutions with node.js to prerender. A quick google search about 'heatmap js nodejs prerender' found me this https://github.com/substack/node-heatmap and this https://mango-is.com/blog/engineering/pre-render-d3-js-charts-at-server-side/
Related Questions in JAVASCRIPT
- Using Puppeteer to scrape a public API only when the data changes
- inline SVG text (js)
- An array of images and a for loop display the buttons. How to assign each button to open its own block by name?
- Storing the preferred font-size in localStorage
- Simple movie API request not showing up in the console log
- Authenticate Flask rest API
- Deploying sveltekit app with gunjs on vercel throws cannot find module './lib/text-encoding'
- How to request administrator rights?
- mp4 embedded videos within github pages website not loading
- Scrimba tutorial was working, suddenly stopped even trying the default
- In Datatables, start value resets to 0, when column sorting
- How do I link two models in mongoose?
- parameter values only being sent to certain columns in google sheet?
- Run main several times of wasm in browser
- Variable inside a Variable, not updating
Related Questions in PHP
- How to add the dynamic new rows from my registration form in my database?
- Issue in payment form gateway
- How to create a facet for WP gridbuilder that displays both parent and child custom fields?
- Function in anonymous Laravel Blade component
- How to change woocomerce or full wordpress currency with value from USD to AUD
- General questions about creating a custom theme Moodle CMS
- How to add logging to an abstract class in php
- error 500 on IIS FastCGI but no clue despite multiple error loggings activated
- Composer installation fails and reverts ./composer.json and ./composer.lock to original content
- How to isolate PHP apps from each other on a local machine(Windows or Linux)?
- Laravel: Using belongsToMany relationship with MongoDB
- window.location.href redirects but is causing problems on the webpage
- Key provided is shorter than 256 bits, only 64 bits provided
- Laravel's whereBetween method not working with two timestamps
- Implementing UUID as primary key in Laravel intermediate table
Related Questions in GOOGLE-MAPS
- Uncaught TypeError: google.maps.LatLng is not a constructor at init (script.js:7:13)
- MarkerInfoWindow doesn't hold the clicked marker position after list refresh in Compose Map
- The Polyline is not showing in flutter but the directions api is enabled and the current position is not updating
- Unsure what imports to use for Advanced Marker Element
- The problem is that it takes a long time to index web pages in emdadrodbar.ir?
- distance matrix api gives incorrect data
- How to display google maps in dark mode in a .NET MAUI (Android) app
- Couldn't import Google Map API
- google maps api - how to get location information /place_id from shareable links maps.goo.gl
- 'map-advanced-marker' component not found after upgrading @angular/google-maps
- How to Filter bus stops between Start and Stop BUS STOP?
- How to make pressing on marker fill in the textViews
- Google api nearbysearch how to filter data business_status
- Embedded google map throws net::ERR_BLOCKED_BY_CLIENT in chromium(Brave) browser
- Why the code shows only the header and footer of xml file?
Related Questions in HEATMAP
- HEATMAP AND PAIRGRID
- Age range to numerical values to calcutate Correlation of CD consumption with age range
- How to make a heatmap and the matrix for it?
- Fitted surface does not resemble the heatmap produced from the same data
- How to create a HeatMap of Australia
- a support to simplify a still written code about circular heatmap
- My heatmap is not printing all the values , its just printing the 1st row
- Missing categorical annotations in R pheatmap() despite no missing values in data
- Create a matrix/array with values in irregular order/shape
- Matplotlib plot not adhering to figure dimensions
- Heat map of an image using ReaNet
- A few formatting questions regarding WPF LiveCharts HeatSeries
- Heatmap using latitude and longitude coordinates
- Matplotlib Heatmap with Discrete Custom Colorbar
- Correlation and P-value matrix for two matrices
Related Questions in GOOGLE-FUSION-TABLES
- Google Fusion table alternative
- Turndown clarification: Errors in Maps JavaScript API v3.37 AND Before?
- Google promises that Fusion tables can be imported into Google Sheets but how?
- visualising data in Euclidean space rather than on a map
- google fusion pipeline not writing to any sink component
- Exporting NDVI Data with Google Earth Engine not working as expected
- Extracting band values of multiple points in GEE
- Migrating google maps api app from fusion tables to datastore + data layer
- How to access a Private Google Fusion table on a website that is live to display data on a Google Map?
- Multiple FusionTableLayer and Styling
- Setting vAxis to same scale on multiple charts on the same page
- TableFusion API NET Invalid Credentials [401]
- Google Maps fitBounds() zooms map very far out despite bounds being small
- TypeError: Cannot call method "getRange" of null. (line 25, file "Code")
- Importing Google Maps/Fusion Tables into PowerBI via ShapeFiles
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular # Hahtags
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
All you need is to pre-clusterize your points into smaller number of points and pass these groups to Google Maps as if it were your original points. So, if you had 3 nearby points with values 3, 5 and 10, you create one point with value 18 at weighted average of their coordinates. Do it for all your dataset and you will reduce it 3 times. Change 3 to any appropriate value to further reduce your dataset.
The easy way to cluster your data is to use geohashing[1]. Here is nice geohashing library for PHP[2]. You may calculate a set of geohashes of different precision for each of your points only once when adding, and then use desired precision to reduce your dataset using simple
GROUP BY. Example (meta):